Discord 読み上げ Bot

VOICEVOX・AivisSpeech・COEIROINK の3エンジンに対応した Discord VC 読み上げ Bot。ユーザごとの音声切り替えとサーバー辞書を備え、Docker Compose 一発で起動できる。

公開日: 2026/05/24

  • Python
  • discord.py
  • VOICEVOX
  • AivisSpeech
  • COEIROINK
  • Docker

Status: 運用中

Discord のボイスチャットで、テキストチャンネルの発言を読み上げる Bot。

VC で遊んでいるとき、マイクを使えない(使わない)メンバーの発言が流れてしまうのが課題だった。
既製の読み上げ Bot もあるが、複数音声エンジンを同じ VC で同時に利用したいため開発した。

できること

  • 参加中の VC に接続し、複数のテキストチャンネルを読み上げ対象にできる
  • ユーザごとに読み上げ音声を切り替えられる — VOICEVOX / AivisSpeech / COEIROINK の3エンジンから話者を選べる
  • サーバーごとの辞書で固有名詞や癖のある単語の読み方を調整できる
  • /say で任意のテキストを任意の声でその場で読み上げ

実装のポイント

  • 3つの音声合成エンジンをそれぞれコンテナとして立て、Bot からは共通のインターフェースで扱う構成。エンジンの追加・差し替えがしやすい
  • 利用可能な話者一覧は一定間隔で自動リフレッシュし、エンジン側のモデル追加に追従する
  • 話者毎の音量のノーマライズを行い、エンジンや話者による音量の違いを吸収する
  • CPU 用と GPU 用の Docker Compose を用意し、環境に合わせて選べる
  • 停止猶予を設定し、再起動やデプロイの際も VC からきれいに切断してから終了する
  • webhook による起動・終了・エラー通知つきで、放置運用でも状態がわかる

身内のサーバーで日常的に稼働している、いちばん「道具」として使われているプロジェクト。

← プロジェクト一覧へ