概述
11 月 10 日,网易有道正式上线“易魔声”开源语音合成(TTS)引擎,所有用户可免费在开源社区 GitHub 进行下载使用,通过其提供的 web 界面及批量生成结果的脚本接口,轻松实现音色的情感合成与应用。
据悉,“易魔声”是一款有道自研 TTS 引擎,目前支持中英文双语,包含 2000 多种不同的音色,更有特色的情感合成功能,支持合成包含快乐、兴奋、悲伤、愤怒等广泛情感的语音。只需简单通过在文本中加入情感的描述提示,就可以自由合成符合自己需求的带有情感的语音,比传统 TTS 更加自然逼真。
随着基于 GAN 等现代 AI 技术的语音能力越来越成熟,实现一个质量较高的 TTS 系统的门槛越来越低。但即使如此,中英双语的高质量、现代 TTS 模块还是不易找到,要在自己的应用与内容中加入高逼真度且高度可控的语音,特别是中英双语的语音,也依然比较麻烦。
网易有道 CEO 周枫表示,“目前该项目还处于初期阶段,现在将这个项目开源,也是希望能帮助到有需求的开发者与内容创作者,并不断扩大高质量 TTS 的应用范围,让产品及应用更好地落地。也期待大家试用后给我们提供更多反馈与建议。”
快速入门
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 -y
conda activate EmotiVoice
pip install torch torchaudio
pip install numpy numba scipy transformers==4.26.1 soundfile yacs g2p_en jieba pypinyin
准备模型文件
git lfs install
git lfs clone https://huggingface.co/WangZeJun/simbert-base-chinese WangZeJun/simbert-base-chinese
推理
1,下载预训练模型, 然后运行:
mkdir -p outputs/style_encoder/ckpt
mkdir -p outputs/prompt_tts_open_source_joint/ckpt
2,将g_*, do_*文件放到outputs/prompt_tts_open_source_joint/ckpt,将checkpoint_*放到outputs/style_encoder/ckpt中.
3,推理输入文本格式是:|<style_prompt/emotion_prompt/content>||.
例如: Maria_Kasper|非常开心|<sos/eos> uo3 sp1 l ai2 sp0 d ao4 sp1 b ei3 sp0 j ing1 sp3 q ing1 sp0 h ua2 sp0 d a4 sp0 x ve2 <sos/eos>|我来到北京,清华大学.
4,其中的音素(phonemes)可以这样得到:python frontend.py data/my_text.txt > data/my_text_for_tts.txt.
5,然后运行:
TEXT=data/inference/text
python 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.
6,或者你可以直接使用交互的网页界面:
pip install streamlit
streamlit run demo_page.py
参考链接:https://github.com/netease-youdao/EmotiVoice