dispeakとbouyomichanを使ってdiscordのチャンネルを読み上げさせた話

1. 前書き

最近,夜24時以降に会話ができないシンデレラ(?)になったので,boyomichanを使って声を出さずに音声通話をしていました.ただ,ゆっくり音声が聞き取りにくいという人もいたので,discordの特定のチャンネルのテキストを読み上げさせたいと思いました.

実装するためにいくつか記事を調べました.すると,どうもゆっくり音声をdiscordで出力するために必要なNETDUETTO(に付属するサービス)というものがあるらしいのですが,これの配布が終了しているらしく,代わりのものを使用しましたという話です.

自分があまり仮想サウンドドライバについて知らないのもあって,今回のは2端末使用する形になっていますので,もし参考にする方がいたらご承知おきください.

2. 全体の流れについて

使用するものは以下の3つです.

  • dispeak
  • bouyomichan
  • Virtual Audio Cable(仮想サウンドドライバ)

dispeakでdiscordの特定のチャンネルに投稿されたテキストをbouyomichanに受け渡し,それをVirtual Audio Cableを使用して出力から入力に変換して,discordのボイスチャンネルで出力されるようになっています.

3. 具体的な手順

以下の作業は,すべてタイピング用兼読み上げさせ用のサブPCで行う準備です.discordアカウントもメインPCとは別で作ってあります.

3.1. Virtual Audio Cableのインストール

Virtual Audio Cableはこちらのページからダウンロードできます.

ダウンロードしたら解凍して,VBCABLE_Setup_x64.exeを管理者として実行します.

3.2. bouyomichanのインストール

bouyomichanはこちらのページからダウンロードできます.

ダウンロードしたら解凍して,適当なフォルダにおきます.それから,BouyomiChan.exeを起動します.

f:id:SakanaTaurus:20210709162605p:plain

bouyomichanを起動したときの画面

そして,スパナマークの設定ボタンから,音声出力デバイスとしてCABLE Inputを選択します.(これでこのPCから出力される音声がすべて入力にまわるようになります)

f:id:SakanaTaurus:20210709162606p:plain

bouyomichanの設定画面

3.3. discordトークンの取得

次にdispeakのインストールと行きたいのですが,dispeakのような外部アプリから自身のdiscordにアクセスさせる場合,トークンというのを事前に取得しておかなければならないようです.(このトークンというものが他人に知られると,なりすまし等ができてしまうので注意が必要と記事で読みました.注意しましょう)

discordのトークン取得方法は色々あるみたいですが,自分は以下のサイトを参考にしました.詳細は被るので割愛します.

Discordの自分のアカウントのTokenを取得しよう!

ここでは□typingみたいなのがでてくると書いてありますが,自分の場合は□scienceみたいなのがあったので,それを選択してauthorizationの欄を見に行ったらそれでokでした.

discord起動してサーバーとかチャンネルクリックしないと□scienceみたいなの何もでてこないっぽいので,それだけ注意が必要そうです.

3.4. dispeakのインストール

いよいよ三種の神器のラストです.

dispeakはこちらのページからダウンロードできます.

自分はDiSpeakSetup-2.7.0-Alpha3.exeを使用しました.現在古いバージョンだと,対応していなくて使えないそうです(2021/07/09).新しいやつをインストールしましょう.

インストールが完了したら,設定をしていきます.

まず右上の設定を開いて,discordタブを選択します.ここで先程取得したトークンを入力することで,ログインができます.

次に,棒読みちゃんタブを選択します.一番上の基本設定で棒読みちゃんのパスを入力してあげます.

最後に,サーバー欄から棒読みちゃんに読ませたいサーバーとチャンネルを選択しておきます.

あとはdiscordにログインして,マイク入力をCABLE Outputにすればokです.

4. 実際の使い方

使い方についてはdispeakのページを見るのが一番はやいと思いますが,軽く自分がどのように使っているかを書いておきます.

自分はメインPCとサブPCでそれぞれ別のdiscordアカウントを使用していて,通話をする際は両方のPCでそれぞれボイスチャンネルに入ります.

次にdispeakを起動すると,棒読みちゃんを自動で起動してくれるので待ちます.そして,事前に設定した特定のチャンネルにテキストを送ると,それがサブPCのマイクから出力されます.

5. 最後に

この方法だとPCを2台利用する必要があるのですが,それは自分がサブPCの方で入力したかったからというのと,仮想サウンドドライバで出力を入力に変換するところを,どうやって一部の音声に絞ればいいかよくわからなかったからです.

このあたりが解決できれば1台利用でもできると思うので,1台でなんとかしたいという人はそんな感じのこと調べてみてください.そして記事にまとめておいてください.

少し調べたので追記しておきます.(2021/07/13)

6. 1端末でなんとかするとき

6.1. アプリごとのサウンドの設定

1端末でなんとかする場合,デスクトップ音声全体ではなく,棒読みちゃんの声だけをdiscordに流してやらなければなりません.そこで,アプリごとの出力の設定を行います.

まず設定からサウンドを開き,一番下までスクロールして,アプリの音量とデバイスの設定をクリックします.

f:id:SakanaTaurus:20210713112355p:plain

アプリごとの設定画面の開き方

そして,棒読みちゃんの出力欄のみをCABLE Inputに変えます.

f:id:SakanaTaurus:20210713114324p:plain

棒読みちゃんの出力の変更

これで無事,デスクトップ音声全体ではなく,棒読みちゃんの声だけが仮想サウンドドライバに(そしてdiscordに)流れるようになりました!

ちなみにこれだと棒読みちゃんの声が聞こえないので,次のようにすることで棒読みちゃんの声をdiscordに流しながら,自分でも聞くことが可能となります.

6.2. 仮想サウンドドライバの音を聞く

まず設定からサウンドを開き,右側にあるサウンドコントロールパネルをクリックします.

f:id:SakanaTaurus:20210713112210p:plain

サウンドコントロールパネルの開き方

次に,「録音」タブのCABLE Outputを選択し,プロパティを開きます.

f:id:SakanaTaurus:20210713112251p:plain

CABLE Outputの設定を開く

最後に「聴く」タブのこのデバイスを聴くにチェックを入れることで,仮想サウンドドライバに流れる音声は,物理スピーカー側にも流れるようになります.

f:id:SakanaTaurus:20210713112327p:plain

CABLE Outputの設定

参考記事

全体の流れ

discordのトークン取得

dispeakの使い方