多语言声音克隆,CosyVoice模型最强部署

杰说新技术 2024-08-17 12:31:01 阅读 59

CosyVoice是由阿里通义实验室开源的一款多语言语音理解模型,它主要聚焦于高质量的语音合成,能够生成自然且逼真的语音。

CosyVoice模型经过超过15万小时的数据训练,支持中文、英语、日语、粤语和韩语多种语言的合成,且在多语言语音生成、零样本语音生成、跨语言声音合成和指令执行能力方面表现卓越。

CosyVoice支持one-shot音色克隆技术,仅需3~10秒的原始音频即可生成模拟音色,包括韵律、情感等细节。

CosyVoice展现了零样本学习的能力,能够通过一个简短的参考语音样本复制任意声音,实现内容一致性和说话者相似度的高度还原。

CosyVoice能够对生成的语音进行细粒度的情感、语调、语速和音调控制,使合成的语音更加丰富和具有表现力。

github项目地址:https://github.com/FunAudioLLM/CosyVoice。

一、环境安装

1、python环境

建议安装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、调用测试

(1)调用接口测试代码

<code>from cosyvoice.cli.cosyvoice import CosyVoice

from cosyvoice.utils.file_utils import load_wav

import torchaudio

#初始化CosyVoice模型

cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M-SFT')

#列出可用的发音人

print(cosyvoice.list_available_spks())

#使用SFT(Supervised Fine-Tuning)模式生成语音

output = cosyvoice.inference_sft(

text='你好,我是通义生成式语音大模型,请问有什么可以帮您的吗?',code>

speaker='中文女'code>

)

#将生成的语音保存为wav文件

torchaudio.save('sft.wav', output['tts_speech'], 22050)

#再次初始化CosyVoice模型,这次加载的是基础模型CosyVoice-300M

cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M')

#加载用于Zero-Shot和Cross-Lingual任务的提示语音

prompt_speech_16k = load_wav('zero_shot_prompt.wav', 16000)

#使用Zero-Shot模式生成语音,此模式不需要特定的训练数据

output = cosyvoice.inference_zero_shot(

main_text='收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。',code>

additional_text='希望你以后能够做的比我还好呦。',code>

prompt_speech=prompt_speech_16k

)

#将生成的语音保存为wav文件

torchaudio.save('zero_shot.wav', output['tts_speech'], 22050)

#加载用于Cross-Lingual任务的提示语音

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.',code>

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='在面对挑战时,他展现了非凡的<bold>勇气</bold>与<bold>智慧</bold>。',code>

speaker='中文男',code>

style='Theo \'Crimson\', is a fiery, passionate rebel leader. Fights with fervor for justice, but struggles with impulsiveness.'code>

)

#将生成的语音保存为wav文件

torchaudio.save('instruct.wav', output['tts_speech'], 22050)

(2)web端测试代码

未完......

更多详细的内容欢迎关注:杰哥新技术



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。