1

我正在做一个个人研究项目。

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

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

我想将声音文件分成对应于不同音节的波形——这将需要一个学习算法。因此,“我喜欢苹果”将被切割成构成句子的音节波形。

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

这里的损害是,我不知道如何让 Praat 自动生成一个波形文件,然后将它在音节之间切割成波形块。从逻辑上讲,我只会为学习算法准备测试用例并教 comp 去做。

不需要波形图像-我可以通过快速傅立叶变换来做到这一点并比较两个fft-在x%的误差范围内认为它是y音节吗?

4

2 回答 2

2

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

于 2016-10-30T01:32:28.490 回答
1

你可以试试Praat 脚本

仅使用 FFT 会给您带来相当糟糕的结果。非常长的特征向量,很难对其进行分割和运行任何训练。这是一个音节的数千分。一些深度神经网络能够应对它,但这是假设您正确设计它们并提供大量训练集。使用神经网络的优点是它们可以从“原始数据”中为您构建特征(我认为 fft 也是“原始数据”)。但是,当您使用声音时,它并不是那么迫切需要 - 您可以手动设计功能。就声音而言,科学非常清楚声音具有什么样的“特征”。

您可以使用Yaafe等库计算这些功能。即使您不是在 C++ 或 Python 中执行它,我也建议您检查它——我提供的链接还提供了用于计算它们的公式。我在我的猕猴桃分类器中使用了其中的一些。

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

于 2016-10-30T07:39:54.820 回答