多語言聲音克隆:CosyVoice模型
發(fā)布日期:2025/4/4 14:55:01 瀏覽量:
多語言聲音克?。篊osyVoice模型
CosyVoice是由阿里通義實驗室開源的一款多語言語音理解模型,它主要聚焦于高質(zhì)量的語音合成,能夠生成自然且逼真的語音。
CosyVoice模型經(jīng)過超過15萬小時的數(shù)據(jù)訓練,支持中文、英語、日語、粵語和韓語多種語言的合成,且在多語言語音生成、零樣本語音生成、跨語言聲音合成和指令執(zhí)行能力方面表現(xiàn)卓越。
CosyVoice支持one-shot音色克隆技術(shù),僅需3~10秒的原始音頻即可生成模擬音色,包括韻律、情感等細節(jié)。
CosyVoice展現(xiàn)了零樣本學習的能力,能夠通過一個簡短的參考語音樣本復制任意聲音,實現(xiàn)內(nèi)容一致性和說話者相似度的高度還原。
CosyVoice能夠?qū)ι傻恼Z音進行細粒度的情感、語調(diào)、語速和音調(diào)控制,使合成的語音更加豐富和具有表現(xiàn)力。
github項目地址:https://github.com/FunAudioLLM/CosyVoice。
一、環(huán)境安裝
1、python環(huán)境
建議安裝python版本在3.10以上。
2、pip庫安裝
pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
3、CosyVoice-300M模型下載:
git lfs install
git clone https://www.modelscope.cn/iic/CosyVoice-300M.git CosyVoice-300M
4、CosyVoice-300M-SFT模型下載:
git lfs install
git clone https://www.modelscope.cn/iic/CosyVoice-300M-SFT.git CosyVoice-300M-SFT
5、CosyVoice-300M-Instruct模型下載:
git lfs install
git clone https://www.modelscope.cn/iic/CosyVoice-300M-Instruct.git CosyVoice-300M-Instruct
當使用自然語音控制推理模式時,需要采用該模型。
6、CosyVoice-ttsfrd模型下載:
git lfs install
git clone https://www.modelscope.cn/iic/CosyVoice-ttsfrd.git CosyVoice-ttsfrd
二、功能測試
1、調(diào)用測試:
(1)調(diào)用接口測試代碼
from cosyvoice.cli.cosyvoice import CosyVoice
from cosyvoice.utils.file_utils import load_wav
import torchaudio
#初始化CosyVoice模型
cosyvoice = CosyVoice(’pretrained_models/CosyVoice-300M-SFT’)
#列出可用的發(fā)音人
print(cosyvoice.list_available_spks())
#使用SFT(Supervised Fine-Tuning)模式生成語音
output = cosyvoice.inference_sft(
text=’你好,我是通義生成式語音大模型,請問有什么可以幫您的嗎?’,
speaker=’中文女’
)
#將生成的語音保存為wav文件
torchaudio.save(’sft.wav’, output[’tts_speech’], 22050)
#再次初始化CosyVoice模型,這次加載的是基礎(chǔ)模型CosyVoice-300M
cosyvoice = CosyVoice(’pretrained_models/CosyVoice-300M’)
#加載用于Zero-Shot和Cross-Lingual任務(wù)的提示語音
prompt_speech_16k = load_wav(’zero_shot_prompt.wav’, 16000)
#使用Zero-Shot模式生成語音,此模式不需要特定的訓練數(shù)據(jù)
output = cosyvoice.inference_zero_shot(
main_text=’收到好友從遠方寄來的生日禮物,那份意外的驚喜與深深的祝福讓我心中充滿了甜蜜的快樂,笑容如花兒般綻放?!?
additional_text=’希望你以后能夠做的比我還好呦。’,
prompt_speech=prompt_speech_16k
)
#將生成的語音保存為wav文件
torchaudio.save(’zero_shot.wav’, output[’tts_speech’], 22050)
#加載用于Cross-Lingual任務(wù)的提示語音
prompt_speech_16k = load_wav(’cross_lingual_prompt.wav’, 16000)
#使用Cross-Lingual模式生成語音,該模式支持跨語言語音合成
output = cosyvoice.inference_cross_lingual(
text=’<|en|>And then later on, fully acquiring that company. So keeping management in line, interest in line with the asset that\’s coming into the family is a reason why sometimes we don\’t buy the whole thing.’,
prompt_speech=prompt_speech_16k
)
#將生成的語音保存為wav文件
torchaudio.save(’cross_lingual.wav’, output[’tts_speech’], 22050)
#最后,再次初始化CosyVoice模型,這次加載的是指令模型CosyVoice-300M-Instruct
cosyvoice = CosyVoice(’pretrained_models/CosyVoice-300M-Instruct’)
#使用Instruct模式生成語音,支持情感和語氣的指令標簽
output = cosyvoice.inference_instruct(
text=’在面對挑戰(zhàn)時,他展現(xiàn)了非凡的<bold>勇氣</bold>與<bold>智慧</bold>?!?
speaker=’中文男’,
style=’Theo \’Crimson\’, is a fiery, passionate rebel leader. Fights with fervor for justice, but struggles with impulsiveness.’
)
#將生成的語音保存為wav文件
torchaudio.save(’instruct.wav’, output[’tts_speech’], 22050)
馬上咨詢: 如果您有業(yè)務(wù)方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗積累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 聯(lián)系人:石先生/雷先生