VOICEVOX Core で「ずんだもん」の音声を最小構成で合成する
概要
このチュートリアルでは、VOICEVOX Core 0.16.0(安定版)を使って「ずんだもん」の音声を合成する最小構成手順を解説します。この記事は ChatGPT によって生成されました。
- PyPI から公式の Python バインディングをインストール
-
run.py
を GitHub から取得して使用 - 非同期処理(asyncio)は使わず、簡潔に動作確認を行います
ステップ 1:Downloader の入手
プロジェクトディレクトリを作成し、移動します。
mkdir project
cd project
リポジトリから Downloader を入手します。
curl -L -o download https://github.com/VOICEVOX/voicevox_core/releases/latest/download/download-linux-x64
コマンドとして実行できるようパーミッションを変更します。
chmod +x download
きちんと使えるかヘルプメッセージを表示させます。
./download --help
ステップ 2:モデルファイル(0.vvm)を取得
モデルファイルをダウンロードします。Downloader ではモデルファイルはまとめてダウンロードされるので、リポジトリから必要な分だけ直接取得します。
mkdir -p models
curl -L -o models/0.vvm https://raw.githubusercontent.com/VOICEVOX/voicevox_vvm/main/vvms/0.vvm
ステップ 3:c_api、OpenJTalk、onnxruntime の取得
モデル以外のファイルをダウンロードします。
./download --exclude models
以下のように個別にダウンロードすることもできます。
./download --only c_api
./download --only dict
./download --only onnxruntime
ダウンロードが終了したらディレクトリが存在するか確認してください。
$ ls voicevox_core
c_api dict onnxruntime
ステップ 4:Python バインディング(PyPI)をインストール
uv pip install https://github.com/VOICEVOX/voicevox_core/releases/download/0.16.0/voicevox_core-0.16.0-cp310-abi3-manylinux_2_34_x86_64.whl
ステップ 5:run.py を取得
v0.16.0 の example ディレクトリにある run.py を入手します。開発版では仕様変更が起きており、コードが動かなくなる可能性があります。
curl -L -o run.py https://raw.githubusercontent.com/VOICEVOX/voicevox_core/0.16.0/example/python/run.py
ステップ 6:音声合成を実行
スクリプト実行時に libvoicevox_core.so を読み込めるように環境変数 LD_LIBRARY_PATH
を設定します。
export LD_LIBRARY_PATH=./voicevox_core/c_api/lib
uv run python run.py ./models/0.vvm \
--style-id 3 \
--dict-dir ./voicevox_core/dict/open_jtalk_dic_utf_8-1.11 \
--onnxruntime ./voicevox_core/onnxruntime/lib/libvoicevox_onnxruntime.so.1.17.3 \
--text "こんにちは、ずんだもんです" \
--out zundamon.wav
libvoicevox_onnxruntime.so
の名前はバージョンによって異なる場合があります。
存在する.so
ファイル名を確認して指定してください。
ステップ 7:音声を再生
alsa-utils パッケージをインストールします。
sudo apt install alsa-utils
aplay で音声ファイルを再生します。
aplay zundamon.wav
Python スクリプトで音声を再生させることもできます。いろいろなモジュールがありますが、今回は simpleaudio で再生する方法を示します。以下のコマンドでインストールできます。
sudo apt install libasound2-dev
uv pip install simpleaudio
音声を再生する Python スクリプトは次のようになります。
import simpleaudio as sa
wave_obj = sa.WaveObject.from_wave_file("zundamon.wav")
wave_obj.play().wait_done()
クレジット表記について
VOICEVOX の音声を公開・配布する際は、以下のクレジットを必ず記載してください:
VOICEVOX:ずんだもん
このチュートリアルの特徴
項目 | 内容 |
---|---|
対象バージョン | VOICEVOX Core 0.16.0(安定版) |
Python バインディング | PyPI (voicevox-core ) |
実行方法 |
run.py + LD_LIBRARY_PATH |
非同期処理 | 使用しない(blockingのみ) |
Discussion