Discordのチャットを棒読みちゃんで読み上げてくれるツールを作ったよ

たぶん3番4番煎じぐらい。探せば幾つかあるけど、私が欲しい機能(サーバやチャンネルを指定してミュートにする、とか)が無かったので作りました。
https://github.com/micelle/dc_DiSpeak
ソースコード見れば分かるけど「electron」を使ってるのでファイル容量が重たいです(120Mbぐらい?)。それでも興味があればダウンロードして触ってみてください。
詳細についてはwikiをご参考頂ければと思います。説明書、みたいなものですので…
ときどきハッシュタグ付きのツイートをするかも知れません。
https://twitter.com/hashtag/%E3%81%A7%E3%81%83%E3%81%99%E3%81%B4%E3%83%BC%E3%81%8F?f=tweets&vertical=default
それでは。
(記事を書いた理由?GitHubだけじゃ検索にヒットしないからね!!!)
(要望はこの記事のコメントでも良いし、リプライ送ってもいいよ!!)
流石に情報量少なすぎるので追記
なんていうソフト?
「でぃすぴーく」っていいます!
由来は「Discord」「Speak」をくっつけただけです!
なので英語表記も「DiSpeak」です!
使い方はどうすんじゃ?
色々書きたいけどWikiが最新なので、こっちを見るのじゃ!!
基本的には「ダウンロード」して「設定」をみればわかるようにしてます!それでもわかんないときはコメントしてくれ。Wikiを更新します!!
更新された分かるの?
v1.1.0からバージョン確認機能が付きましたので、お知らせが出ます。なおダウンロードおよび更新は手動でお願いします。
何か思いついたら書いていきます…
ディスカッション
コメント一覧
連帯まではできたのですが、棒読みちゃんを起動していざ読み上げてもらおうとすると
エラーが発生しました
read ECONNRESET
この表示が出てきて読み上げされません
自分で思いつく解決策は試したのですが解決できず、いろいろ調べましたが自分では打つ手なしです
何が原因かわからないので思い当たるものがあれば教えていただきたいです
このエラーが出る理由ですが、DiscordのAPIに接続できない時に出るエラーのようです(discord.jsというモジュール(≒プラグイン)側で出てくるエラー)。
discord.jsのIssus(質問とか不具合を報告するページ)で調べて見ましたが、コレといった回答が見つからず、対応としては『DiSpeakの再起動』『パソコンの再起動』『ネットワークの再起動』『Tokenを再発行してみる(Discordからログアウトして再ログイン?)』あたりしか思いつきませんでした…
あまり多発するエラーではないので、正直私にもどうしたら直るか分からないところです…
トークンを取得するために
Storage > Local Storage > https://discordapp.com このページまでは開けたのですが肝心のトークンが見つけられませんでした ほかに トークンを取得する方法はないでしょうか?
私も同じ現象でしたが、一度パスワードを変更したらポロっと当該の場所にtokenが出現しました。(情報源は「パスワードを変更すればトークンもリセットされるよ」っていうDiscordの公式ツイッターアカウントの書き込み)
多分これでいけるんじゃないでしょうか
返信ありがとうございます パスワードの変更を試してみたのですが変化がありませんでした
メールアドレスの変更で更新がかかればと思い試してみましたがメールアドレスだけ変わってほかに変化がありませんでした
またディスコードの再インストールなども試してみたのですが変化がありません
引き続き解決策を探していこうと思っています
貴重な情報ありがとうございました
無事解決致しました 協力してくださった方本当にありがとうございます WEBのDEVELOPER PORTAL で試したところトークンが表示されました
ももたまさん 匿名さん
tokenが見つからないことがあるんですね…
アプリケーション版だと確認できなかったのですが、Web版( https://discordapp.com/login )だと確かにtokenが表示されないですね(今回ので初めて知りました)。
今回はどちらでしょうか。情報頂けると助かります!
ちなみに、Web版であれば以下の方法で見ることが出来ました。
もし同じ現象の方がいれば、こちらお試しください…!
(あとでWikiにも追記します。また火狐の場合もチェックしてみますね)
(返信ボタンが見当たらなかったのでこちらに)
私はアプリケーション版でtokenが見当たりませんでした。(というか今もう一度見たらやっぱり消えてました。)
作者様のWeb版での表示方法とほぼ同じ様にデベロッパーツールを表示した状態のままログアウト→再ログインすればアプリ版でも表示されした!パスワード変更かと思ったのですが単にログアウト/ログインでいいみたいです。
そしてその状態から一度完全にDiscordを終了(システムトレイからQuit Discord)するとやっぱりtokenが消えてたので、(環境によっては)初回ログイン時に生成されたtokenが次回の自動ログイン時に消えてしまう?ようです。
匿名さん
(返信ボタンでないのは返信の返信の返信…ってなってると起きるみたいですね。WordPressの仕様かな?調べてみます)(最大10個まで返信できるようにしました。もし表示されないときはキャッシュ削除して頂けると助かります…っ!)
token出てこない問題、なんとなく原因わかりました。
アプリでもWebでも以下の操作を行わないとtokenが消えてしまうようですね…(アプリ版の例を記載します)
Ctrl + Shift + I
でデベロッパーツールを表示Ctrl + R
で画面更新を行うデベロッパーツールを閉じて再度ツールを起動するとtokenが消えてるあたり、ツールを起動させた状態で行わないとダメみたいですね…(なんか仕様変わったのかな?以前はそんなこと無かった気がするんですけどねえ)
ちなみに「開発モード」はとくに関係なかったです(関係あるかも!?と思い色々弄ってたのに無駄でしたw)。
【追記 13:32】
あ。Webでもログアウトしなくても良いみたいです。
デベロッパーツールを表示して更新するだけで済みますね。
サーバーやチャンネル毎に読み上げのホワイトリスト・ブラックリストを設定できますが、
ユーザーID毎にホワイトリストまたはブラックリストの設定、
もっというと、自分だけのチャットのみ読み上げ対象にすることは可能でしょうか?
ご検討宜しくお願いします。
野良犬 さんへ
なるほど、その発想はなかったです…
ちょっと組み込んでみようと思います!!(設定が多くなりそうですがw)
ご返信ありがとうございます。
本当はDiscord側がSkyBejeというソフトのように送ったチャットを
クリップボードに送る機能が備わっていればよかったのですが…。
汎用性ありそうなのは、ユーザーIDで管理するのがよさそうかな、と思いました。
(自分のIDだけホワイトリストにいれるetc…)
どのようなかたちで実装していただいて大丈夫です。
気が向いて、尚お時間あるときで構いませんので
宜しくお願い致します。
先日見つけてボイスロイドと連携して使わせてもらってます
質問なのですがコメントの文字数が多すぎると以下略となりますがその文字数制限を設定で変えることはできないのでしょうか?
ターミナル3さんへ
そちらは棒読みちゃん側の「制限文字数」設定を変更すれば解決します。
【棒読みちゃん 制限文字数】とかでぐぐって貰えれば設定方法載ってるサイトがいっぱい出てくるはずなので、それらを参考に弄ってみてください。
素早い回答ありがとうございます!
無事に設定を変更することができました
棒読みちゃん側で設定できたとは・・・
もう少し調べてから質問するべきでした
みせるさんありがとうございました!
最近此方のソフトを見つけて、Discordのグループでゲームする時、ミュートのメンバーとのVCができ、Youtube Liveで配信をする時も、会話が音声として流せるので非常に重宝しています。
そこで要望なのですが、Youtube Liveの配信での棒読みちゃんのコメントの読み上げと、此方のDiscordのチャットの読み上げとで音程や速度などを変えれたらいいなと思うのですが、此方のソフトの方で、タグを挿入して一時的に音程やなどを変えられるように出来ないでしょうか。
やまゆくさんへ
その想定はあります。(棒読みちゃんへ読ませる文字列のテンプレートを決められる…みたいな)
ただ、いつ実装できるかは不明なのでのんびり待って頂けると助かります…
(´・ω・`)そしてお返事遅くなり申し訳ないっす
返信ありがとうございます!
文字列のテンプレートが決められる機能とは、より自由度が高くなりそうですね。
実装が楽しみです。それまでのんびり待とうと思います。
お忙しい事と存じますが、しっかりと休息も取りつつ少しずつでいいので頑張ってください!
棒読みちゃんで読み上げてはくれるのですが、通話中の相手に棒読みちゃんの声が聞こえていないようです。
設定は概ねwikiの通り、読み上げは自分のチャットのみ読み上げるよう設定しています。
何か対策はありますか?それとも元から相手には聞こえないのでしょうか…
DiSpeakというより、棒読みちゃんの質問ですね!
あくまで「棒読みちゃん」は『テキストを音声化して再生するだけ』ですので、聞えるのはあなただけになります(=通話相手には聞えない)。
もし聞かせたいならステレオミキサー(仮想ミキサー)をウマく使うといいかもしれませんが、そちらについてはサポートできかねます。もしかしたら「棒読み マイク 代わり」とかググると情報出てくるかもしれないですね。
成程、そうだったのですね。丁寧なご返答ありがとうございます
最近見つけて便利で使わせて貰っています。
要望なのですが、起動した後に自動で読み上げ開始、最小化でタスクトレイに格納の機能があると更に使いやすく便利になるのではないかと思います。
実装可能であればぜひ検討よろしくお願いします。
匿名さんへ
自動読み上げ、タスクトレイのご要望ありがとうございます。
こちら実装に向けて準備しておりますので、お待ちください…!
(ちょっと色々やりたいこと山積みなので時間掛かっちゃいそうですが)
お世話になっております。
でぃすぴーくのお陰でdiscordがさらに楽しくなりました。
少しおうかがいしたいのですが、最新バージョン(1.5.0)にて、サーバー名がコメントごとに必ず読まれる仕様になりましたがそれは意図的なものでしょうか?
できれば読まれないようにしていただきたいと思いました。
あと、送信者の名前を読ませない機能が追加されたとの事でしたが、設定項目の中にありません…。
お忙しいかとは思いますが、お時間ある時にお返事いただけたら嬉しいです。
あゆむさんへ
意図してないです。無意識でした(というか、以前どうなっていたか自分ですら覚えてないレベルにガバガバです。申し訳ないです…)。v1.6.0で読む・読まないを設定できるようになりましたので、こちらお使い頂けると嬉しいです… (∩´﹏`∩)
https://github.com/micelle/dc_DiSpeak/releases/tag/v1.6.0
あと名前の読み上げ設定もv1.6.0から追加されていますのでよしなに…
こんにちは。
お忙しいところ、素早い対応大変感謝しております!
1.6.0に更新させていただいて、鯖名読み上げなしと、ニックネームの読み上げの選択ができるようになったこと確認できました。
とても快適になりました。ありがとうございました!
こんにちは
ゲーム画面から目が話せないときにすごく役に立ちます。
もしよければ、オプションでサーバーの名前を読み取る機能をオン・オフ切り替えできるようにしてほしいです。
匿名 さんへ
v1.6.0で「サーバー名」の読み上げオフ機能追加しました。
「基本設定>チャンネル」で設定できます ( ・ㅂ・)و
https://github.com/micelle/dc_DiSpeak/releases/tag/v1.6.0
(完全コピペ。てへっ)
サーバによって鯖名を読み上げる・読み上げないの設定は面倒くさいのでしてないです…
ごめんなさい ><
こんにちは
素早い対応感謝です!
通話上に棒読み音声を流して聞き専チャットを支援することに使わせていただいてます
1.6.0から名前、サーバーを文章とつなげて読むようになっています。
読み上げ時、名前(サーバー)と文章の間に区切りがありません。
こちら修正してv1.6.1としてリリースしました!!
https://github.com/micelle/dc_DiSpeak/releases/tag/v1.6.1
とても素早い対応本当にありがとうございます!
バージョン1.5.0を使わせてもらってます。
棒読みちゃんの教育機能があるおかげで本家の読み上げより便利で気に入っています。
要望なのですが、読み上げの際にサーバー名も一緒に読み上げるのをオフにできる機能をつけれないでしょうか?
当方動いてるサーバーが一つしかないので、サーバー名を読み上げなくても把握できるのです…
検討よろしくお願いします!
ぽんちょ さんへ
v1.6.0で「サーバー名」の読み上げオフ機能追加しました。
「基本設定>チャンネル」で設定できます ( ・ㅂ・)و
https://github.com/micelle/dc_DiSpeak/releases/tag/v1.6.0
ありがとうございます!
ここに書くのもどうなんですが、気になったことがあるので1つ
https://gyazo.com/65786ce7db108f76c9251b6bb598b0d0
ユーザーが書いた絵文字は普通に絵文字として出力されるのですが
Botが書いた絵文字はなぜ (スタンプ) になってしまうのでしょうか
同じように絵文字として出力してもらえればなぁと思いました
それ以外はすごい使いやすいです!今後も頑張ってください!
かれんさんへ
Botが書いた絵文字が「(スタンプ)」になる理由ですが…
例えば?という絵文字を使いたいとき、普通の人は「?」をコピー&ペーストで使うと思います。
ただ、Discordではコピー&ペースト以外にも「:hugging:」と入力することで?が表示されるのです。
そして「でぃすぴーく」では「:ほげほげ:」を「(スタンプ)」と置き換えているので、そのような現象が起きちゃっています。
「:hugging:」を「?」にすること自体は楽ちんなんですが、ただ絵文字の量が膨大で対応したくないのが本音…(絵文字がどれだけあるかは→ https://emojipedia.org/ を見え貰うと分かるかと思います)
ちょっと良い方法がないか検討はしてみようと思います!!
あ。ちなみにサーバ独自の絵文字は「(スタンプ)」のままですのであしからず…
でぃすぴーくを動画にて紹介させていただいてもよろしいですか?
紹介しちゃってください!(うれしい!!)