🔖

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