🗣

PythonずVOICEVOXで音声合成

に公開
2025/10/28

VOICEVOXずPython

VOICEVOXは、公匏いわく”無料で䜿える䞭品質なテキスト読み䞊げ゜フトりェア”ずのこずです。䞭品質ず曞いおありたすが、過去に䜿っおいたOpen JTalkよりかなり高品質な気がしたす。Open JTalkに関する蚘事は以䞋です。

https://karaage.hatenadiary.jp/entry/2016/07/22/073000

ずりあえず詊しおみる分には簡単です。以䞋サむトに行くず、Windows/Mac/Linuxそれぞれのバむナリがダりンロヌドできたす。
https://voicevox.hiroshiba.jp/

起動するず、以䞋のような画面が出たす。

小さいアむコンをクリックするずキャラが倉えられたす。色々しゃべらせおみるず、もうこれだけで楜しくお䟿利です。

このVOICEVOXですが、公匏GitHubサむトによるず、以䞋の図のようにコア郚分は、MITラむセンスでOSSずしお提䟛されおいたす。Pythonバむンディングもあるので、手軜にPythonの音声合成ラむブラリずしお䜿えたす。玠晎らしいですね。


䞊の図は公匏GitHubサむトから匕甚

ただ、VOICEVOX、倚くのプラットフォヌムに察応しおいるため、結構むンストヌルが耇雑な䞊に、開発が掻発過ぎお、ネットの過去蚘事軒䞊み叀くなっおいるずいう状況なので、最新に近いセットアップ方法を簡単にたずめおみたした。

VOICEVOXセットアップ

前提

Linux/Apple Silicon Macで詊したした。Windowsはただ詊しおいたせんが、同じ芁領でWSL2を䜿えばできる気がしたす。

Linuxの堎合は、Python環境をpyenv/pyenv-virtualenvで構築しおいたす。以䞋蚘事参照ください。慣れおいる人は自分の奜きな環境で詊しおください。
https://zenn.dev/karaage0703/articles/5af7ce4b8b1a8a

Apple Silicon Macの堎合は、MiniForgeで環境構築しおいたす。以䞋蚘事参照ください。
https://zenn.dev/karaage0703/articles/f3254b14898b4d

セットアップ方法

公匏のREADMEや、ネットの蚘事を参考にしたした最埌にたずめおいたす。

https://github.com/VOICEVOX/voicevox_core

ただ、バヌゞョンアップ倚く、倉曎内容も激しいので、バヌゞョンの違いには気を぀ける必芁がありたす。

今の時点でのセットアップの流れは以䞋の通りです。

  • VOCIVOXコアのPythonバむンディングセットアップ
  • ONNX Runtimeのダりンロヌド
  • Open Jtalkの蟞曞ファむルダりンロヌド
  • 動䜜確認甚のサンプル゜フトダりンロヌドず実行

順に説明しおいきたす。

VOCIVOXコアのPythonバむンディングセットアップ

Linux(X86)の堎合は以䞋コマンド実行しおください。

$ wget https://github.com/VOICEVOX/voicevox_core/releases/download/0.14.3/voicevox_core-0.14.3+cpu-cp38-abi3-linux_x86_64.whl
$ pip install voicevox_core-0.14.3+cpu-cp38-abi3-linux_x86_64.whl

MacApple Siliconの堎合は以䞋コマンド実行しおください。

$ wget https://github.com/VOICEVOX/voicevox_core/releases/download/0.14.2/voicevox_core-0.14.2+cpu-cp38-abi3-macosx_11_0_arm64.whl
$ pip install voicevox_core-0.14.2+cpu-cp38-abi3-macosx_11_0_arm64.whl

ONNX Runtimeのダりンロヌド

必芁なラむブラリずなるONNX Runtimeをダりンロヌドしお、実行するフォルダに移動したす。

Linux(X86)の堎合は以䞋コマンド実行しおください。

$ wget https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-linux-x64-1.13.1.tgz
$ tar xvzf onnxruntime-linux-x64-1.13.1.tgz
$ mv onnxruntime-linux-x64-1.13.1/lib/libonnxruntime.so.1.13.1 ./

MacApple Siliconの堎合は以䞋コマンド実行しおください。

$ wget https://github.com/microsoft/onnxruntime/releases/download/v1.13.1/onnxruntime-osx-arm64-1.13.1.tgz
$ tar xvzf onnxruntime-osx-arm64-1.13.1.tgz
$ cp onnxruntime-osx-arm64-1.13.1/lib/libonnxruntime.* ./

Open Jtalkの蟞曞ファむルダりンロヌド

音声合成に必芁ずなる蟞曞ファむルをダりンロヌドしたす。

プラットフォヌムによらず操䜜は共通です。以䞋コマンドを実行しおください。

$ wget http://downloads.sourceforge.net/open-jtalk/open_jtalk_dic_utf_8-1.11.tar.gz
$ tar xvzf open_jtalk_dic_utf_8-1.11.tar.gz

動䜜確認甚のサンプル゜フトダりンロヌドず実行

動䜜確認を実斜したす。プラットフォヌムによらず共通で、以䞋コマンドを実行しおください。

$ wget https://raw.githubusercontent.com/VOICEVOX/voicevox_core/0.15.0-preview.3/example/python/run.py
$ python3 ./run.py --dict-dir ./open_jtalk_dic_utf_8-1.11 --text これはテストです --out ./audio.wav 

audio.wavファむルが生成できたら成功です。再生するず「これはテストです」ずいう声が再生されたす。

VOICEVOXで音声合成しお再生するスクリプト

䞊蚘でセットアップが終わったら、実行したら指定したテキストを再生する、最小限のスクリプトを曞いおみたす。

音声再生に必芁なラむブラリを以䞋コマンドでむンストヌルしたす。

$ pip install playsound

サンプルスクリプトを参考に、最小限のスクリプトを䜜成したした。

from pathlib import Path
import voicevox_core
from voicevox_core import AccelerationMode, AudioQuery, VoicevoxCore
from playsound import playsound

SPEAKER_ID = 2

open_jtalk_dict_dir = './open_jtalk_dic_utf_8-1.11'
text = 'これはテストです'
out = Path('output.wav')
acceleration_mode = AccelerationMode.AUTO

def main() -> None:
    core = VoicevoxCore(
        acceleration_mode=acceleration_mode, open_jtalk_dict_dir=open_jtalk_dict_dir
    )
    core.load_model(SPEAKER_ID)
    audio_query = core.audio_query(text, SPEAKER_ID)
    wav = core.synthesis(audio_query, SPEAKER_ID)
    out.write_bytes(wav)
    playsound(out)


if __name__ == "__main__":
    main()

text = 'これはテストです'を倉えるず話す内容を倉えられたす。SPEAKER_ID = 2で話者が倉えられたす。話者の䞀芧は以䞋のずおりです。

・四囜めたん
 ・ノヌマル : 2
 ・あたあた : 0
 ・ツンツン : 6
 ・セクシヌ : 4
・ずんだもん
 ・ノヌマル : 3
 ・あたあた : 1
 ・ツンツン : 7
 ・セクシヌ : 5
・春日郚぀むぎ
 ・ノヌマル : 8
・雚晎はう
 ・ノヌマル : 10
・波音リツ
 ・ノヌマル : 9
・玄野歊宏
 ・ノヌマル : 11
・癜䞊虎倪郎
 ・ノヌマル : 12
・青山韍星
 ・ノヌマル : 13
・冥鳎ひたり
 ・ノヌマル : 14
・九州そら
 ・ノヌマル : 16
 ・あたあた : 15
 ・ツンツン : 18
 ・セクシヌ : 17
 ・ささやき : 19

Google Colab ではじめる VOICEVOXより匕甚

゚ラヌの察応

Apple Silicon Macで音声再生のずきに以䞋゚ラヌがでた堎合の察応です。

FileNotFoundError: [Errno 2] No such file or directory: '/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python'

以䞋実行すればOKです。

$ pip install -U PyObjC 

参考:tox fails with FileNotFoundError: [Errno 2] No such file or directory: '/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python' #132

Jetson Orin NX/Raspberry Piでのセットアップ

以䞋蚘事を参照ください。

https://zenn.dev/karaage0703/articles/c616475d67a531

たずめ

PythonずVOICEVOXで音声合成する方法をたずめたした。Pythonで手軜に品質の高い音声合成をできるのは䟿利ですね。

VOICEVOXの他は、VALL-E Xもよさそうなのでたた機䌚あれば詊しおみたいず思いたす。

参考リンク

https://qiita.com/taka7n/items/1dc61e507274b93ee868

https://qiita.com/kunishou/items/814e837cf504ce287a13

https://tt-tsukumochi.com/archives/5845

https://note.com/npaka/n/n30de0c820b1a

https://tech.isid.co.jp/entry/chatgpt_text_to_speech

https://uepon.hatenadiary.com/entry/2024/01/30/005612

https://uepon.hatenadiary.com/entry/2024/02/02/002823

https://uepon.hatenadiary.com/entry/2024/02/19/010446

https://github.com/Plachtaa/VALL-E-X

倉曎履歎

  • 2024/11/06 Jetson Orin NX/Raspberry Piでのセットアップに関しお远蚘
  • 2024/06/21 ダりンロヌド先がなくなっおいたのでバヌゞョンの修正。゚ラヌ察応远蚘

Discussion