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)调用接口测试代码
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='你好,我是通义生成式语音大模型,请问有什么可以帮您的吗?',
speaker='中文女'
)
#将生成的语音保存为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='收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。',
additional_text='希望你以后能够做的比我还好呦。',
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.',
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>。',
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)
(2)web端测试代码
未完......
更多详细的内容欢迎关注:杰哥新技术
总结
**CosyVoice多语言语音理解模型概述**CosyVoice是一款由阿里通义实验室开源的多语言语音理解模型,专注于提供高质量、自然逼真的语音合成服务。该模型通过超过15万小时的数据训练,支持中文、英文、日语、粤语和韩语等多种语言,展现出卓越的多语言语音合成能力。
**核心特色**:
- **多语言支持**:涵盖中文、英语、日语、粤语、韩语等,满足不同语言地区用户的需求。
- **零样本学习**:仅凭简短的参考语音即可复制任意声音,实现声音的高度一致性及说话者特征精准还原。
- **音色克隆**:支持one-shot音色克隆技术,仅需3-10秒原始音频即可生成模拟音色,保留韵律、情感等细微差别。
- **情感与风格控制**:可对生成的语音进行细粒度的情感、语调、语速和音调调节,使语音更具表现力和多样性。
- **高层次功能**:包括跨语言声音合成和基于指令的语音生成模式,进一步拓宽了语音合成的应用场景。
**环境安装步骤**:
1. **Python环境**:推荐使用3.10及以上版本。
2. **依赖库安装**:通过pip命令安装PyTorch及其他必要的库文件。
3. **模型下载**:提供多个版本的模型下载链接,包括300M、300M-SFT、300M-Instruct及ttsfrd等模型,适用于不同的语音合成需求。
**功能测试与示例代码**:
- 详细介绍了如何调用不同模式下的语音生成函数,包括初始化CosyVoice模型、列出可用发音人、使用SFT(监督微调)模式、Zero-Shot(零样本)模式和Cross-Lingual(跨语言)模式进行推理,以及最终保存生成的语音文件。
- 示例代码展示了从模型初始化到语音生成的全流程,包括文本输入、语音生成参数设置及结果保存等,便于用户快速上手和测试。
**实用价值与前景**:
CosyVoice作为一款功能强大的多语言语音理解模型,在广告配音、有声读物、虚拟角色语音等方面具有广泛的应用潜力。其高度自定义化和多样化的语音合成能力使其能够适应各种复杂的语音场景,为用户提供更加流畅的交互体验。同时随着技术的不断优化和完善,CosyVoice有望成为未来智能语音领域的重要推动力之一。
**获取更多信息**:
访问GitHub项目地址(https://github.com/FunAudioLLM/CosyVoice)或关注“杰哥新技术”公众号以获取最新技术动态和详细教程。