EmotiVoice 是一款功能强大的现代开源文本转语音引擎

工具软件1年前 (2023)发布 gpts
82 0

EmotiVoice 是一款功能强大的现代开源文本转语音引擎。EmotiVoice 提供中英文两种语言,超过 2000 种不同的声音。最突出的功能是情感合成,允许您创建具有多种情感的语音,包括快乐、兴奋、悲伤、愤怒等。

提供易于使用的网络界面。还有一个用于批量生成结果的脚本接口。

快速开始

EmotiVoice Docker 镜像

尝试 EmotiVoice 最简单的方法是运行 docker 镜像。您需要一台配备 NVidia GPU 的机器。如果您尚未这样做,请按照 Linux 或 Windows WSL2 的说明设置 NVidia 容器工具包。然后可以运行 EmotiVoice,

docker run -dp 127.0.0.1:8501:8501 syq163/emoti-voice:latest

现在打开浏览器并导航至 http://localhost:8501 即可开始使用 EmotiVoice 强大的 TTS 功能。

完整安装

conda create -n EmotiVoice python=3.8 -yconda activate EmotiVoicepip install torch torchaudiopip install numpy numba scipy transformers==4.26.1 soundfile yacs g2p_en jieba pypinyin

准备模型文件

git lfs installgit lfs clone https://huggingface.co/WangZeJun/simbert-base-chinese WangZeJun/simbert-base-chinese

或者,您可以运行:

mkdir -p WangZeJun/simbert-base-chinesewget https://huggingface.co/WangZeJun/simbert-base-chinese/resolve/main/config.json -P WangZeJun/simbert-base-chinesewget https://huggingface.co/WangZeJun/simbert-base-chinese/resolve/main/pytorch_model.bin -P WangZeJun/simbert-base-chinesewget https://huggingface.co/WangZeJun/simbert-base-chinese/resolve/main/vocab.txt -P WangZeJun/simbert-base-chinese

推理

  1. 您必须下载预训练的模型,然后运行:
mkdir -p outputs/style_encoder/ckptmkdir -p outputs/prompt_tts_open_source_joint/ckpt
  1. 并将 g_* 、 do_* 放在 outputs/prompt_tts_open_source_joint/ckpt 下,并将 checkpoint_* 放在 outputs/style_encoder/ckpt 中。
  2. 推理文本格式为 <speaker>|<style_prompt/emotion_prompt/content>|<phoneme>|<content> 。
  • 推理文本示例:Maria_Kasper|Happy|<sos/eos> [IH0] [M] [AA1] [T] engsp4 [V] [OY1] [S] engsp4 [AH0] engsp1 [M] [AH1] [L] [T] [IY0] engsp4 [V] [OY1] [S] engsp1 [AE1] [N] [D] engsp1 [P] [R] [AA1] [M] [P] [T] engsp4 [K] [AH0] [N] [T] [R] [OW1] [L] [D] engsp1 [T] [IY1] engsp4 [T] [IY1] engsp4 [EH1] [S] engsp1 [EH1] [N] [JH] [AH0] [N] . <sos/eos>|Emoti-Voice – a Multi-Voice and Prompt-Controlled T-T-S Engine 。
  1. 您可以通过 python frontend_en.py data/my_text.txt > data/my_text_for_tts.txt 获取音素。

  2. 然后运行:

TEXT=data/inference/textpython inference_am_vocoder_joint.py \--logdir prompt_tts_open_source_joint \--config_folder config/joint \--checkpoint g_00140000 \--test_file $TEXT

合成语音位于 outputs/prompt_tts_open_source_joint/test_audio 下。

  1. 或者,如果您只想使用交互式 TTS 演示页面,请运行:
pip install streamlitstreamlit run demo_page.py

项目链接

https://github.com/netease-youdao/EmotiVoice

© 版权声明

相关文章