Discordと棒読みちゃん

2021年12月7日

じめに

最近、同じゲームをする仲間が増えたのでDiscordというボイスチャットソフトを使う機会が増えました。

でも。参加者全員がマイクで美声を発してくれたらこのソフトだけでグループトークが成立するのですが、家庭の事情等々でマイクを使えない方もおられます。その場合グループトークの音声はヘッドフォンで聞こえますが、その方からの情報発信はグループへの文字チャットのみになります。しかし、ゲームをしているメンバーの殆どは、パソコンモニタのフルスクリーンにゲーム画面を表示しているのでDiscodeの文字チャットが見えません。

そこで、よく生放送などで視聴者からのコメント入力を音声で流す棒読みちゃんというソフトを使用して、Discordに流れる文字チャットを音声化してグループトークに流してゲーム中のみんなで聞く方法を試してうまくいったようなので勿忘草に残しておきます。
しかけ自体は、ほかの用途にも使えるかなーと思います。

環境

  • デスクトップPC(Windows10)
  • ヘッドセット(ゼンハイザーGAME ZERO)
  • 7.1chUSBオーディオアンプ (ゼンハイザーGSX 1000)

※ゲーム内で使用するサウンドにヘッドセットの7.1chが使用できることを重視しています。

使うもの 

    • Discord(ゲーマー向けの音声通話・VoIPフリーソフトウェア)
    • でぃすぴーく(Discordの新着メッセージを棒読みちゃんに渡してくれるオープンソースソフトウェア)
    • 棒読みちゃん(日本語の音声合成で読み上げを行なうフリーソフトウェア)
  • Voiceroid Talk Plus(色々な音声合成ソフトと連携するためのプラグイン)
  • VOICEROID+ 東北きりたん EX(有料)
  • Voicemeeter(無料で使える寄付ウェアの仮想ミキサーソフトウェア)
  • NETDUETTO(ネットセッションができるヤマハ提供のフリーソフト)
    サービス終了し、SYNCROOMに変わりました。こちらでは本来の用途で使用しておりませんので代替手段となるか不明です。

※Discordのでぃすぴーく用botの作りかたはネットに沢山情報がありますのでググってみてください。

試したこと

  1. Discordと棒読みちゃんをでぃすぴーくで連携
  2. 棒読みちゃんとVOICEROIDをVoiceroid Talk Plusで連携
  3. VOICEROIDの出力をVoicemeeterに送る
  4. 自分のマイク音声をVoicemeeterに送る
  5. Voicemeeterでミックスする
    (VoicemeeterのBUS-Bのみ使用)
  6. Discordのマイク入力をVoiceMeeter Outputに設定
  7. Discordの出力はデフォルトのまま

設定イメージ

参考(Voicemeeter)

今回はシンプルな仮想ミキサーVoicemeeter(≠Banana)を使用しています。
以下の画像のIN3にVOICEROIDの音声を入力し、IN1のマイクとミックスしたBUS B(Voicemeeterのアウトプット)の出力をDiscordの入力に使用しました。

引用(Voicemeeter documentation)

その他いろいろ苦闘中

  • そもそもNETDUETTOは必要なの?(サービス終了となりました)
    ⇒ OUT_Aにゲーム音まで流れてしまったので、とりあえずVoicemeeterのダミーの出力先として使ってます。
  • 起動時にゼンハイザーGSX1000が有効になっていない事がある。
    ⇒ ゼンハイザーGSX1000はWindows10との組み合わせでは起動に癖があることがわかりました。
    ・GSX1000を使用する場合はWindows10の高速スタートアップとUEFIのFast Bootをオフにした方が安定している。※GSX1000はOS起動後、数秒してから再度認識が行われ正常に起動する。
    ・ゼンハイザーのファームウェアアップデータはGSX1000には対応していない。
    ・起動時にポップノイズが入るので良いスピーカーを繋ぐ場合は要注意です⇒MACKIE ( マッキー )社のBig Knob Passiveを使ったり…とポップノイズ対策をしていましたが、結局ポップノイズを発する仕様自体が気に入らないのでGSX1000はゲーム仲間にあげました。
  • Voicemeeterのマイク入力には少しサーノイズが乗るみたい。

もう少しスマートな方法があればTwitterで教えていただけるとうれしいです。