👄
DGX SparkでVOICEVOXを使った音声合成
VOICEVOXで音声合成
VOICEVOXに関しては以下です。
DGX Sparkと初期設定に関しては以下実施してください。
最低限 uvのセットアップをしておいてください。
ハードウェア的には、オーディオ機能付きのモニタやUSBスピーカーなどをDGX Sparkに接続して、音が出るようにしておいてください。
uvの仮想環境構築
以下で仮想環境を構築します。
$ mkdir voicevox
$ cd voicevox
$ uv venv
$ source .venv/bin/activate
VoiceVoxのセットアップ
以下とほぼ同じです。この記事ではコマンドだけ羅列します。コピーしやすくするために、冒頭の$も省略します。詳細は以下記事を参照ください。CPU動作です。Armアーキテクチャだと多分GPU使うのは難しいと思います。
wget https://github.com/VOICEVOX/voicevox_core/releases/download/0.14.0/voicevox_core-0.14.0+cpu-cp38-abi3-linux_aarch64.whl
uv pip install voicevox_core-0.14.0+cpu-cp38-abi3-linux_aarch64.whl
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
動作確認
以下コマンドで動作確認します。
uv pip install playsound3
from pathlib import Path
from playsound3 import playsound
from voicevox_core import AccelerationMode, VoicevoxCore
SPEAKER_ID = 2
open_jtalk_dict_dir = "./open_jtalk_dic_utf_8-1.11"
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)
text = "こんにちは"
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()
動きました。
Discussion