EmotiVoice易魔声 😊: 多音色提示控制TTS
EmotiVoice是一个强大的开源TTS引擎,完全免费,支持中英文双语,包含2000多种不同的音色,以及特色的情感合成功能,支持合成包含快乐、兴奋、悲伤、愤怒等广泛情感的语音。
EmotiVoice提供一个易于使用的web界面,还有用于批量生成结果的脚本接口。
以下是EmotiVoice生成的几个示例:
热闻速递
- Mac版一键安装包 已于2023年12月28日发布,强烈推荐尽快下载使用,免费好用!
- 易魔声 HTTP API 已于2023年12月6日发布上线。更易上手(无需任何安装配置),更快更稳定,单账户提供超过 13,000 次免费调用。此外,用户还可以使用智云提供的其它迷人的声音。
- 用你自己的数据定制音色已于2023年12月13日发布上线,同时提供了两个教程示例:DataBaker Recipe LJSpeech Recipe。
开发中的特性
- 支持调语速功能 #67 #77
- 更多语言支持,例如日韩 #19 #22
易魔声倾听社区需求并积极响应,期待您的反馈!
快速入门
EmotiVoice Docker镜像
尝试EmotiVoice最简单的方法是运行docker镜像。你需要一台带有NVidia GPU的机器。先按照Linux和Windows WSL2平台的说明安装NVidia容器工具包。然后可以直接运行EmotiVoice镜像:
docker run -dp 127.0.0.1:8501:8501 syq163/emoti-voice:latest
Docker镜像更新于2023年11月29号。如果你使用了老的版本,推荐运行如下命令进行更新:
docker pull syq163/emoti-voice:latest
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 soundfile yacs g2p_en jieba pypinyin
准备模型文件
强烈推荐用户参考如何下载预训练模型文件的维基页面,尤其遇到问题时。
git lfs install
git lfs clone https://huggingface.co/WangZeJun/simbert-base-chinese WangZeJun/simbert-base-chinese
或者你可以运行:
git clone https://www.modelscope.cn/syq163/WangZeJun.git
推理
- 通过简单运行如下命令来下载预训练模型:
git clone https://www.modelscope.cn/syq163/outputs.git
推理输入文本格式是:
<speaker>|<style_prompt/emotion_prompt/content>|<phoneme>|<content>
.- 例如:
8051|非常开心|<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>|我来到北京,清华大学
.
- 例如:
其中的音素(phonemes)可以这样得到:
python frontend.py data/my_text.txt > data/my_text_for_tts.txt
.然后运行:
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
.或者你可以直接使用交互的网页界面:
pip install streamlit
streamlit run demo_page.py
类OpenAI TTS的API
非常感谢 @lewangdev 的相关该工作 #60。通过运行如下命令来完成配置:
pip install fastapi
pip install pydub
pip install uvicorn[standard]
uvicorn openaiapi:app --reload
Wiki页面
如果遇到问题,或者想获取更多详情,请参考 wiki 页面。
训练
用你自己的数据定制音色已于2023年12月13日发布上线。
路线图和未来的工作
我们未来的计划可以在 ROADMAP 文件中找到。
当前的实现侧重于通过提示控制情绪/风格。它只使用音高、速度、能量和情感作为风格因素,而不使用性别。但是将其更改为样式、音色控制并不复杂,类似于PromptTTS的原始闭源实现。
微信群
欢迎扫描下方左侧二维码加入微信群。商业合作扫描右侧个人二维码。
致谢
- PromptTTS. PromptTTS论文是本工作的重要基础。
- LibriTTS. 训练使用了LibriTTS开放数据集。
- HiFiTTS. 训练使用了HiFi TTS开放数据集。
- ESPnet.
- WeTTS
- HiFi-GAN
- Transformers
- tacotron
- KAN-TTS
- StyleTTS
- Simbert
- cn2an. 易魔声集成了cn2an来处理数字。