字正腔圆,万国同音,coqui-ai TTS跨语种语音克隆,钢铁侠讲16国语言(Python3.10)

按照固有的思维方式,如果想要语音克隆首先得有克隆对象具体的语言语音样本,换句话说,克隆对象必须说过某一种语言的话才行,但现在,coqui-ai TTS V2.0版本做到了,真正的跨语种无需训练的语音克隆技术。
coqui-ai TTS实现跨语种、无需训练克隆语音的方法是基于Tacotron模型,该模型使用了一种音素输入表示来鼓励在不同语种之间共享模型容量。此外,还引入了对抗损失项,以鼓励模型将说话者身份与语音内容进行解耦。这使得模型能够在不同语种之间进行语音合成,而无需在任何双语或平行示例上进行训练。
具体来说,coqui-ai TTS首先使用音素输入表示:采用音素(语音的基本发音单位)作为输入表示,鼓励模型在不同语种之间共享模型容量,从而实现跨语种语音合成。
随后引入对抗损失项:对抗损失项的引入有助于模型将说话者身份与语音内容进行解耦,从而使模型能够在不同语种之间进行语音合成,而无需在双语或平行示例上进行训练。
此外,通过在训练过程中使用多个讲话者的语音数据,并引入自动编码输入来帮助稳定注意力,进一步扩展了模型的规模,使其能够在所有训练过程中看到的语种中一致地合成可理解的语音,包括训练讲话者的本地口音或外国口音。
本次我们基于coqui-ai TTS的2.0版本来让钢铁侠托尼斯塔克先生开口讲16国语言。
coqui-ai TTS语音克隆项目配置
首先克隆项目:
git clone https://github.com/v3ucn/coqui-ai_xTTS_v2.2_webui_cn.git
注意该项目并非官方项目,而是在其基础上的修改版本,添加了中文版本的webui。
进入项目的目录:
cd coqui-ai_xTTS_v2.2_webui_cn
随后安装依赖:
pip install -r requirements.txt
安装完成后,先在Python终端里测试一下:
import torch
from TTS.api import TTS
如果报下面这个错误:
from pydantic.typing import Annotated
ImportError: cannot import name 'Annotated' from 'pydantic.typing'
那么说明pydantic库的版本过高了,进行降级即可:
pip install pydantic<2
coqui-ai TTS语音克隆模型配置
随后下载2.0版本的模型,下载地址:
https://huggingface.co/coqui/XTTS-v2/tree/main
将其放入项目的models目录,结构如下:
E:\work\coqui-ai_xTTS_v2.2_webui_cn\models\tts>tree /f
Folder PATH listing for volume myssd
Volume serial number is 7CE3-15AE
E:.
│
├───tts_models--multilingual--multi-dataset--xtts_v2
│ config.json
│ dvae.pth
│ hash.md5
│ mel_stats.pth
│ model.pth
│ speakers_xtts.pth
│ tos_agreed.txt
│ vocab.json
随后,需要做一件重要的事,那就是配置模型目录的环境变量 TTS_HOME = E:\work\coqui-ai_xTTS_v2.2_webui_cn\models\
如图所示:

如果不设置环境变量,coqui-ai TTS会自动重复下载模型到C盘,非常的烦人。
coqui-ai TTS跨语种语音克隆推理
万事俱备,只欠推理,在终端执行命令:
python3 app.py
程序返回:
E:\work\coqui-ai_xTTS_v2.2_webui_cn>python app.py
> tts_models/multilingual/multi-dataset/xtts_v2 is already downloaded.
> Using model: xtts
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
注意程序初始化比较慢,另外设置了环境变量系统就会侦测到模型已下载。

默认用钢铁侠英文30秒素材作为克隆的数据集。
选择语速、语言即可直接推理,方便快捷。
这里需要注意的是,如果想让钢铁侠的音色讲日语,那么需要单独安装Mecab库,并且单独拷贝动态库,详见:Win11环境Mecab日语分词和词性分析以及动态库DLL not found问题(Python3.10),这里不再赘述。
除了钢铁侠的音色,我们也可以自主添加别的角色音色:

比如添加生化危机角色艾达王,那么把艾达王30秒的语音wav文件放入到项目的targets目录即可,命名规范:角色名.wav。
随后就可以在webui界面中选择艾达王的音色进行克隆。
结语
coqui-ai xtts支持多种语言,包括汉语、英语、韩语、日语、西班牙语、法语等。这意味着您可以使用coqui-ai xtts来合成多种语言的语音,而无需进行额外的训练或调整。其基于先进的深度学习技术,能够生成高质量、自然流畅的语音。这意味着即使在不同语种之间,coqui-ai xtts生成的语音也能保持高质量和自然度,正是居家旅行,口播嘴替的必备好库。
字正腔圆,万国同音,coqui-ai TTS跨语种语音克隆,钢铁侠讲16国语言(Python3.10)的更多相关文章
- 含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入)
所谓文无第一,武无第二,云原生人工智能技术目前呈现三足鼎立的态势,微软,谷歌以及亚马逊三大巨头各擅胜场,不分伯仲,但目前微软Azure平台不仅仅只是一个PaaS平台,相比AWS,以及GAE,它应该是目 ...
- 吾剑未尝不利,国内Azure平替,科大讯飞人工智能免费AI语音合成(TTS)服务Python3.10接入
微软Azure平台的语音合成(TTS)技术确实神乎其技,这一点在之前的一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),已经做过详细介绍, ...
- 闻其声而知雅意,基于Pytorch(mps/cpu/cuda)的人工智能AI本地语音识别库Whisper(Python3.10)
前文回溯,之前一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),利用AI技术将文本合成语音,现在反过来,利用开源库Whisper再将语音转 ...
- 登峰造极,师出造化,Pytorch人工智能AI图像增强框架ControlNet绘画实践,基于Python3.10
人工智能太疯狂,传统劳动力和内容创作平台被AI枪毙,弃尸尘埃.并非空穴来风,也不是危言耸听,人工智能AI图像增强框架ControlNet正在疯狂地改写绘画艺术的发展进程,你问我绘画行业未来的样子?我只 ...
- 人工智能,丹青圣手,全平台(原生/Docker)构建Stable-Diffusion-Webui的AI绘画库教程(Python3.10/Pytorch1.13.0)
世间无限丹青手,遇上AI画不成.最近一段时间,可能所有人类画师都得发出一句"既生瑜,何生亮"的感叹,因为AI 绘画通用算法Stable Diffusion已然超神,无需美术基础,也 ...
- 笔精墨妙,妙手丹青,微软开源可视化版本的ChatGPT:Visual ChatGPT,人工智能AI聊天发图片,Python3.10实现
说时迟那时快,微软第一时间发布开源库Visual ChatGPT,把 ChatGPT 的人工智能AI能力和Stable Diffusion以及ControlNet进行了整合.常常被互联网人挂在嘴边的& ...
- 好饭不怕晚,Google基于人工智能AI大语言对话模型Bard测试和API调用(Python3.10)
谷歌(Google)作为开源过著名深度学习框架Tensorflow的超级大厂,是人工智能领域一股不可忽视的中坚力量,旗下新产品Bard已经公布测试了一段时间,毁誉参半,很多人把Google的Bard和 ...
- 任务拆解,悠然自得,自动版本的ChatGPT,AutoGPT自动人工智能AI任务实践(Python3.10)
当我们使用ChatGPT完成某些工作的时候,往往需要多轮对话,比如让ChatGPT分析.翻译.总结一篇网上的文章或者文档,再将总结的结果以文本的形式存储在本地.过程中免不了要和ChatGPT" ...
- 人工智能AI图像风格迁移(StyleTransfer),基于双层ControlNet(Python3.10)
图像风格迁移(Style Transfer)是一种计算机视觉技术,旨在将一幅图像的风格应用到另一幅图像上,从而生成一幅新图像,该新图像结合了两幅原始图像的特点,目的是达到一种风格化叠加的效果,本次我们 ...
- 文心一言,通营销之学,成一家之言,百度人工智能AI大数据模型文心一言Python3.10接入
"文心"取自<文心雕龙>一书的开篇,作者刘勰在书中引述了一个古代典故:春秋时期,鲁国有一位名叫孔文子的大夫,他在学问上非常有造诣,但是他的儿子却不学无术,孔文子非常痛心 ...
随机推荐
- Oracle-复制表结构存在的问题
在生产中,创建一个新表tbl_A,要求与已有表结构tbl_B一致 create table tbl_A AS select * from tbl_B where 1=2; --拷贝表结构tbl_B给t ...
- CF1368B
题目简化和分析: 因为要求长度最小,所以我们每个字符就应该发挥最大的价值,不会有没有作用的字符. 设有 \(x_1\) 个 \(c\) ,\(x_2\) 个 \(o\) ,\(x_3\) 个 \(d\ ...
- 高性能日志脱敏组件:已支持 log4j2 和 logback 插件
项目介绍 日志脱敏是常见的安全需求.普通的基于工具类方法的方式,对代码的入侵性太强,编写起来又特别麻烦. sensitive提供基于注解的方式,并且内置了常见的脱敏方式,便于开发. 同时支持 logb ...
- VS Code C# 开发工具包正式发布
前言 微软于本月正式发布Visual Studio Code C#开发工具包,此前该开发套件已经以预览版的形式在6月份问世.经过4个月的测试和调整,微软修复了350多个问题,其中大部分是用户反馈导致的 ...
- Centos7安装Promethus
安装Prometheus(普罗米修斯)监控: 实验环境准备: 服务器 IP地址 Prometheus服务器 192.168.1.22 被监控服务器 192.168.1.20 grafana服务器 19 ...
- 如何去掉桌面快捷方式左下角的小箭头(Win11)
在对系统重命名之后,在快捷方式的左下角莫名的出现了小图标 如果想要去掉这个小图标 (1)首先在桌面上创建一个txt文件 (2)打开后输入指令 reg add "HKEY_LOCAL_MACH ...
- QT中级(1)QTableView自定义委托(一)实现QSpinBox、QDoubleSpinBox委托
1 写在前面的话 我们在之前写的<QT(7)-初识委托>文章末尾提到,"使用一个类继承QStyledItemDelegate实现常用的控件委托,在使用时可以直接调用接口,灵活实现 ...
- mysql 索引图
- Java 中 field 和 variable 区别及相关术语解释(转)
https://www.jianshu.com/p/08e2d85d3ce9 这是一个以前从没仔细想过的问题--最近在阅读Java Puzzlers,发现其大量使用了"域"这个词, ...
- GPTs Hunter 是什么?
原文: https://openaigptguide.com/openai-gpts-hunter/ GPTs Hunter 是一个功能强大的免费导航网站,支持多语言,提供用户友好的界面. GPTs ...