语音合成(Text-to-speech,TTS)是指文本到音频的人工转换,也可以说给定一段文字去生成对应的人类读音。人类通过阅读来完成这项任务,而一个好的TTS系统是让计算机自动完成这项任务。

在打造这样一个系统时,一个非常有趣的地方是为生成的音频选择哪个声音,是男人还是女人的声音?声音是大还是小?

在使用深度学习创建TTS时,这有一个限制,你必须收集文本-音频的数据集,而录制演讲的演讲者可能是固定的——因为你不可能有无限多个演讲者!

所以,如果你想为自己或他人的声音创建音频,唯一的方法就是收集一个全新的数据集。

来自谷歌名为 Voice Cloning 的人工智能研究使计算机可以用任何类型声音发出声音。

Voice Cloning是怎样工作的

很明显,为了让电脑能够使用任何类型声音发出声音,它需要理解两件事:它读的是什么以及它是如何读的。

因此,谷歌研究人员设计的语音克隆系统有两个输入:我们想要读取的文本和我们想要用来阅读文本的语音样本。

例如,如果我们想让蝙蝠侠读“我爱披萨”这句话,那么我们会给系统两样东西:“我爱披萨”的文本和一小段蝙蝠侠的声音样本,这样它就知道蝙蝠侠的声音应该是什么样的。而电脑的输出应该是蝙蝠侠说“我爱披萨”的声音音频!

从技术角度来看,系统分为3个顺序组件:

  1. 给定我们希望使用的声音的一个小音频样本,将语音波形编码为一个固定的维向量表示

  2. 给定一段文本,也把它编码成向量表示。将语音和文本这两个向量结合起来,将它们解码成声谱图

  3. 使用声码器将声谱图转换成我们可以听到的音频波形。

系统的简化版本

在文章中,我们对这三个部分分别进行了训练。

在过去几年中,语音合成系统在深度学习社区中得到了很多研究关注。事实上,有很多基于深度学习针对语音合成的解决方案都非常有效。

这里的关键是,系统能够将编码器从语音中学到的“知识”应用到文本中。

在分别编码后,将语音和文本组合在一个公共的嵌入空间中,然后进行解码,生成最终的输出波形。

克隆声音的相关实现代码

多亏了人工智能社区中开放源码思想的美妙之处,在这里有一个公开可用的语音克隆实现!你可以按照下面的介绍这样来使用它。

  1. 首先克隆仓库:

git clone https://github.com/CorentinJ/Real-Time-Voice-Cloning.git

  1. 安装必要的库并确保使用的是Python 3的版本:

pip3 install -r requirements.txt

  1. 在README文件中,你还可以找到下载预训练模型和数据集的链接,并尝试一些示例。

  2. 最后,你可以运行以下命令打开GUI:

python demo_toolbox.py -d <datasets_root>

下面是我这边运行操作的一个截图:

正如你所看到的,右上角的输入框中是我想让电脑阅读的文字:“Did you know that the Toronto Raptors are Basketball champions? Basketball is a great sport.”

你可以点击每个部分下面的 “Random” 按钮来随机化语音输入,然后点击 “Load” 将语音输入加载到系统中。

Dataset 从你选择的语音样本中选择数据集,Speaker 选择说话的人,Utterance 选择输入语音所说的短语。如果想听输入的语音是怎样的,只需点击 “Play” 按钮。

一旦你点击 “Synthesize and vocode” 按钮,算法就会运行。一旦运行结束,你将听到扬声器以某个声音朗读你的输入文本。

你甚至可以录制你自己的声音作为输入,只需要点击 “Record one” 按钮。相信我,这会非常有趣!

更进一步

如果你想了解更多关于这个算法的工作原理,你可以阅读谷歌的官方NIPS论文。这里(https://google.github.io/tacotron/publications/speaker_adaptation/)还有一些音频样本结果。

论文链接:

https://arxiv.org/pdf/1806.04558.pdf

欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/

欢迎关注PyTorch官方中文教程站:
http://pytorch.panchuang.net/

现在你可以通过深度学习用别人的声音来说话了相关推荐

  1. 【第20期】实践深度学习?先接住这三板斧再说

    作者:木羊同学 来源:华章计算机(hzbook_jsj) 深度学习发展到现在,已经不是红不红的问题,真的是那种谈项目做课题不扯两句深度学习,别人就要来怀疑你用的技术是不是落后于时代.可是,深度学习的书 ...

  2. 深度学习利器: TensorFlow系统架构及高性能程序设计

    2015年11月9日谷歌开源了人工智能平台TensorFlow,同时成为2015年最受关注的开源项目之一.经历了从v0.1到v0.12的12个版本迭代后,谷歌于2017年2月15日发布了TensorF ...

  3. 语音识别的前世今生 | 深度学习彻底改变对话式人工智能

    在过去几年中,人们在人工智能和深度学习领域的突破,让语音识别的探索跨了一大步.市面上玲琅满目的产品也反映了这种飞跃式发展,例如亚马逊Echo.苹果Siri 等等.本文将回顾语音识别技术领域的最新进展, ...

  4. 声音领域的算法库一般有librosa、essentia、torchaudio、深度学习等

    这个领域的算法库一般有librosa.essentia.torchaudio.深度学习等.这个领域目前的工程套路是: 首先声音是一维的时域信号,但是计算机看了觉得没啥用(你看wav文件那些采样点,这些 ...

  5. 新手如何开始学深度学习?别着急,看看别人走过的路先

    点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Arkar Min Aung 编译:ronghuaiyang 前戏 新手如 ...

  6. 转载别人的深度学习学习流程

    @转载别人的深度学习学习流程 转载链接:https://blog.csdn.net/qq_25024883/article/details/83507850 目录 Lecture I: Introdu ...

  7. Facebook 发布深度学习工具包 PyTorch Hub,让论文复现变得更容易

    近日,PyTorch 社区发布了一个深度学习工具包 PyTorchHub, 帮助机器学习工作者更快实现重要论文的复现工作.PyTorchHub 由一个预训练模型仓库组成,专门用于提高研究工作的复现性以 ...

  8. 深度学习在计算机视觉中的应用长篇综述

    深度学习在计算机视觉中的应用长篇综述 前言 2012年ImageNet比赛,使深度学习在计算机视觉领域在全世界名声大震,由此人工智能的全球大爆发.第一个研究CNN的专家使Yann LeCun,现就职于 ...

  9. 吴恩达《深度学习》第四门课(2)卷积神经网络:实例探究

    2.1为什么要进行实例探究 (1)就跟学编程一样,先看看别人怎么写的,可以模仿. (2)在计算机视觉中一个有用的模型,,用在另一个业务中也一般有效,所以可以借鉴. (3)本周会介绍的一些卷积方面的经典 ...

最新文章

  1. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...
  2. android 5.0 ios 8,iOS 8与Android 5.0大比拼:功能相同 体验不同
  3. TCP建立连接三次握手和释放连接四次握手
  4. C#发现之旅第二讲 C#-XSLT开发
  5. 使用Spring Security,Thymeleaf和Okta保护Java应用程序的安全
  6. react context_使用React Context API-入门
  7. 简洁商城系统后台管理模板
  8. [Java] 蓝桥杯ALGO-150 算法训练 6-1 递归求二项式系数值
  9. 检查库文件的rpath命令
  10. Arcgis拓扑检查必须相互覆盖操作步骤
  11. MATLAB图像拼接算法及实现(一)
  12. Google 为什么选择 Jetty,放弃 Tomcat
  13. 内存泄露和LeakCanary的故事
  14. 2021高考成绩查询怎么查小分,2021微信哪个小程序可以查成绩 高考成绩怎么查
  15. 华为云weblogic10.3.6打补丁
  16. 分布式系统数据层设计模式
  17. 全球及中国常规救生艇行业研究及十四五规划分析报告
  18. 重要极限一:x趋近于0,sinx/x的极限
  19. 保监会的权力---满足投保人知情权。
  20. STM32官方的一些参考手册资料

热门文章

  1. js修改伪元素的属性、styleSheets获取样式表,Failed to read the 'cssRules' property from 'CSSStyleSheet' Cannot acces
  2. 比较员工的年龄大小(继承、异类集合、static)
  3. 苹果手机怎么备份所有数据_手机数据丢失怎么办?三种备份神技,手机告别数据丢失...
  4. BT源代码学习心得(十五):客户端源代码分析(下载过程中的块选取策略)
  5. 国内最前沿的科技——室内导航技术发展及其现状
  6. Python--小游戏俄罗斯方块
  7. (Python语法篇)4.序列(3)字典
  8. 由“三姬分金”到“海盗分金”
  9. 从质量低到高带你了解影片名里面的TC、HD等的含义
  10. 【GIT】git cz配置使用方法