MinecraftのチャットをIDごとにVOICEROIDに読み分けさせる方法覚え書き

創掘祭でどうマイクラチャットを読み上げるか課題が浮上。バニラ鯖とspigot鯖ではチャットログの形式が若干異なるため既存のツールでは読み上げがおかしくなる。自分でアプリを作ったりはできないので、既存のものを組み合わせなんとかしている感じ。

あくまで自分用のメモなので、この通りにいかなかったとしても責任は負いません。

準備するもの

Minecraftサーバ側の設定①

spigotはBuildTools.jarで各自ビルドする。
eulaとかいつもの設定いろいろする
pluginsにDiscordSRVのjarファイル入れてリロード
configファイルいじるけど、その前にdiscordのbot作る準備に移行

Discord側の設定と情報取得

web側のdiscordからデバロッパーツール入って、アプリケーション作成する。

アプリのクライアント鍵をメモしておく

入れたいサーバに専用のチャンネル作って、そのチャンネルIDを取得しておく

OAuth2 URL作成のscopeから「bot」、パーミッションでAdmin付けて(必要なら細かく設定)とやるとURL生成されるのでそれをブラウザに貼り付け、botを招待しておく


Minecraftサーバ側の設定②

configを開いて、クライアント鍵やチャンネルIDをしかるべき場所に貼り付ける(説明はファイル自体にしっかり記載されている)

サーバをリロードして、configを反映させる

Dispeakの設定

Dispeakからdiscordにログイン、読み上げたいチャンネルだけ読み上げ設定をオンにする

チャット部分だけ読み上げるように棒読みちゃんの読み上げテンプレート変更

棒読みちゃんとはあらかじめ連携させておく

棒読みちゃん&VoiceroidTalkPlusの設定

棒読みちゃんにVoiceroidTalk Plus入れるのは通常通り。

VOICEROIDで読み上げたいぶんだけカスタムプリセット作る。

読み分けしたいMinecraft IDをカスタムプリセットのコマンドのところに入れる(アンダーバーなど付いていたら、\でエスケープする)

これで読み上げてくれるはず。

課題

起動させるソフトがDispeak・棒読みちゃん・VOICEROID2とちょっと多め。

声だけで区別できるかといえば微妙?本当はマイクラIDも読み上げさせたい

VOICEROID2だけでなく、CeVIOやEXなどが混ざる環境では読み分けできないかもしれない