読み上げBotドキュメント

うまく動かないとき

起きていることに近い項目から確認してください。どれにも当てはまらない場合は、このページのいちばん下にある問い合わせ方法を見てください。

症状から探す

声がまったく出ない/投稿しても反応がない

上から順に確認してください。多くはこのどれかです。

  1. AivisSpeechが起動しているか。閉じていると音声を作れません。
  2. コハク、または使う声を追加してあるか。声を1つも選べない状態だと失敗します。
  3. ボイスチャンネルに/connectでBotを呼んだか。
  4. /set_read_channelを設定したか。設定したチャンネル以外への投稿は読みません。
  5. 投稿先のチャンネルが合っているか。/show_read_channelで確認できます。
  6. FFmpegが入っているか。PowerShellでffmpeg -versionを実行して確かめます。
  7. Discord側でMessage Content IntentがONか。OFFだと投稿の中身を読めません。

それでも分からないときは/statusを実行してください。どこで止まっているかの手がかりになります。

起動しない/Bot is ready!が出ない

Botを起動したターミナルに出ているメッセージが手がかりになります。

  • token.txtの場所と中身。Bot本体と同じフォルダにあり、トークンだけが1行で書かれている必要があります。TOKEN=や引用符が付いていると失敗します。
  • Discord側の設定。Message Content IntentがOFFのままだと、起動しても読み上げできません。
  • 部品の入れ忘れ。導入手順の5の3行を、Botフォルダで開いたターミナルから実行したか確認してください。
  • 実行したフォルダ。tts-bot-alpha6.pyと同じ場所で開いたターミナルから実行します。

ある文章のときだけ、読まれずに次へ進む

ひらがなの「すらっしゅ」のように、AivisSpeech側で音声を作れない文字の並びがあります。この場合は「スラッシュ」のように書きかたを変えてください。

AivisSpeechが音声のもとを作る段階で止まるため、Bot側で文章を分けたり、やり直したりしても解決しないことがあります。よく使う言葉なら、/add_dictで読みかたを登録しておくと避けられます。

読み上げが速すぎる/発音やイントネーションが変

1回に読む文字数の上限が大きいときに起きやすくなります。/set_limitで100〜200文字に戻してください。

読む速さ、発音、イントネーションは音声モデルごとに違います。同じ文章でもモデルを変えると結果が変わります。

使いたい話者が選択肢に出てこない

AivisSpeechにたくさんの音声モデルを入れている場合、Discordの選択画面には先頭25件までしか表示されません。これはDiscordの選択メニューの仕様で、Bot側では増やせません。

使わない音声モデルをAivisSpeechから外すと、選べるようになります。

記号や絵文字が、書いたとおりに読まれない

記号や絵文字は、そのままでは音声を作れないことがあるため、読み上げ用の言葉に置き換えるか、省いています。記号だけの投稿や、音声にできない文字だけの投稿は読み飛ばします。

URL、メンション、添付ファイルも、そのまま読まずに短い言葉へ置き換えます。

複数のサーバーに入れたら動きが変になった

このBotは1つのDiscordサーバーで使う前提で作られています。同じBotを複数のサーバーへ同時に入れると、設定や読み上げの状態が意図しない動きになることがあります。

サーバーごとに使いたい場合は、Discord側でBotを別に作り、フォルダも分けて動かしてください。

ひととおりの確認

FFmpegが入っているか

ffmpeg -version

バージョンが表示されなければ、導入手順の2をやり直すか、PowerShellを開き直してください。

token.txt

Bot本体と同じフォルダにあり、トークンだけが1行で保存されていることを確認します。

Discord側

  1. BotがDiscordサーバーに入っている
  2. Message Content IntentがONになっている
  3. ボイスチャンネルへの接続と発言の権限がある
  4. /connectを実行した
  5. /set_read_channelを設定した
  6. コハク以外を使うなら/set_speakerを設定した

状態の確認

ふだんは必要ありません。読み上げが始まらないときは、まず/statusを実行し、それでも分からないときだけ/status_detailを使ってください。

直せない制限

Bot側では解決できないと分かっている点です。

できないこと理由
長文を自然に読ませる文字数が多いと、AivisSpeech側の音声の作りかたによって速さや発音が崩れます。上限を100〜200文字にして使ってください。
特定の文字の並びを読ませるAivisSpeechが音声のもとを作る段階で失敗するため、Bot側の分割や再試行では避けられない場合があります。
26件目以降の話者を選ぶDiscordの選択メニューが先頭25件までしか表示できません。
記号や絵文字をそのまま読む安全に音声を作るため、言葉へ置き換えるか省いています。
複数サーバーでの同時運用1サーバー向けに作られているため、動作を確認していません。

サポートの範囲

個人が趣味で配布しているものです。次の範囲であれば、分かることを回答します。

見る

配布中のα6/Windows 11/1つのサーバーでの利用/このサイトの手順どおりに作った環境/AivisSpeechをlocalhost:10101で使う構成。

見られない

複数サーバーでの同時運用/Windows 10・Linux・macOS/α5以前/Bot本体を書き換えた環境/接続先を変えた構成/このサイトと違うPython環境や起動方法。

記載の環境での基本的な導入と動作確認が対象です。すべてのPC構成、音声モデル、サーバー設定で同じように動くことを保証するものではありません。Linuxで動かした実績はありますが、導入と起動の案内はしていません。

問い合わせ

次の情報があると、原因を絞り込みやすくなります。

  • 使っている配布版(α6など)
  • Windows 11のバージョン
  • PythonとAivisSpeechのバージョン
  • 使っている話者とスタイル
  • 問題が起きるまでにした操作
  • ターミナルに表示されたメッセージ
  • /statusまたは/status_detailの表示内容
  • 問題が起きた文章の例
書きかたの例
使用版:α6
OS:Windows 11
Python:3.13.12
発生した操作:/connect のあと、読み上げチャンネルへ文章を投稿
発生した問題:音声が出ず、次の文章へ進んだ
再現性:同じ文章で毎回発生

問い合わせ用テンプレート/セキュリティ報告用テンプレート

質問・意見
contact☆twilight-relay.com(☆を@に置き換えてください)
セキュリティに関する連絡
security☆twilight-relay.com(☆を@に置き換えてください)

トークンやbot.dbは送らないでください

token.txtとbot.dbには、あなたの環境だけの情報が入っています。問い合わせに添付しないでください。

安全のための注意

Discordのトークンが他人に知られると、あなたのBotを自由に操作されます。次のものを公開しないでください。

  • token.txtそのもの
  • トークンが写ったスクリーンショットやターミナルの画面
  • トークンを含む設定ファイル

知られたかもしれないときは、Discord Developer Portalでトークンを作り直し、token.txtを新しいものに書き換えてください。