読み上げBotドキュメント

導入手順

Windows 11に読み上げBotを入れて、最初の読み上げを確認するまでの手順です。上から順番に進めてください。

所要時間の目安
30〜40分
対象
Windows 11
配布版
α6

Windows 10とLinux、macOSはこの手順の対象外です。Linuxで動かした実績はありますが、手順の案内とサポートはしていません。

AivisSpeechを入れて、声を用意する

文字を音声にするのはAivisSpeechの役目です。まずこちらを動かせるようにします。

AivisSpeechの案内ページからインストールし、起動しておきます。

初期の声「コハク」を追加する

Botが最初に使う声はコハク(ノーマル)です。コハクはAivisSpeechに最初から入っていないため、自分で追加します。

AivisHubのコハク配布ページから音声モデルのファイルをダウンロードし、AivisSpeechへ追加してください。

先に追加しておいてください

コハクを追加せず、ほかの声も選んでいない状態で読み上げると、音声を作れずに失敗します。別の声を使う場合は、その音声モデルをAivisSpeechへ追加したうえで、あとから/set_speakerで選びます。

音声モデルごとに使える範囲(利用条件)が決まっています。AivisHubの配布ページで確認してください。

ことば:話者(わしゃ)とスタイル

話者は声の種類、スタイルは話しかた(ノーマル、うれしい など)です。どちらもAivisSpeech側の呼びかたで、Botは選ばれたものを指定して音声を作ります。

Botは、同じPCで動いているAivisSpeechへ localhost:10101 で話しかけます。AivisSpeech側で設定を変えていなければ、そのままで動きます。

FFmpegを入れる

作った音声をDiscordへ流すために使います。

PowerShellを開いて、次のコマンドを実行します。

winget install --id Gyan.FFmpeg -e

終わったらPowerShellを開き直し、入ったかどうかを確認します。

ffmpeg -version

バージョンが表示されれば完了です。「見つかりません」と出る場合は、winget search ffmpegで候補を探してください。PowerShellを開き直していない場合も同じ表示になります。

Pythonを用意する

Bot本体はPythonのプログラムです。動かすためのPythonを1つ用意します。

Python 3.12か3.13を使います。すでにPythonが入っていればそれでも動きますが、ここではBot専用に分けやすい「embeddable package(インストール不要版)」を使う方法を案内します。

ことば:embeddable package

インストールせずに、フォルダへ置くだけで使えるPythonです。Botのフォルダの中に入れておけるので、PCにすでに入っているPythonと混ざらず、消したいときはフォルダごと削除できます。

インストール不要版で用意する(Python 3.13.12の例)

ほかの3.12/3.13を使う場合は、ファイル名をそのバージョンに読み替えてください。

  1. Python 3.13.12の配布ページからpython-3.13.12-embed-amd64.zip(64-bit)を取得します。
  2. 作業用のフォルダへ展開します。あとで手順4で、Botのフォルダの中へ移します。
  3. 展開先のpython313._pthをメモ帳で開き、中身を次のとおりにします。
python313.zip
.
Lib
Lib\site-packages
import site

pipを入れる

pip公式のget-pip.pyをブラウザで開き、Ctrl+Sでget-pip.pyという名前で保存します。保存先はpython313._pthと同じフォルダです。

保存したあと、ファイル名の末尾が.py.txtになっていないか確認してください。

python-3.13.12-embed-amd64
├─ python.exe
├─ python313.dll
├─ python313.zip
├─ python313._pth
└─ get-pip.py

このフォルダを開き、何もない場所を右クリックして「ターミナルで開く」を選びます。開いたターミナルで、上から順に実行します。

.\python.exe .\get-pip.py
.\python.exe --version
.\python.exe -m pip --version

Python 3.13.12のように表示されれば完了です。

Botのファイルを置く

配布ZIPを展開して、Botの置き場所を決めます。

α6をダウンロード(約70KB)

ダウンロードしたZIPを、新しいフォルダへ展開します。置き場所の例:

C:\AivisTTSBot

旧版のフォルダへ上書きしないでください

α3・α4・α5を使っていた人は、そのフォルダは残したまま、別の場所へ展開してください。引き継ぎのしかたは旧版からの引き継ぎで説明しています。

インストール不要版のPythonを使う場合は、展開したBotフォルダの中にpythonという名前のフォルダを作り、手順3で用意したPythonフォルダの中身をすべて入れます。

できあがりの形

C:\AivisTTSBot
├─ tts-bot-alpha6.py          ← Bot本体
├─ global_replacement.db      ← はじめから入っている辞書
├─ requirements-base.txt
├─ requirements-security-override.txt
└─ python
   ├─ python.exe
   ├─ python313._pth
   ├─ python313.zip
   ├─ get-pip.py
   └─ Lib

別の場所へ展開した場合は、以降の説明のC:\AivisTTSBotを実際のフォルダに読み替えてください。

Botに必要な部品を入れる

Bot本体が使う部品(ライブラリ)をまとめて入れます。

手順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

3行目は、一部の部品を安全な新しい版へ上書きするためのものです。すでに入っているPythonを使う場合は、そのPythonに対して同じ内容を入れてください。

Discordで自分のBotを作る

Discord側に「自分専用のBot」を1つ作り、その合い言葉をBotに渡します。

Discord Developer PortalでApplicationを作り、その中でBotを作ります。

Discord側で必要な設定

  • Message Content IntentをONにします。
  • Scopesでbotとapplications.commandsを選びます。
  • Bot Permissionsで次を選びます。
    • チャンネルを表示
    • メッセージを送る/メッセージ履歴を読む
    • 接続/発言/音声検出を使用

ことば:Message Content Intent

Botが投稿の本文を読み取ってよいかどうかの設定です。ここがOFFだと、投稿があったことは分かっても中身が読めないため、読み上げできません。

合い言葉(トークン)を保存する

Bot本体と同じフォルダにtoken.txtを作り、トークンだけを1行で保存します。前後に説明や引用符、空白を付けないでください。

正しい書きかた

ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefg123456.HIJKLMNOPQRSTUVWXYZ

よくある間違い

TOKEN=ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefg123456.HIJKLMNOPQRSTUVWXYZ
"ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefg123456.HIJKLMNOPQRSTUVWXYZ"
Bot Token: ABCDEFGHIJKLMNOPQRSTUVWXYZ.abcdefg123456.HIJKLMNOPQRSTUVWXYZ

トークンは誰にも見せないでください

トークンが分かると、他人があなたのBotを自由に操作できます。Webサイト、チャット、スクリーンショット、GitHubなどへ載せないでください。

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

Botを起動する

AivisSpeechが起動していることを確認してから実行します。

Botフォルダを開き、何もない場所を右クリックして「ターミナルで開く」を選び、次を実行します。

.\python\python.exe .\tts-bot-alpha6.py

Discordへのログインとコマンドの登録が終わると、Bot is ready!と表示されます。初回はbot.dbというファイルが作られます。ここに設定と辞書が保存されます。

Bot is ready!が出ないときはうまく動かないときを確認してください。

Discordで最初の設定をする

読み上げるチャンネルを決めて、実際に声が出るか確かめます。

  1. 使いたいボイスチャンネルに自分が入ります。
  2. /connectを実行します。Botが同じボイスチャンネルへ入ります。
  3. /set_read_channelで、読み上げるテキストチャンネルを選びます。
  4. コハク以外の声を使う場合だけ、/set_speakerで話者とスタイルを選びます。
  5. 選んだテキストチャンネルへ短い文章を投稿し、声が出るか確かめます。

終わるときは/disconnectを実行し、ターミナルでCtrl+Cを押してBotを止めます。

声が出ないときはうまく動かないときを確認してください。使えるコマンドはコマンド一覧にまとめています。