なんだかんだそれなりに手間かかった割にはやりたいことに到達できず無駄になってしまったので供養と整理とメモ書きついで。wslからやっててアーキはx86_64なので違う時は適宜読み替えて。pipが入ってる前提。
voicevoxコアのインストール
wget https://github.com/VOICEVOX/voicevox_core/releases/download/0.15.0/voicevox_core-0.15.0+cpu-cp38-abi3-linux_x86_64.whl
pip install voicevox_core-0.15.0+cpu-cp38-abi3-linux_x86_64.whl
仮想環境の構築
mkdir voicevox
cd voicevox
sudo apt install python3.10-venv
python -m venv voicevox
source voicevox/bin/activate
各モジュールのインストール
onnxruntimeの最新は2024/03/08時点で1.17.1だが1.13.1じゃないと後でエラーになる
wget https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-linux-x64-1.13.1.tgz
tar zxvf onnxruntime-linux-x64-1.13.1.tgz
ln -s onnxruntime-linux-x64-1.13.1/lib/libonnxruntime.so.1.13.1
辞書のインストール
wget https://jaist.dl.sourceforge.net/project/open-jtalk/Dictionary/open_jtalk_dic-1.11/open_jtalk_dic_utf_8-1.11.tar.gz
tar zxvf open_jtalk_dic_utf_8-1.11.tar.gz
サンプルの実行だ!
pythonわからないので参考にしたサイトからもらってきたサンプル
sample.py
from pathlib import Path
from voicevox_core import VoicevoxCore, METAS
import sys, os
core = VoicevoxCore(open_jtalk_dict_dir=Path("./open_jtalk_dic_utf_8-1.11"))
speaker_id = 1 # 1:ずんだもん,2:四国めたん
text = sys.argv[1]
if not core.is_model_loaded(speaker_id):
core.load_model(speaker_id)
wave_bytes = core.tts(text, speaker_id)
with open("./" + text + ".wav", "wb") as f:
f.write(wave_bytes)
python ./sample.py なんかしゃべれ
なんかしゃべれ.wavができるので再生すればなんかしゃべる。
wsl2からだとオーディオ周りを別途設定しないとaplay利用できないの面倒ですね。
やりたいことは音声変換用のサーバ立てることだったはずなんだけど、この時点でうちのへぼPCだとテキスト→音声変換するのにえらい時間かかることに気づいてしまったので結局ここでゲームオーバーでした。