波形比较

时间:2016-10-29 23:56:43

标签: machine-learning fft waveform phonetics

我正在从事个人研究项目。

我的目标是能够识别声音并通过将其波形与我的数据库中的波形进行比较来识别它是否属于IPA。我对Mathematica,SciPy和PyBrain有一些技巧。

对于第一阶段,我只使用英语(美国)语音字母表。 我在网上找到了一个简单的英语拼音字母测试库。这里的诀窍是:

我想将声音文件分成对应于不同音节的波形 - 这将采用学习算法。所以,'我喜欢苹果'将被切割成构成句子的音节波形。

然后将每个波形与英语PA的波形进行比较。我不确定如何做这部分。我正在考虑使用Praat来检测波形,捕获波形图像并将其与存储在数据库中的图像进行比较(这很有趣)。

这里的损坏是,我不知道如何让Praat自动生成波形文件,然后将音节切换成波形块。从逻辑上讲,我只是为学习算法准备测试用例并教会comp进行。

而不是需要波形图像 - 我可以通过快速傅里叶变换进行比较并比较两个fft' s-在x%的误差范围内,认为它是音节吗?

感谢任何建议或意见!非常感谢您的宝贵时间。

2 个答案:

答案 0 :(得分:1)

坦率地说,我并不是真的了解Praat,但我发现你的项目非常酷而有趣。我有使用它的声音进行汽车电机故障检测的经验,这可能与您的项目有关。我使用神经网络和SVM进行分类,因为多篇研究论文证明了这一点。因此,我对我选择的方式没有任何疑问。所以我的建议是,你应该研究并阅读一些关于它的论文。当你有这样的问题时它真的有用(它会起作用吗?我可以使用它还是我使用最佳解决方案?等等)。祝你好运,这是一个很棒的项目:)

答案 1 :(得分:1)

您可以尝试Praat scripting

仅使用FFT会给你带来相当可怕的结果。非常长的特征向量,很难细分和运行任何训练。单个音节的成千上万点。一些深度神经网络能够应对它,但这只是假设你正确设计它们并提供巨大的训练集。使用神经网络的优势在于它们可以从“原始数据”为您构建功能(我会认为fft也是“原始”)。但是,当您使用声音时,并不是那么急需 - 您可以手动设计功能。在声音的情况下,科学很清楚声音具有什么样的“特征”。

您可以使用Yaafe等库来计算这些功能。我推荐检查它,即使你没有用C ++或Python做 - 我提供的链接也提供了计算它们的公式。我在kiwi classifier中使用了其中一些。

另一个好方法来自scikit-talkbox,它提供了您可能需要的工具。