1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

voicevox coreのインストールとpythonでのサンプル実行

Posted at

なんだかんだそれなりに手間かかった割にはやりたいことに到達できず無駄になってしまったので供養と整理とメモ書きついで。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だとテキスト→音声変換するのにえらい時間かかることに気づいてしまったので結局ここでゲームオーバーでした。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?