PythonãšVOICEVOXã§é³å£°åæ
VOICEVOXãšPython
VOICEVOXã¯ãå ¬åŒãããâç¡æã§äœ¿ããäžå質ãªããã¹ãèªã¿äžããœãããŠã§ã¢âãšã®ããšã§ããäžåè³ªãšæžããŠãããŸãããéå»ã«äœ¿ã£ãŠããOpen JTalkããããªãé«åè³ªãªæ°ãããŸããOpen JTalkã«é¢ããèšäºã¯ä»¥äžã§ãã
ãšãããã詊ããŠã¿ãåã«ã¯ç°¡åã§ãã以äžãµã€ãã«è¡ããšãWindows/Mac/Linuxããããã®ãã€ããªãããŠã³ããŒãã§ããŸãã
èµ·åãããšã以äžã®ãããªç»é¢ãåºãŸãã

å°ããã¢ã€ã³ã³ãã¯ãªãã¯ãããšãã£ã©ãå€ããããŸããè²ã ããã¹ãããŠã¿ããšãããããã ãã§æ¥œãããŠäŸ¿å©ã§ãã
ãã®VOICEVOXã§ãããå ¬åŒGitHubãµã€ãã«ãããšã以äžã®å³ã®ããã«ã³ã¢éšåã¯ãMITã©ã€ã»ã³ã¹ã§OSSãšããŠæäŸãããŠããŸããPythonãã€ã³ãã£ã³ã°ãããã®ã§ãæè»œã«Pythonã®é³å£°åæã©ã€ãã©ãªãšããŠäœ¿ããŸããçŽ æŽãããã§ããã

äžã®å³ã¯å
¬åŒGitHubãµã€ãããåŒçš
ãã ãVOICEVOXãå€ãã®ãã©ãããã©ãŒã ã«å¯Ÿå¿ããŠãããããçµæ§ã€ã³ã¹ããŒã«ãè€éãªäžã«ãéçºã掻çºéããŠããããã®éå»èšäºè»äžŠã¿å€ããªã£ãŠãããšããç¶æ³ãªã®ã§ãææ°ã«è¿ãã»ããã¢ããæ¹æ³ãç°¡åã«ãŸãšããŠã¿ãŸããã
VOICEVOXã»ããã¢ãã
åæ
Linux/Apple Silicon Macã§è©ŠããŸãããWindowsã¯ãŸã 詊ããŠããŸããããåãèŠé ã§WSL2ã䜿ãã°ã§ããæ°ãããŸãã
Linuxã®å Žåã¯ãPythonç°å¢ãpyenv/pyenv-virtualenvã§æ§ç¯ããŠããŸãã以äžèšäºåç §ãã ãããæ £ããŠãã人ã¯èªåã®å¥œããªç°å¢ã§è©ŠããŠãã ããã
Apple Silicon Macã®å Žåã¯ãMiniForgeã§ç°å¢æ§ç¯ããŠããŸãã以äžèšäºåç §ãã ããã
ã»ããã¢ããæ¹æ³
å ¬åŒã®READMEãããããã®èšäºãåèã«ããŸããïŒæåŸã«ãŸãšããŠããŸãïŒã
ãã ãããŒãžã§ã³ã¢ããå€ãã倿Žå å®¹ãæ¿ããã®ã§ãããŒãžã§ã³ã®éãã«ã¯æ°ãã€ããå¿ èŠããããŸãã
ä»ã®æç¹ã§ã®ã»ããã¢ããã®æµãã¯ä»¥äžã®éãã§ãã
- 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
Jetson Orin NX/Raspberry Piã§ã®ã»ããã¢ãã
以äžèšäºãåç §ãã ããã
ãŸãšã
PythonãšVOICEVOXã§é³å£°åæããæ¹æ³ããŸãšããŸãããPythonã§æè»œã«å質ã®é«ãé³å£°åæãã§ããã®ã¯äŸ¿å©ã§ããã
VOICEVOXã®ä»ã¯ãVALL-E Xããããããªã®ã§ãŸãæ©äŒããã°è©ŠããŠã¿ãããšæããŸãã
åèãªã³ã¯
倿Žå±¥æŽ
- 2024/11/06 Jetson Orin NX/Raspberry Piã§ã®ã»ããã¢ããã«é¢ããŠè¿œèš
- 2024/06/21 ããŠã³ããŒãå ããªããªã£ãŠããã®ã§ããŒãžã§ã³ã®ä¿®æ£ããšã©ãŒå¯Ÿå¿è¿œèš
Discussion