如何模仿/复制/伪造某人的声音?


19

是否有任何现有的应用程序可以对某人的声音进行采样,然后使用它来调制其他声音或合成类似于原始声音的文本?

例如,此AT&T的“文本到语音”演示使您可以从预设中选择一种语音和一种语言,我猜这些预设是基于已采样的某些人类语音的。

您如何称呼这个过程?是语音调制吗?语音合成?


我想如果您有足够的培训样本,特别的单词,那么这可能是可能的
Phorce 2013年

在研究界,这称为“语音转换”。
pichenettes

@ user1582478我有很多,您将如何进行?
clapas

是否可以通过说一个朋友来创建声音,然后在电话中进行直播,就像语音变体一样,但是使用您创建的声音?

这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方发表评论-您可以随时对自己的帖子发表评论,一旦您拥有足够的声誉,就可以在任何帖子中发表评论
Matt L.

Answers:


24

首先要注意的是:大多数现代文本转语音系统(例如您链接到的AT&T的系统)都使用级联语音合成。这项技术使用了一个大型数据库,该数据库记录着一个人的语音,上面说出了很长的句子集-选择这些单词是为了使最大数量的音素组合出现。只需将来自该语料库的片段串在一起即可完成句子的合成-具有挑战性的一点是使串在一起变得无缝且富有表现力。

如果要使用此技术使奥巴马总统说出尴尬的话,有两个大障碍:

  • 您需要访问大量目标语音的句子,最好以统一的录音条件和高质量进行录音。AT&T的预算是在同一个录音棚里录制数十个小时的相同讲话者的声音,但是如果您想在录制的5分钟内伪造某人的声音,这将很困难。
  • 在记录的原材料处于正确的“格式”以供串联语音合成系统利用之前,需要进行大量的手动调整和预处理。

您的直觉是可行的解决方案-只要您有预算来解决这两个问题即可。

幸运的是,还有其他技术可以在更少的监督和更少的数据下工作。对“伪造”或“模仿”来自录音的一种语音感兴趣的语音合成领域被称为语音转换。您有目标说话人A说句1的录音A1和源说话人B说句2的录音B2,您的目标是制作讲话人A说句2的录音A2,可能会访问说话人B的录音B1他/她的声音与目标说话者相同。

语音转换系统的概述如下:

  1. 从记录A1中提取音频特征,并将它们聚类为声学类别。在这个阶段,有点像让演讲者A的所有“ a”,演讲者A的所有“ o”等等都被带走。请注意,这比真正的语音识别要简单得多,而且操作比较粗糙-我们不感兴趣识别正确格式的单词-我们甚至不知道哪个包包含“ o”,哪个包包含“ a”-我们只知道每个包中都有多个相同声音的实例。
  2. 在B2上执行相同的过程。
  3. 来自A1和B2的声音类别已对齐。为了继续进行袋的类比,这等效于将步骤1和2中的袋配对,因此,扬声器A中这个袋子中的所有声音应该与扬声器B中那个袋子中的声音相对应。这种匹配是如果在步骤2中使用了B1,则操作起来会容易得多。
  4. 为每对袋子估计一个映射函数。因为我们知道这个包包含说话者A发出的声音,而那个包却发出相同的声音,但是说话者B发出了声音-我们可以找到一个使它们对应的运算(例如,特征向量上的矩阵乘法)。换句话说,我们现在知道如何使扬声器2的“ o”听起来像扬声器1的“ o”。
  5. 在此阶段,我们准备好所有卡以执行语音转换。从B2录音的每个片段中,我们使用步骤2的结果来确定它对应于哪个声学类别。然后,我们使用在步骤4估计的映射函数来转换切片。

我坚持这样一个事实,即该操作的级别要比对B2进行语音识别然后使用A1的语音作为语料库进行TTS进行的操作低得多。

步骤1和步骤2使用了各种统计技术-GMM或VQ是最常用的技术。第2部分使用了各种对齐算法-这是最棘手的部分,显然,对齐A1 vs B1比对齐A1 vs B2更容易。在较简单的情况下,可以使用诸如动态时间规整之类的方法进行对齐。对于步骤4,最常见的变换是特征向量上的线性变换(矩阵乘法)。更复杂的转换会产生更逼真的模仿,但要找到最佳映射的回归问题则更难解决。最后,至于步骤5,重新合成的质量受到所使用功能的限制。LPC通常更容易使用简单的转换方法处理(采用信号帧->估计残差和LPC频谱->如有必要,音调移位残差-> 将修改后的LPC频谱应用于修改后的残差)。在这里,关键是要使用可以倒转到时域的语音表示形式,并在韵律和音素之间提供良好的分隔。最后,如果您可以使用说话者A和B对准他们的同一句话的录音,那么可以使用统计模型在一个模型估计过程中同时处理步骤1、2、3和4。

稍后我可能会再返回参考书目,但是一个很好的地方可以开始体会到该问题,而解决该问题的整体框架是Stylianou,Moulines和Cappé的“基于概率分类和谐波的语音转换系统加噪声模型”。

据我所知,没有广泛的软件可以执行语音转换,只有软件可以修改源语音的属性(例如音高和声道长度参数(例如IRCAM TRAX变压器)),而您不得不将其弄乱,以使自己的录制更接近目标语音的声音。


糟糕的答案!如果没有这个比喻,我可能无法理解它。。。在这么清晰的解释之后,我只有一件事不明白:据我所知,您永远可以拥有B1!非常感谢你。
clapas

如果A和B讲不同的语言,则不是这样(在语音转换中有许多不可思议的应用,其中以您自己的声音播放另一种语言的TTS!)。或者,如果A和B都是著名人物,那么您在所有公开的录音中都找不到足够长的普通句子,并且如果您不会说他们的语言,那么您就无法将语音录音用作两者之间的“桥梁”。
pichenettes

我懂了。再次感谢@pichenettes。我将尝试看一看Stylianou等人推荐的书。干杯
clapas

请使用指向您的缩写词的链接来更新您的答案。例如LPC,VQ,GMM。
aaronsnoswell,2015年

回应aaronsnoswell的评论:LCP:线性预测编码,VQ:矢量量化,GMM:高斯混合模型。由于每个缩写词都是一个复杂的主意,因此仅对这些首字母缩写词的扩展不会有很大帮助,但是(大致)每个主意都与从一组现有样本中建模或解释pst或未来数据有关,这并不明显。
GregD

2

您可以使用诸如MorphVox之类的东西是一个示范。该过程称为语音变形或转换。如果您对技术方面感兴趣,可以阅读最近发表的文章:使用动态内核偏最小二乘回归进行语音转换


Dark Vader的声音令人震惊,很有趣。好吧,我以前见过类似的效果。谢谢
clapas

1

我正在寻找同一件事,但无法完成。苏格兰有一家名为CereProc的公司进行语音建模,但他们需要在实验室录制音频时间的人,而为单个语音建模的成本约为3万美元。


0

您正在寻找的被称为声码器。

您是否尝试过Audcity的声码器?可以从以下网址下载Audacity:http : //audacity.sourceforge.net/download。有关如何使用它的演示,请访问https://www.youtube.com/watch?v=J_rPEmJfwNs


1
声码编码包括应用一个音频记录的频谱包络(通常是声音)来过滤另一种声音(通常是原始的未调制合成器声音)。它不能用于伪造某人的声音。
pichenettes

是的,我知道Audacity,但是我没有尝试声码器。我认为您只能将白噪声应用于所录制语音的包络。谢谢
clapas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.