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

信息处理 调制 语音
2021-12-22 00:23:42

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

例如,AT&T 的这个 Text-to-Speech Demo可以让你从预设中选择一种声音和一种语言,我猜这些预设是基于一些已经采样的人类声音。

你怎么称呼这个过程?是语音调制吗?语音合成?

4个回答

第一个注意事项:大多数现代文本到语音系统,例如您链接到的 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 与 B1 显然比对齐 A1 与 B2 更容易。在更简单的情况下,可以使用动态时间扭曲等方法进行对齐。至于步骤 4,最常见的变换是对特征向量的线性变换(矩阵乘法)。更复杂的变换会产生更真实的模仿,但寻找最佳映射的回归问题更难解决。最后,至于第 5 步,再合成的质量受到使用的特征的限制。LPC 通常更容易处理简单的变换方法(获取信号帧 -> 估计残差和 LPC 频谱 -> 如有必要,音高偏移残差 -> 将修改后的 LPC 光谱应用于修改后的残差)。使用可以反转回时域的语音表示,并在韵律和音素之间提供良好的分离是这里的关键!最后,如果您可以访问说话者 A 和 B 说同一个句子的对齐录音,那么就有统计模型可以在一个模型估计过程中同时处理步骤 1、2、3 和 4。

稍后我可能会带着参考书目回来,但是一个很好的开始感受这个问题的地方以及用于解决它的整体框架是 Stylianou、Moulines 和 Cappé 的“基于概率分类和谐波的语音转换系统加噪声模型”。

据我所知,没有广泛的软件可以执行语音转换——只有软件修改源语音的属性——比如音高和声道长度参数(例如 IRCAM TRAX 转换器)——你必须使用它来制作你的录制更接近目标声音的声音。

您可以使用MorphVox 之类的东西。是一个演示。该过程称为语音变形或转换。如果您对技术方面感兴趣,可以学习最近的一篇文章是Voice Conversion Using Dynamic Kernel Partial Least Squares Regression

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

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

你试过 Audcity 的声码器吗?Audacity 可以从以下网址下载:http ://audacity.sourceforge.net/download 。有关如何使用它的演示可以在https://www.youtube.com/watch?v=J_rPEmJfwNs找到。