动态 | 百度新论文带来「声音克隆」,一个半小时的训练数据就可以复制你的声音

AI 科技评论按:日前百度发布了一篇新论文介绍了自己在语音生成方面的最近进展。之前的 Deep Voice 系统已经可以生成高质量的语音,而现在,百度新开发的语音生成系统不仅可以把说话声音从固定的一种增加到了上千种,得以模仿数千个不同说话者的声音,而且每个说话者只需要不到一个半小时的训练数据。

这种惊人表现背后的技术理念就是从不同说话者中独立学习共通的和差异性的信息。而且在此基础上,百度的研究人员们打算更进一步,尝试只从几秒长度的短句中学习说话者的声音特点。通常我们把这类问题称为「语音克隆」。在人际交互接口的个性化订制场景中,研究者们预期语音克隆很可能会有重要作用。

为了解决语音克隆问题,在这项研究中百度的研究人员们把注意力主要放在了两种基础方法上:讲话人适配(speaker adaptation)和讲话人编码(speaker encoding),具体细节可参考上图。两种方法都可以用在带有讲话人嵌入(speaker embeddings,https://arxiv.org/pdf/1710.07654.pdf )的多讲话人语音生成模型中,同时还不降低生成的语音的质量。在生成语音的自然性和相比原讲话人的相似性方面,两种方法也都只需要很少的克隆样本就可以展现良好的表现。克隆生成的样本可以参见 https://audiodemos.github.io./ 。

讲话人适配方法是使用数个克隆样本,通过基于反向传播的优化方法对多讲话人语音生成模型做精细调节(fine-tune)。适配方法可以作用于整个模型,或者只作用于低维度的讲话人嵌入;后者表征每个讲话人所需的参数数量要少得多,尽管需要更长的克隆时间,生成的语音的质量也要稍差一些。

讲话人编码方法中需要训练一个单独的模型,用它直接从要克隆的语音样本中推断出新的讲话人嵌入,然后再把这个讲话人嵌入用在多讲话人语音生成模型中。这个讲话人编码模型中带有时域和频域的处理模块,可以从每个音频样本中提取得到关于讲话人身份的信息,然后用注意力模块把这些信息以最优方式结合起来。讲话人编码方法的好处包括克隆速度快(只需要几秒时间)、表征每个讲话人需要的参数数目少,使得这种方法更适用于在资源有限的环境中使用。

除了在研究中准确估测讲话人嵌入外,百度的研究人员们还发现讲话人编码器可以学会有意义地把不同的讲话人映射到嵌入空间中。比如,来自不同地域、性别、口音的讲话人可以被分别聚类。通过在学到的隐含空间中进行操作,就可以把某个说话者的性别或者口音转换成图中的样子。根据研究员们的测试结果表明,对于为新的讲话人生成语音以及模仿讲话人的声音特点,他们所提的方法非常有效。

AAAI 主席 Subbarao Kambhampati 也饶有兴趣地转发了百度介绍这项成果的技术博客,希望这个技术抓紧实用起来,只要设置好了自己的声音,哄小孩睡觉的时候就再也不用花时间讲睡前故事了,有声读书器就可以用爸爸妈妈的声音讲故事。(不过 AI 科技评论编辑也担心这大概不利于培养亲子感情吧……)

论文地址: https://arxiv.org/pdf/1802.06006.pdf

via Baidu Research,AI 科技评论编译。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2018-03-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

遍历文件夹所有文件(示例)

//要引用 using System.Collections.Specialized; public StringCollection GetAllFile...

2159
来自专栏我和未来有约会

silverlight向服务器post数据类

using System; using System.Net; using System.Windows; using System.Windows.Co...

1975
来自专栏海说

Java应用中常见的JDBC连接字符串(SQLite、MySQL、Oracle、Sybase、SQLServer、DB2)

Java应用中常见的JDBC连接字符串 Java应用中连接数据库是不可或缺的,于是便整理一些可能用到的JDBC的jar包及其相匹配的URL,以备日后查阅。 1)...

2730
来自专栏互联网开发者交流社区

WinForm之窗体应用程序

1863
来自专栏码匠的流水账

聊聊EurekaRibbonClientConfiguration

spring-cloud-netflix-eureka-client-2.0.0.RELEASE-sources.jar!/org/springframewor...

1171
来自专栏积累沉淀

Hive2.0.0操作HBase 1.2.1报错解决

首先看错  org.apache.hive.service.cli.HiveSQLException: Failed to open new session: ...

2359
来自专栏C/C++基础

C#获取系统当前时间

ystem.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=Sy...

1153
来自专栏吴伟祥

Java Calendar 类的时间操作 原

Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。

783
来自专栏菩提树下的杨过

MSDN官方的ASP.Net异步页面的经典示例代码

示例1.演示异步获取一个网址的内容,处理后显示在OutPut这一Label上 using System; using System.Web; using S...

1995
来自专栏跟着阿笨一起玩NET

[C#]工具类—FTP上传下载

  不错的文章:http://www.cnblogs.com/greatverve/archive/2012/03/03/csharp-ftp.html

1201

扫码关注云+社区