概要
Discordをローカルのきりたんに読み上げて欲しいのでbotを作りました。
東北きりたん+SeikaCenter+このbotを動作させる状態になります。
ローカルでの発声が不要なら喋太郎botがオススメです。
環境
Windows 10
python 3.7 for windows / VOICEROID+ 東北きりたん EX / SeikaCenter
用意
-
証明書インストール
Windowsでdiscord.pyを使うと証明書エラーが出る場合があるので
こちらの記事を参考にDiscordの証明書をあらかじめインストールします -
Botの登録
Pythonで簡単なDiscord Botの作り方を参考にBotを作成して動作テストします -
seikasayの配置
SeikaCenterに付属のseikasay.exeを動作テスト後、botと同じ場所にコピーします
botからSeicaCenterの呼出し、発話
botのメッセージ処理部分で以下のように発話させます。
元のきりたん音声では小さいので -volume 2.0 (最大値)にしています
import subprocess
async def on_message(message):
# メッセージ送信者がBotだった場合は無視する
if message.author.bot:
return
# メッセージ送信元チャンネルが特定のチャンネルidだった場合
# seikasayできりたんに喋らせる
if message.channel.id == 581983733384621 :
cmd = 'seikasay -cid 1700 -volume 2.0 -t '+ message.content
returncode = subprocess.Popen(cmd)
おまけ:ショートカット作成
コマンドプロンプトから起動するのは使い勝手が悪いので
新しいショートカットを作成して「リンク先」に
cmd.exe /c python よみあげきりたん.py
のように記入して作成します。
ショートカットからフォントやサイズをいじっておくと使いやすいと思います。