API将语音分成音素/合成语音样本的新语音?

时间:2011-08-11 01:57:34

标签: api audio signal-processing phoneme

你知道那些技术爱好者记录某人声音的电影,他们的软件会把它分成音素吗?然后,他们可以使用哪个键入任何短语,并使其看起来好像目标正在说出来?

API版本中是否存在该软件?我甚至不知道谷歌会怎么做。

7 个答案:

答案 0 :(得分:13)

没有这样的软件。将任意语音分解为其组成音素只是部分解决的问题:speech-to-text软件仍然不完善,text-to-speech也是如此。

这个想法是重现目标语音的timbre。即使您能够完美地分割音频,重新排序音素也会产生具有不自然的节奏和语调的音频,更不用说拼接伪像了。那时你正在进行平滑,时间缩放和音调校正,所有这些都是理论上可以理解的,但在真实世界的数据上表现不佳,特别是当有问题的音频样本像一个音素,还需要保留音色。

这些问题在语音方面因基于重音和周围音素的声音的allophonic变化而变得复杂;为了忠实地产生低质量的音频近似,你需要详细了解目标的语言,重音和语音模式。

此外,你的最终问题是social engineering之一,当谈到他们认识的人的声音时,人们不容易愚弄。即使有大量的输入数据,最多也可以得到一个简短的低质量样本,几乎不足以进行对话。

所以,虽然这当然是可能的,但这很困难;即使它存在,它也不会总是足够好。

答案 1 :(得分:4)

SRI International(为iOS创建Siri的公司)有一个名为EduSpeak的SDK,它会接收音频输入并将其分解为单个音素。我知道这是因为我在大约一周前参观了该产品的演示。在演示期间,演示者向我们展示了使用SDK创建的应用程序。该应用程序提供了几行文本供演示者阅读。阅读完文本后,应用程序显示一个条形图,其中每个条形图代表他演讲中的音素。每个小节的高度代表每个音素发音的得分(演讲者不是英语母语人士,所以他在某些音素上得分低于其他音素)。演示者还可以单击每个单独的条,只使用原始音频播放单个音素。

所以,是的,存在将音频按音素划分的软件,它可以很好地完成非常的工作。现在,这些音素是否可以重新组合成语音是一个悬而未决的问题。如果我们最终获得SDK的试用版,我会试一试并告知您。

答案 2 :(得分:3)

如果你的目的是模仿别人的声音,那么另一种态度就是转换你自己的声音(而不是组装音素)。它(令人惊讶地)称为语音转换,例如http://www.busim.ee.boun.edu.tr/~speech/projects/Voice_Conversion.htm

答案 3 :(得分:2)

该技术被称为“语音合成”和“语音识别”

可以在Java voice JSAPI

找到此API的Java API

Apple有Apple speech

的API

微软有几个......这里讨论一个Vista speech

答案 4 :(得分:1)

你可以通过共振峰感知音高变换获得有趣的声音变形效果。 Adobe Audition的实现非常好。 Antares产生了一些有趣的vocal effects VST plugins

这些技术使用某种形式的linear predictive coding(LPC)将语音视为源过滤器模型。 LPC通过估计声道(共振峰)的共振,用逆滤波器反转其效果,然后对得到的残留信号进行编码来处理语音信号。残余信号理想地是表示声门脉冲的脉冲序列。这允许独立地缩放音高和共振峰,这导致比简单音高变换更好的性别转换结果。

答案 5 :(得分:1)

我不知道商用解决方案,但这个概念并不完全超出可能性范围。例如,特拉华大学拥有相当不错的软件来做到这一点。

http://www.modeltalker.com

答案 6 :(得分:1)

Lyrebird是一家致力于解决这个问题的初创公司。给定一个人的声音和一些书面文本的样本,它可以用样本中人的声音合成该书面文本的口头版本。