阿里开源语音大模型CosyVoice:3秒还原声音,从部署到克隆的完整指南

前言

很久之前就想给大家介绍声音克隆开源项目GPT-SoVITS ,但是看到视频教程过于复杂了,最近又出现了一个剪辑《人民的名义》的短视频非常搞笑。

我就找到了一款最新更加强大的声音克隆项目CosyVoice。CosyVoice 是阿里通义实验室在七月初开源的一款专注于自然语音合成的语音大模型,它具备多语言、多音色和细腻的情感控制能力。这个系统支持中文、英文、日文、粤语和韩语五种语言的语音生成,并且在语音合成的效果上远超传统模型。

只需3到10秒的原始音频样本,CosyVoice便能够复刻出相似的音色,包括语调和情感等细节,实现跨语种的语音合成。

CosyVoice的另一个亮点在于它对生成语音情感和韵律的精细控制,这是通过富文本或自然语言输入实现的。这种控制机制显著提高了合成语音的情感表达能力。这使得生成的语音更加栩栩如生,充满情感色彩。

部署

首先需要找到官方项目的开源地址

github.com/FunAudioLLM…

首先克隆官方项目,创建一套独立的Python虚拟环境

git clone https://github.com/FunAudioLLM/CosyVoice.git


conda create -n cosyvoice python=3.8
conda activate cosyvoice


此时已经激活了虚拟环境,现在下载项目依赖的第三方包

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com


需要等待很长时间安装PyTorch

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

接着安装pyini
Pynini是一个基于字符串的传播和转换的库,可以用于各种自然语言处理任务,如词性标注、名词短语提取和依赖句法分析。

conda install -y -c conda-forge pynini==2.1.5

根据文档要提前下载模型,这里不使用阿里的魔搭包下载,而是使用Git下载,前提是安装git lfs 插件:

# git模型下载,请确保已安装git lfs
mkdir -p pretrained_models
git clone https://www.modelscope.cn/iic/CosyVoice-300M.git pretrained_models/CosyVoice-300M
git clone https://www.modelscope.cn/iic/CosyVoice-300M-SFT.git pretrained_models/CosyVoice-300M-SFT
git clone https://www.modelscope.cn/iic/CosyVoice-300M-Instruct.git pretrained_models/CosyVoice-300M-Instruct
git clone https://www.modelscope.cn/iic/CosyVoice-ttsfrd.git pretrained_models/CosyVoice-ttsfrd

模型文件非常大,又需要等待较长时间才能下载完成,但完成后即可成功使用,使用以下命令启动服务:

python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice-300M

这里有个坑,我这里是局域网访问,需要把webui.py文件中

...
demo.launch(server_port=args.port)
...

改成

...
demo.launch(server_port=args.port, server_name="0.0.0.0")
...

如果是本机访问可以忽略,这时访问局域网IP加端口号50000就能访问到这个由gradio库搭建的WebUI 网页应用了

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

测试

这里只简单测试一下,来找一段《还珠格格》中紫薇的语音素材,让它说一段毫无逻辑的台词。 台词内容:

我不敢苟同,因为我个人认为,这个意大利面就应该拌42号混凝土,因为这个螺丝钉的长度,它很容易会直接影响到挖掘机的扭矩你知道吧,你往里砸的时候,一瞬间它就会产生大量的高能蛋白,俗称ufo,会严重影响经济的发展,甚至对整个太平洋以及充电器都会造成一定的核污染,你知道啊?再者说,根据这个勾股定理,你可以很容易地推断出人工饲养的东条英机它是可以捕获野生的三角函数的,所以说这个秦始皇的切面是否具有放射性啊,特朗普的N次方是否含有沉淀物,都不影响这个沃尔玛跟维尔康在南极会合

第一步上传原素材的音频文件(可能需要处理以使效果更好),第二步输入原素材的音频文件对应的字幕,第三步输入想要的生成的语音的文案,最后一步点击生成,耐心等待

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

等待了30秒生成了21秒的视频,效果非常不错,生成的语音的效果跟素材非常相似,只是长段的语音文案生成时可能会丢失一部分内容(可以通过自己手动拼接处理这个问题)。

最后

又写了一篇从零开始部署开源大模型项目的文章,之前写了很多有兴趣的同学可以找到我的主页看看,后面也会继续关注相关的内容,如果感兴趣可以继续关注我,或者可以留言告诉我想看什么大模型实测效果。 如果觉得内容不错,欢迎点个关注
在这里插入图片描述

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

### CosyVoice 使用教程 #### 安装与环境准备 为了使用 CosyVoice 进行文本到语音(TTS)的转换,首先需要安装并配置相应的开发环境。确保已经准备好所需的依赖库和工具链。 ```bash git clone https://github.com/your-repo/CosyVoice.git cd CosyVoice pip install -r requirements.txt ``` 对于更高级的功能定制化需求,则需进一步设置特定模型及其关联的数据集路径[^3]: ```bash cd finetune vim finetune_lora_single_gpu.sh ``` 这一步骤允许用户修改脚本中的变量来适应不同的硬件条件或个人偏好。 #### 文本转语音基础操作 CosyVoice 提供了一个简单易用的应用程序接口(API),可以轻松地将输入的文字转化为高质量的声音文件。以下是基本命令行调用方式的例子: ```python from cosyvoice import TextToSpeech tts = TextToSpeech() audio_output = tts.generate(text="你好世界", language='zh') audio_output.save('output.wav') ``` 这段代码展示了如何创建 `TextToSpeech` 类实例,并通过其方法生成指定语言下的音频输出。这里选择了中文作为目标语言[^4]。 #### 处理长时间语音合成 当面对较长篇幅的内容时,直接一次性合成长时间连续播放可能会遇到一些挑战,比如部分细节丢失等问题。针对这种情况,建议采取分段处理的方式,在每一段之间适当停顿后再继续下一部分的录制工作[^2]: ```python sections = ["这是第一部分内容.", "接着是第二部分内容."] # 将整个文本分成多个较短的部分 for section in sections: audio_segment = tts.generate(section, 'zh') audio_segment.export(f"{section}.wav") # 单独保存每一小节的结果 ``` 这样不仅可以提高最终产品的质量,同时也便于后期编辑调整各个片段之间的衔接关系。 #### 输出带字幕的视频 除了单纯的音频之外,有时还需要制作带有同步显示文字说明的多媒体资料。利用第三方工具如FFmpeg可以帮助完成这一任务,具体做法是在上述基础上增加额外步骤以嵌入对应的视觉元素[^1]: ```bash ffmpeg -i input_video.mp4 -vf "subtitles=subtitle_file.srt" output_video_with_subtitles.mp4 ``` 此命令会读取原始无字幕版本的同时加载外部SRT格式的时间轴描述文档,从而得到融合了听觉与视觉信息的新成品。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值