数字人的未来:数字人对话系统 Linly-Talker + 克隆语音 GPT-SoVITS

🚀数字人的未来:数字人对话系统 Linly-Talker + 克隆语音 GPT-SoVITS

https://github.com/Kedreamix/Linly-Talker

2023.12 更新 📆

用户可以上传任意图片进行对话

2024.01 更新 📆

  • 令人兴奋的消息!我现在已经将强大的GeminiPro和Qwen大模型融入到我们的对话场景中。用户现在可以在对话中上传任何图片,为我们的互动增添了全新的层面。
  • 更新了FastAPI的部署调用方法。
  • 更新了微软TTS的高级设置选项,增加声音种类的多样性,以及加入视频字幕加强可视化。
    • 更新了GPT多轮对话系统,使得对话有上下文联系,提高数字人的交互性和真实感。

2024.02 更新 📆

  • 更新了Gradio的版本为最新版本4.16.0,使得界面拥有更多的功能,比如可以摄像头拍摄图片构建数字人等。
  • 更新了ASR和THG,其中ASR加入了阿里的FunASR,具体更快的速度;THG部分加入了Wav2Lip模型,ER-NeRF在准备中(Comming Soon)。
  • 加入了语音克隆方法GPT-SoVITS模型,能够通过微调一分钟对应人的语料进行克隆,效果还是相当不错的,值得推荐。
  • 集成一个WebUI界面,能够更好的运行Linly-Talker。

在最近一段时间,我在尝试探索,如何克隆声音,因为在数字人对话系统中,虽然可能能够重建特定的人,但是还是存在一个问题:声音是用固定的人声生成的,导致没有真实性,如果我们能够去克隆出对应的声音,并且结合特定的数字人,那是否就完成了一个数字人的完整复刻。

于是我就研究了一段时间,后面发现了两个非常有意思的项目,分别是GPT-SoVITSXTTS两个开源项目,我认为这两个算是现在最好的两个开源项目了,像OpenVoice之类的效果还是比较差,火山效果不错,但是没有开源。

除此之外,我后续集成到了Linly-Talker之中,做了一个WebUI,能够通过我3~10s的语音大概克隆我的声音,同时也可以使用一分钟克隆训练的语音来操作,如果使用多一点的预料能够得到更好的效果,希望和大家一起努力,成功复刻出一个完整的数字人

具体也可以关注我B站的演示的视频🚀数字人的未来:Linly-Talker+GPT-SoVIT语音克隆技术的赋能之道和Linly-Talker WebUI🚀: 在对话时悄悄偷走你的声音🎤

GPT-SoVITS(推荐)

感谢大家的开源贡献,我借鉴了当前开源的语音克隆模型 GPT-SoVITS,我认为效果是相当不错的,项目地址可参考https://github.com/RVC-Boss/GPT-SoVITS

他有以下功能:

  1. 零样本文本到语音(TTS): 输入 5 秒的声音样本,即刻体验文本到语音转换。
  2. 少样本 TTS: 仅需 1 分钟的训练数据即可微调模型,提升声音相似度和真实感。
  3. 跨语言支持: 支持与训练数据集不同语言的推理,目前支持英语、日语和中文。
  4. WebUI 工具: 集成工具包括声音伴奏分离、自动训练集分割、中文自动语音识别(ASR)和文本标注,协助初学者创建训练数据集和 GPT/SoVITS 模型。

之前很多方法都是少样本,比如OpenVoiceXTTS,我之前也想着使用他们来进行实现语音克隆部分,但是很遗憾的是,并没有感觉有很好的效果,其实XTTS还是不错的,如果我们简单用麦克风🎤说几句话作为参考来进行克隆,我觉得效果还是可以的。

但是如果遇到比较高的要求,我觉得可能就需要更好的模型,并且成本也要打压下来,所以我就看到了这个GPT-SoVITS,我觉得这个模型是相当厉害的,少样本的TTS能做,也能做跨语言支持,这样我们很有可能就可以体验到奥巴马讲中文之类的,这样就可以完成视频翻译的一些任务了,所以我是很推崇这样的简单微调,效果又好的方法的。

为了尊重作者,在Linly-Talker并没有把GPT-SoVITS的全套代码搬过来,我写了一个关于语音克隆的类,大家可以将训练好的模型参数中,就可以在本项目使用经过语音克隆后的TTS了,希望大家玩的开心,玩的愉快。

如果使用语音克隆模型,可能需要python为3.10,pytorch为2.1左右可能比较好,我的环境已经测试过了,简单来说,先安装GPT-SoVITS的环境,再直接pip intsall -r requirements_app.txt即可使用

除此之外,还需要根据原作者的说明放入对应路径,我的预训练模型和存放位置已给出,可参考https://huggingface.co/Kedreamix/Linly-Talker

pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118
# 安装对应的依赖
pip install -r VITS/requirements_gptsovits.txt

# 启动如下的WebUI界面
python VITS/app.py 

在这里插入图片描述

Coqui XTTS

Coqui XTTS是一个领先的深度学习文本到语音任务(TTS语音生成模型)工具包,通过使用一段5秒钟以上的语音频剪辑就可以完成声音克隆将语音克隆到不同的语言。支持多种语言文本到语音转换,使其成为国际化应用的理想选择,这一特点特别适用于全球化的市场,其中需要生成多种语言的语音内容。所以在实验过程中,我也加入了这一部分,不过暂时使用的是默认的模型,并没有进行微调,个人认为是没有GPT-SoVITS经过微调后好的,但是其中的少样本五秒钟克隆语音还是值得称赞的。大家也可以在官方的在线体验,但是官方的可能会有生成语音限制,文字不能太长,但是还是足够我们体验了。

🐸TTS 是一个用于高级文本转语音生成的库。

🚀 超过 1100 种语言的预训练模型。

🛠️ 用于以任何语言训练新模型和微调现有模型的工具。

📚 用于数据集分析和管理的实用程序。

  • 在线体验XTTS https://huggingface.co/spaces/coqui/xtts
  • 官方Github库 https://github.com/coqui-ai/TTS

XTTS的环境也需要PyTorch 2.1所以,如果下载了GPT-SoVITS,也不妨体验一下XTTS的效果。

pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118

# 安装对应的依赖
pip install -r VITS/requirements_xtts.txt

# 启动如下的WebUI界面
python VITS/XTTS.py

在这里插入图片描述

Linly-Talker WebUI

之前我将很多个版本都是分开来的,实际上运行多个会比较麻烦,所以后续我增加了变成WebUI一个界面即可体验,后续也会不断更新

现在已加入WebUI的功能如下

  • 文本/语音数字人对话(固定数字人,分男女角色)
  • 任意图片数字人对话(可上传任意数字人)
  • 多轮GPT对话(加入历史对话数据,链接上下文)
  • 语音克隆对话(基于GPT-SoVITS设置进行语音克隆,内置烟嗓音,可根据语音对话的声音进行克隆)
# WebUI
python webui.py

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/410074.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】图——最短路径

最短路径问题:从在带权有向图G中的某一顶点出发,找出一条通往另一顶点的最短路径,最短也就是沿路径各边的权值总和达到最小。 最短路径分为图中单源路径和多源路径。 本文会介绍Dijkstra和Bellman-Ford解决单源路径的问题 Floyd-Warshall解…

实操 - openstack的自动化部署

一 、使用openstack自带的工具packstack部署allinone模式 此模式将所有的服务装在一个虚机中,用来测试 1.克隆一台虚拟机(配置好七项)virt-clone 2.下载openstack-packstack之前删除mariadb所有相关内容(可选项) #rpm -qa | grep mariad…

二叉树与堆

目录 1.树概念及结构 1.1树的概念 1.2 树的相关概念 1.3 树的表示 1.4 树在实际中的运用(表示文件系统的目录树结构) 2.二叉树概念及结构 2.1概念 2.2现实中的二叉树: 2.3 特殊的二叉树: 2.4 二叉树的性质 2.5 二叉树的…

kafka生产者

1.原理 2.普通异步发送 引入pom&#xff1a; <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.0.0</version></dependency><dependency><g…

【信息系统项目管理师】--【信息技术发展】--【现代化创新发展】--【大数据】

文章目录 第二章 信息技术发展2.2 新一代信息技术及应用2.2.3 大数据1.技术基础2.关键技术3.应用和发展 第二章 信息技术发展 信息技术是在信息科学的基本原理和方法下&#xff0c;获取信息、处理信息、传输信息和使用信息的应用技术总称。从信息技术的发展过程来看&#xff0c…

python常用文件操作

1.文件夹创建&#xff0c;删除&#xff0c;重命名&#xff0c;路径连接&#xff0c;文件打开&#xff0c;关闭读写 #文件夹创建 path ./test newpath "./new" #判断文件夹是否存在 ret os.path.exists(path) if ret:pass else:#创建文件夹os.mkdir(path)#文件夹重…

牛客周赛 Round 34 解题报告 | 珂学家 | 构造思维 + 置换环

前言 整体评价 好绝望的牛客周赛&#xff0c;彻底暴露了CF菜菜的本质&#xff0c;F题没思路&#xff0c;G题用置换环骗了50%, 这大概是唯一的亮点了。 A. 小红的字符串生成 思路: 枚举 a,b两字符在相等情况下比较特殊 a, b input().split() if a b:print (2)print (a)pri…

关系型数据库事务的四性ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)

关系型数据库事务的四性ACID:原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;和持久性&#xff08;Durability&#xff09; 事务的四性通常指的是数据库事务的ACID属性&#xff0c;包括原子性&…

Find My小风扇|苹果Find My技术与小风扇结合,智能防丢,全球定位

电风扇在我们的日常生活中也是经常会使用到的家电产品&#xff0c;尤其是在炎炎的夏日&#xff0c;风扇能给我们吹来清凉的凉风&#xff0c;如今随身携带的小风扇成为人们出门的必备物品&#xff0c;由于体积小方便经常会被人遗忘在某个地方导致丢失。 在智能化加持下&#x…

官方必读!脚本附赠技术教程系列:麒麟天御安全域管平台V4.0.0服务端云底座部署(2)

1.部署须知 1.1.部署说明 执行本部署操作文档&#xff0c;请用户知悉如下内容后再操作&#xff1a; 仅限用于部署麒麟容器云底座&#xff0c;部署前请准备好相应的物料&#xff1b;部署前请提前准备好集群LICENSE&#xff0c;用于激活容器云底座&#xff08;可使用临时版用于测…

vscode使用restClient实现各种http请求

vscode使用restClient实现各种http请求 一&#xff0c;安装插件 首先&#xff0c;我们要在vscode的扩展中&#xff0c;搜索rest Client&#xff0c;然后安装它&#xff0c;这里我已经安装过了。 安装后&#xff0c;我们就可以使用rest client插件进行http各种操作了。 二&…

动态规划的时间复杂度优化

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 优化动态规划的时间复杂度&#xff0c;主要有如下几种&#xff1a; 一&#xff0c;不同的状态表示。 比如&#xff1a;n个人&#xff0c;m顶帽子。 第一种方式&#xff1a;dp[i][mask] ,i表示前i个人已经选择帽子&…

听李国武老师讲帕累托图

一、帕累托图是什么&#xff1f; 帕累托图是一种特殊的图表&#xff0c;它以二维的方式展示数据&#xff0c;通过将数据按照两个特定的维度进行分类和排序&#xff0c;帮助我们更好地理解和分析数据。 二、如何使用帕累托图&#xff1f; 确定两个分类维度&#xff1a;首先&am…

力扣--动态规划1014.最佳观光组合

思路分析: 初始化左侧景点的评分为第一个景点的评分&#xff0c;最终结果为0。从第二个景点开始遍历数组。对于每个景点&#xff0c;计算当前观光组合的得分&#xff0c;即当前景点的评分 左侧景点的评分 - 两者之间的距离。更新最终结果为当前得分和之前结果的较大值。更新左…

数据结构:链表的冒泡排序

法一&#xff1a;修改指针指向 //法二 void maopao_link(link_p H){if(HNULL){printf("头节点为空\n");return;}if(link_empty(H)){printf("链表为空\n");return;}link_p tailNULL;while(H->next->next!tail){link_p pH;link_p qH->next;while(q…

探索创意的无尽宇宙——Photoshop 2020,你的视觉魔法棒

在数字艺术的广阔天地中&#xff0c;Photoshop 2020无疑是一颗璀璨的明星。这款由Adobe公司精心打造的图像处理软件&#xff0c;自推出以来&#xff0c;便以其强大的功能和卓越的性能&#xff0c;赢得了全球数百万设计师、摄影师和爱好者的青睐。无论是Mac还是Windows系统&…

UE引擎, 在create blueprint from selection中, 点击select卡死问题处理

1. bug场景 在创建子类时点击select&#xff0c; ue会直接冻结无法点击 2. 解决方案 点击“Edit” -> “Edit Preference” 选择Asset Editor Open Location的选项从默认改为“Main Window”即可解决问题 3. 问题产生的原因 原因是UE的弹窗在拓展显示器或者笔记本显示…

DIY制作耳机壳时使用哪一种胶粘剂性价比最高?

选择性价比最高的胶粘剂需要根据具体的应用场景和需求来确定。不同的胶粘剂有不同的特点和使用范围&#xff0c;因此其性价比也不同。 一般来说&#xff1a; 如果需要快速粘合、透明度高、粘合力强的场景&#xff0c;可以选择UV树脂胶&#xff1b; 如果需要高温、高强度的粘合…

复合式统计图绘制方法(1)

复合式统计图绘制方法&#xff08;1&#xff09; 常用的统计图有条形图、柱形图、折线图、曲线图、饼图、环形图、扇形图。 前几类图比较容易绘制&#xff0c;饼图环形图绘制较难。 在统计图的应用方面&#xff0c;有时候有两个关联的统计学的样本值要用统计图来表达&#xff0…

Webserver解决segmentation fault(core dump)段错问问题

前言 在完成了整个项目后&#xff0c;我用make命令编译了server&#xff0c;当我运行./server文件时&#xff0c;出现了段错误 在大量的代码中找出错因并不是一件容易的事&#xff0c;尤其是对新手程序员来说。而寻找bug的过程就像是侦探调查线索追查凶手一样&#xff0c;我们…
最新文章