天才lenlinoさん Discordで動く読み上げbotを作って公開されています。
動かしたのでメモしました
python 3.11をインストール
こちらのGitからvoicevox_engineをダウンロードする 0.16.0は動かなかったので0.15.0にした
https://github.com/VOICEVOX/voicevox_engine/archive/refs/tags/0.15.1.zip
https://github.com/VOICEVOX/voicevox/releases/download/0.13.4/voicevox-linux-cpu-0.13.4.tar.gz
tar -zxvf voicevox-linux-cpu-0.13.4.tar.gz
で解凍
cd voicevox_engine
python3 -m pip install -r requirements.txt
python3 run.py –voicevox_dir=”/home/VOICEVOX”
https://github.com/lenlino/DiscordVoiceVox.git
cd DiscordVoiceVox
python3 -m pip install -r requirements.txt
pip install py-cord==2.5.0
pip uninstall romajitable
pip install git+https://github.com/lenlino/romajitable
main.py 1274行目のguild.voice_client.playingをguild.voice_client.is_playing()
963行目ぐらいのif counter > 200: でtempの保存数を設定
ffmpeg
ダウンロード> Linux > linux static build
amd64
curl -O https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
unxz -c ffmpeg-release-amd64-static.tar.xz | tar xvf –
export PATH=/home/ffmpeg-6.1-amd64-static:$PATH
voicevox.service
[Unit]
Description=VoiceVox
[Service]
Type=simple
User=root
ExecStart=python3.11 run.py --voicevox_dir=/home/VOICEVOX
WorkingDirectory=/home/voicevox_engine
[Install]
WantedBy=multi-user.target
discordvoicevox.service
[Unit]
Description=Discord VoiceVox
After=voicevox.service
[Service]
Type=simple
User=root
ExecStart=python3 main.py
WorkingDirectory=/home/DiscordVoiceVox
Environment=PATH=/home/ffmpeg-6.1-amd64-static:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
[Install]
WantedBy=multi-user.target
Discordアプリ作成
https://discord.com/developers/applications
Bot > Reset Tokenを押して トークンを取得する1度しかとれないので大事に保存する
Privileged Gateway Intents の3つにチェックを入れる
OAuth2のページでBOT招待のURLを作る
パーミッションは70257664