導入手順
Windows 11へAivisSpeech Engine対応の読み上げBotを導入する手順です。上から順番に作業してください。
LinuxおよびWindows 10は、この手順のサポート対象外です。
STEP 1AivisSpeech Engineを用意する
AivisSpeechをインストールし、起動します。このBotは同じPCで起動しているAivisSpeech Engineへ接続して音声を生成します。
初期話者「コハク」をインストールする
Botの初期話者はコハク、初期スタイルはノーマルです。コハクはAivisSpeechのGUIモデル一覧に最初から含まれていません。
Botを初めて起動する前に、AivisHubからコハクのAIVMXをダウンロードし、AivisSpeechへインストールしてください。コハクをインストールせず、別の話者も選択していない場合は、読み上げ時の音声生成に失敗します。
モデルのライセンスと利用条件は、AivisHubの配布ページで確認してください。
Botの初期接続先はlocalhost:10101です。コハク以外を使用する場合は、使用する音声モデルをAivisSpeechへインストールし、Bot起動後、読み上げ前に/set_speakerで話者とスタイルを選択します。
STEP 2FFmpegを導入する
PowerShellを開き、次のコマンドを実行します。
winget install --id Gyan.FFmpeg -eインストール後はPowerShellを開き直し、次のコマンドで確認します。
ffmpeg -versionバージョン情報が表示されれば完了です。パッケージが見つからない場合はwinget search ffmpegで候補を確認してください。
STEP 3Pythonを用意する
Python 3.12または3.13のWindows embeddable package(64-bit)を使用できます。通常のインストール版Pythonでも動作しますが、この手順ではBot専用の環境として分けやすいEmbedded版を使用します。
Python 3.13.12を使った導入手順例
この例ではPython 3.13.12のWindows embeddable package(64-bit)を使用します。別のPython 3.12/3.13系を使用する場合は、ファイル名を使用するバージョンに読み替えてください。
- Python 3.13.12の配布ページから
python-3.13.12-embed-amd64.zipを取得します。 - ZIPを任意の作業フォルダへ展開します。後のSTEP 4で、Botフォルダ内の
pythonフォルダへ中身を配置します。 python313._pthを開き、次の内容にします。
python313.zip
.
Lib
Lib\site-packages
import site
pipを導入する
pip公式のget-pip.pyを開き、ブラウザの「名前を付けて保存」(Ctrl+S)を使用して、ファイル名をget-pip.pyとして保存します。
保存先はpython313._pthと同じPythonフォルダです。ファイル名の末尾が.txtにならないようにしてください。
python-3.13.12-embed-amd64
├─ python.exe
├─ python313.dll
├─ python313.zip
├─ python313._pth
└─ get-pip.py
Pythonフォルダを開き、フォルダ内の何もない場所を右クリックして「ターミナルで開く」を選択します。開いたターミナルで次を順番に実行します。
.\python.exe .\get-pip.py
.\python.exe --version
.\python.exe -m pip --version確認表示の例:Python 3.13.12
STEP 4Botファイルを展開する
ダウンロードした配布ZIPを新しいフォルダへ展開します。旧版のフォルダへ上書きしないでください。
例:
C:\AivisTTSBot
Windows Embedded版を使う場合は、展開したBotフォルダ内にpythonフォルダを作り、STEP 3で準備したPythonフォルダの中身をすべて配置します。
フォルダ構成例
C:\AivisTTSBot
├─ tts-bot-alpha6.py
├─ global_replacement.db
├─ requirements-base.txt
├─ requirements-security-override.txt
└─ python
├─ python.exe
├─ python313._pth
├─ python313.zip
├─ get-pip.py
└─ Lib
上記は配置例です。別の場所へ展開した場合は、実際に使用しているBotフォルダへ読み替えてください。
主なファイルの完全パス例
C:\AivisTTSBot\tts-bot-alpha6.py
C:\AivisTTSBot\global_replacement.db
C:\AivisTTSBot\requirements-base.txt
C:\AivisTTSBot\requirements-security-override.txt
C:\AivisTTSBot\python\python.exe
C:\AivisTTSBot\python\python313._pth
C:\AivisTTSBot\python\get-pip.py
STEP 5必要なパッケージを導入する
STEP 3で開いたターミナルは使用しません。
展開したBotフォルダを開き、フォルダ内の何もない場所を右クリックして「ターミナルで開く」を選択し、新しいターミナルを開いてください。
tts-bot-alpha6.py、requirements-base.txt、requirements-security-override.txt、pythonフォルダが同じ場所にあることを確認してから、次のコマンドを順番に実行します。
.\python\python.exe -m pip install --upgrade pip setuptools wheel
.\python\python.exe -m pip install -r requirements-base.txt
.\python\python.exe -m pip install --upgrade --no-deps -r requirements-security-override.txt通常インストール版Pythonを使う場合は、同じPython環境へrequirementsを導入してください。
STEP 6Discord Botトークンを設定する
Discord Developer PortalでApplicationとBotを作成します。
必要な設定
- Message Content Intent:ON
- Scopes:
bot、applications.commands - Bot Permissions:
- 一般権限:チャンネルを表示
- テキストの権限:メッセージを送る、メッセージ履歴を読む
- 音声の権限:接続、発言、音声検出を使用
Bot本体と同じフォルダにtoken.txtを作成し、Botトークン本体だけを1行で保存します。前後に説明文、引用符、空白を付けないでください。
正しい例
ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefg123456.HIJKLMNOPQRSTUVWXYZ誤った例
TOKEN=ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefg123456.HIJKLMNOPQRSTUVWXYZ
"ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefg123456.HIJKLMNOPQRSTUVWXYZ"
Bot Token: ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefg123456.HIJKLMNOPQRSTUVWXYZ実際のBotトークンをWebサイト、チャット、スクリーンショットへ掲載しないでください。漏れた可能性がある場合はDeveloper Portalで再生成してください。
STEP 7Botを起動する
AivisSpeech Engineが起動していることを確認します。Botフォルダを開き、フォルダ内の何もない場所を右クリックして「ターミナルで開く」を選択し、次のコマンドを実行します。
.\python\python.exe .\tts-bot-alpha6.pyDiscordへのログインとコマンド同期が完了すると、PowerShellへBot is ready!と表示されます。初回起動時はbot.dbが作成されます。
STEP 8Discord上で初期設定を行う
STEP 1でコハクをインストール済みの場合、初期話者はコハク/ノーマルです。別の話者を使用する場合だけ、読み上げを確認する前に/set_speakerを実行します。
- 使用するボイスチャンネルへ参加します。
/connectを実行します。/set_read_channelで読み上げ対象のテキストチャンネルを設定します。- コハク以外を使用する場合は、
/set_speakerでインストール済みの話者とスタイルを選択します。 - 設定したテキストチャンネルへ短い文章を投稿し、読み上げを確認します。
通常は状態確認コマンドを使う必要はありません。読み上げが始まらない場合は/statusを使用してください。
終了時は/disconnectを実行し、PowerShellではCtrl+CでBotを終了します。