b2c網(wǎng)站服務內(nèi)容國家提供的免費網(wǎng)課平臺
概述
11 月 10 日,網(wǎng)易有道正式上線“易魔聲”開源語音合成(TTS)引擎,所有用戶可免費在開源社區(qū) GitHub 進行下載使用,通過其提供的 web 界面及批量生成結果的腳本接口,輕松實現(xiàn)音色的情感合成與應用。
據(jù)悉,“易魔聲”是一款有道自研 TTS 引擎,目前支持中英文雙語,包含 2000 多種不同的音色,更有特色的情感合成功能,支持合成包含快樂、興奮、悲傷、憤怒等廣泛情感的語音。只需簡單通過在文本中加入情感的描述提示,就可以自由合成符合自己需求的帶有情感的語音,比傳統(tǒng) TTS 更加自然逼真。
隨著基于 GAN 等現(xiàn)代 AI 技術的語音能力越來越成熟,實現(xiàn)一個質量較高的 TTS 系統(tǒng)的門檻越來越低。但即使如此,中英雙語的高質量、現(xiàn)代 TTS 模塊還是不易找到,要在自己的應用與內(nèi)容中加入高逼真度且高度可控的語音,特別是中英雙語的語音,也依然比較麻煩。
網(wǎng)易有道 CEO 周楓表示,“目前該項目還處于初期階段,現(xiàn)在將這個項目開源,也是希望能幫助到有需求的開發(fā)者與內(nèi)容創(chuàng)作者,并不斷擴大高質量 TTS 的應用范圍,讓產(chǎn)品及應用更好地落地。也期待大家試用后給我們提供更多反饋與建議。”
快速入門
EmotiVoice Docker鏡像
嘗試EmotiVoice最簡單的方法是運行docker鏡像。你需要一臺帶有NVidia GPU的機器。先按照Linux和Windows WSL2平臺的說明安裝NVidia容器工具包。然后可以直接運行EmotiVoice鏡像:
docker run -dp 127.0.0.1:8501:8501 syq163/emoti-voice:latest
現(xiàn)在打開瀏覽器,導航到 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,或者你可以直接使用交互的網(wǎng)頁界面:
pip install streamlit
streamlit run demo_page.py
參考鏈接:https://github.com/netease-youdao/EmotiVoice