【AI工具声音克隆】——OpenVoice一键部署modelScope一键使用

news/2024/5/18 19:15:58

一、声音/音色克隆简介

声音或音色克隆的原理实现步骤主要基于深度学习技术,特别是语音合成和生成模型。以下是声音/音色克隆的大致实现步骤:

  1. 数据收集
    • 收集语音数据,作为模型的训练样本。
    • 数据应尽可能多样化,包括不同的语速、语调、音量以及不同的语境下的语音。
  2. 预处理
    • 对收集到的语音数据进行清洗,去除噪声、静音片段和其他不需要的部分。
    • 进行语音分割,将连续的语音信号切割成较小的语音片段(如音素或单词)。
    • 提取音频特征,如MFCC(Mel频率倒谱系数)、频谱图等,这些特征将用于后续的声音建模。
  3. 模型训练
    • 使用深度学习技术,如循环神经网络(RNN)、长短时记忆网络(LSTM)或Transformer等,构建声音克隆模型
    • 模型通常由两部分组成:编码器(Encoder)和解码器(Decoder)。编码器负责从目标说话人的语音数据中提取声音特征,并生成一个低维表征向量(如speaker embedding),这个向量包含了目标说话人的音色信息。解码器则负责根据这个表征向量和输入文本,生成与目标说话人音色相似的新语音
    • 通过大量的训练数据,模型能够学习到如何将文本转换为特定音色的语音。
  4. 声音合成
    • 当给定一段文本时,声音克隆模型首先使用编码器生成一个与目标说话人音色相似的表征向量
    • 然后,解码器使用这个表征向量和输入文本,通过一定的合成算法(如波形合成、参数合成等),生成与目标说话人音色相似的新语音。
  5. 后处理与优化
    • 对生成的语音进行后处理,如去噪、平滑等,以提高语音质量。
    • 可以通过一些优化技术,如微调模型参数、增加训练数据等,来进一步提高声音克隆的效果。
  6. 评估与测试
    • 对生成的声音进行主观和客观的评估,以验证其是否与目标说话人的音色相似。
    • 可以使用各种评估指标,如MOS(Mean Opinion Score)评分、相似度评分等,来量化评估声音克隆的效果。
  7. 应用与部署
    • 将训练好的声音克隆模型部署到实际应用中,如智能客服、语音助手、有声读物等。
    • 根据具体应用场景,对模型进行定制和优化,以满足不同用户的需求。

二、OpenVoice

OpenVoice原型是Github发布的一个项目链接如下:

OpenVoice-github项目icon-default.png?t=N7T8https://github.com/myshell-ai/OpenVoice

使用时需要本地部署,但对新手来说,本地部署较为复杂,所以我们采用下面的较为简单的使用流程!


使用流程:

1、浏览器打开下面的Colab 笔记本文件链接

Colaboratory (简称为ColabQ)是由Google开发的一种基于云端的交互式笔记本环境。它提供了免费的计算资源(包括CPU、GPU和TPU) ,可让用户在浏览器中编写和执行代码,而无需进行任何配置和安装。

Colab文件icon-default.png?t=N7T8https://colab.research.google.com/github/camenduru/OpenVoice-colab/blob/main/OpenVoice_colab.ipynb界面如下:

点击运行符号,即可一键在colab上布置好这个项目所需要的各种环境。几分钟后运行完成,会提供一个链接:

点击链接即可跳转到项目的使用界面:

这个支持上传任意话语的音频文件,或者自己麦克风录制,不会让你读规定的文本:

这里我上传了一段工藤新一的中配干声文件(去除过背景音乐和噪声等),然后进行训练:

几秒就好了,很快,但是结果一言难尽。。。可能中文效果不好吧,不知怎么回事竟然把新一训练成一个“老嫂子”的女人声音。。。。


三、ModelScope

若想简单点的可以用这个,ModelScope工具链接:

modelscope官网icon-default.png?t=N7T8https://www.modelscope.cn/home

官网登陆后搜索声音,个人声音定制里即可:

但这个训练时只能录制它提供的语句,大概需要读20句话,但是是免费的,与剪映新出的功能差不多!

还提供了一些免费的训练好的音色模型,如下面丁真音色模型:


支持SDP/DP混合比,感情调节,音素长度和生成长度等的调节。


知识加油站:

1、详细介绍下OpenVoice?

OpenVoice是一个创新的开源项目,它利用最先进的深度学习技术,为开发者提供强大且易用的语音合成工具。以下是关于OpenVoice的详细介绍:

功能与特点:

  • OpenVoice是一种多功能的即时声音克隆方法,只需要参考发言者的一小段音频片段,就可以复制他们的声音,并用多种语言生成语音。
  • 它允许对声音风格进行细粒度控制,包括情感、口音、节奏、停顿和语调,此外还可以复制参考发言者的音色。
  • OpenVoice还实现了零样本跨语言声音克隆,适用于未包含在大规模发言者训练集中的语言。
  • 在计算上,OpenVoice也非常高效,其成本比市面上提供的性能较差的商业API低数十倍。

开源优势:

  • OpenVoice是一个完全免费且开源的项目,开发者可以自由使用、修改和分享代码。
  • 由于其开源性质,OpenVoice鼓励社区参与和贡献,从而促进了技术的持续发展和创新。

应用场景:

  • 智能助手与聊天机器人:OpenVoice赋予机器自然的语言交流能力,提升用户体验。
  • 有声读物与音频内容创作:自动转化电子书或文章,制作高质量的有声读物。
  • 无障碍技术:帮助视障人士阅读网页、电子邮件或其他文字信息。
  • 教育与培训:创建个性化的教学音频,提高学习效率。

2、详细介绍下modelscope?

ModelScope官网是一个AI模型社区及创新平台,由阿里巴巴达摩院联合CCF开源发展委员会共同推出。该平台致力于通过开放的社区合作,构建深度学习、机器学习等领域的创新应用。

  • 提供了一站式的模型探索体验、推理、训练、部署和应用服务
  • 用户可以在该平台上发现、学习、定制和分享心仪的模型
  • 不仅汇聚了各领域最先进的机器学习模型,还提供了CPU资源和GPU算力,以支持AI开发者的研究和创新
  • 还作为一个模型与数据集的托管平台,为AI开发者提供灵活、易用、低成本的一站式模型服务产品。这使得开发者能够更方便地利用先进的AI技术,推动创新应用的发展。

3、SDP/DP是什么?

在音频克隆模型中,通常会有两个主要的路径:一个是依赖于特定说话人(SDP)的路径,另一个是不依赖于特定说话人(DP)的路径。

  • SDP路径:这个路径专注于捕捉和模拟特定说话人的声音特征,如音调、音色、语速等。它通常需要使用大量的该说话人的语音数据来进行训练,以确保生成的音频能够准确地模仿该说话人的声音。
  • DP路径:这个路径则更加通用,不依赖于特定的说话人。它主要关注于语音的普遍特征,如语言结构、语法、语义等。DP路径可以使用来自多个不同说话人的语音数据进行训练,以提高模型的泛化能力。

往期精彩

STM32专栏(9.9)icon-default.png?t=N4N7http://t.csdnimg.cn/A3BJ2

OpenCV-Python专栏(9.9)icon-default.png?t=N4N7http://t.csdnimg.cn/jFJWe

AI底层逻辑专栏(9.9)icon-default.png?t=N4N7http://t.csdnimg.cn/6BVhM

机器学习专栏(免费)icon-default.png?t=N4N7http://t.csdnimg.cn/ALlLlSimulink专栏(免费)icon-default.png?t=N4N7http://t.csdnimg.cn/csDO4电机控制专栏(免费)icon-default.png?t=N4N7http://t.csdnimg.cn/FNWM7 


http://www.mrgr.cn/p/38456537

相关文章

论文笔记:(Security 22) 关于“二进制函数相似性检测”的调研

个人博客链接 注:部分内容参考自GPT生成的内容 [Security 22] 关于”二进制函数相似性检测“的调研(个人阅读笔记) 论文:《How Machine Learning Is Solving the Binary Function Similarity Problem》(Usenix Securi…

Vitis HLS 学习笔记--IDE软件高效操作指引

目录 1. 简介 2. 实用软件操作 2.1 C/RTL Cosimulation 选项 2.2 Do not show this dialog again 2.3 New Solution 2.4 对比 Solution 2.5 以命令行方式运行(windows) 2.6 文本缩放快捷键 2.7 查看和修改快捷键 2.8 将Vitis HLS RTL 导入 Viv…

iBarcoder for Mac:一站式条形码生成软件

在数字化时代,条形码的应用越来越广泛。iBarcoder for Mac作为一款专业的条形码生成软件,为用户提供了一站式的解决方案。无论是零售、出版还是物流等行业,iBarcoder都能轻松应对,助力用户实现高效管理。 iBarcoder for Mac v3.14…

IDEA 多模块项目报错 Cannot Save Settings 问题

IDEA 多模块项目报错 Cannot Save Settings 问题 Cannot Save Settings: Module "spring_cloud_sentinel_demo" must not contain source root "D:\java_test\Intesij_idea\spring_cloud_sentinel_demo\order_service_rest\src\main\resources"…

深入浅出DBus-C++:Linux下的高效IPC通信

目录标题 1. DBus简介2. DBus-C的优势3. 安装DBus-C4. 使用DBus-C初始化和连接到DBus定义接口和方法发送和接收信号 5. dbus-cpp 0.9.0 的安装6. 创建一个 DBus 服务7. 客户端的实现8. 编译和运行你的应用9. 瑞芯微(Rockchip)的 Linux 系统通常会自带 db…

如何使用提示测试为LLMs构建单元测试?

原文地址:how-to-build-unit-tests-for-llms-using-prompt-testing 确保您的人工智能交付:快速测试完美生成应用程序的基本指南 2024 年 4 月 26 日 如果你曾经编写过软件,你就会知道测试是开发过程中必不可少的一部分。特别是单元测试&#…

WebAssembly 入门教程 c++、python编译wasm

WebAssembly 入门 了解 wasm 使用场景,复杂对象传递和经验法则。 简介 WebAssembly 是一种新的编码方式,可以在现代的网络浏览器中运行。它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并…

Linux网络-ssh远程连接协议

SSH基础 1.ssh协议概述SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能; SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令; SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输…

Java中接口的默认方法

为什么要使用默认方法 当我们把一个程序的接口写完后 用其他的类去实现,此时如果程序需要再添加一个抽象方法的时候我们只有两种选择 将抽象方法写在原本的接口中 但是这样写会导致其他所有改接口的实现类都需要实现这个抽象方法比较麻烦 写另一个接口 让需要的实…

MVP+敏捷开发

MVP敏捷开发 1. 什么是敏捷开发? 敏捷开发是一种软件开发方法论,旨在通过迭代、自组织的团队和持续反馈,快速响应需求变化并交付高质量的软件。相较于传统的瀑布模型,敏捷开发强调灵活性、适应性和与客户的紧密合作。敏捷开发方…

13.1 QQ邮箱

1. 邮箱发送 2. 准备工作 3. 整合SpringBoot 3.1 配置 依赖引入 <!-- 邮件服务--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>application.…

部署YUM仓库及NFS共享服务

目录1.YUM仓库服务(1)部署YUM软件仓库(1)准备安装源(2)构建CentOs7软件仓库(3)在软件仓库中加入非官方RPM包组(3)如何搭建本地源仓库、ftp源仓库?2.NFS共享存储服务(1)使用NFS发布共享资源 1.YUM仓库服务 (1)部署YUM软件仓库 YUM 基于RPM包构建的软件更新机制 可…

GLASGOW SMILE: 1.1

靶机描述 靶机地址:https://download.vulnhub.com/glasgowsmile/GlasgowSmile-v1.1.zipDescription Title: Glasgow SmileUsers: 5 Difficulty Level: Initial Shell (Easy) - Privileges Escalation (Intermediate) Hint: Enumeration is the key.If you are a newbie in Pen…

Linux网络-Yum仓库

Yum仓库 1.yum概述 Yum (Yellow dog Updater, Modified) 是一个基于rpm包构建的软件更新机制,能够自动解决软件包之间的依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。节省了日常工作中的大量查找安装依赖包的时间。 2.yum工作原理 yum依赖于环境,…

[NeurIPS-23] GOHA: Generalizable One-shot 3D Neural Head Avatar

[pdf | proj | code] 本文提出一种基于单图的可驱动虚拟人像重建框架。基于3DMM给粗重建、驱动结果&#xff0c;基于神经辐射场给细粒度平滑结果。 方法 给定源图片I_s和目标图片I_t&#xff0c;希望生成图片I_o具有源图片ID和目标图片表情位姿。本文提出三个分支&#xff1a;…

DarkHole: 2

靶机描述 靶机地址:https://download.vulnhub.com/darkhole/darkhole_2.zipDescription Difficulty:Hard This works better with VMware rather than VirtualBox Hint: Dont waste your time For Brute-Force信息收集 主机发现 利用arp-scan -l命令扫描靶机IP arp-scan -l开放…

Hackable: III

靶机描述 靶机地址:https://download.vulnhub.com/hackable/hackable3.ovaDescription Focus on general concepts about CTF Difficulty: Medium This works better with VirtualBox rather than VMware.信息收集 nmap探测详细端口信息 nmap -sS -sV -A -p- 192.168.56.106探…

Hackable: II

靶机描述 靶机地址:https://download.vulnhub.com/hackable/hackableII.ovaDescription Difficulty: easy This works better with VirtualBox rather than VMware信息收集 端口扫描 通过nmap扫描目标主机发现开放了3个端口 nmap -A -p 1-65535 192.168.56.101FTP发现Web发现 …

开源博客项目Blog .NET Core源码学习(20:App.Hosting项目结构分析-8)

本文学习并分析App.Hosting项目中后台管理页面的个人资料页面、修改密码页面。 个人资料页面 个人资料页面用于显示和编辑个人信息&#xff0c;支持从本地上传个人头像。整个页面使用了layui中的表单、日期与时间选择、上传等样式或模块&#xff0c;通过layui.css文件设置样式…

CORROSION: 1

靶机描述 靶机地址:https://www.vulnhub.com/entry/corrosion-1,730/Description Difficulty: Easy A easy box for beginners, but not too easy. Good Luck. Hint: Enumerate Property.信息收集 利用arp-scan -l命令扫描靶机IP arp-scan -l端口扫描 nmap -sS -p 1-65535 -sV…