如何比较单词发音?

时间:2011-06-11 19:49:33

标签: comparison audio

这是我的个人项目,我不知道从哪里开始,因为它超出了我的舒适区。

我知道有一些语言学习软件允许用户录制他或她的声音并将该声音与所述语言的母语人士进行比较。

我的问题是,如何实现这一目标?

我的意思是,如何比较用户和母语者之间的发音?

2 个答案:

答案 0 :(得分:2)

如果你正在寻找一些相对简单的东西,你可以简单地计算录音的MFCC(http://en.wikipedia.org/wiki/Mel-frequency_cepstrum),然后看一下像该单词的录音和平均系数由母语人士发音。 MFCC将音频转换为欧几里德距离与感知差异更紧密对应的空间。

当然,有几个可能的问题:

  1. 对齐两个录音,使系数匹配。要解决这个问题,您可以查看系数的最大互相关,而不是简单的相关性,这样您就可以免费获得自动“最佳对齐”。此外,您可能需要剪掉录音的末尾,因此只有该单词的实际发音仍保留在录音中。

  2. MFCC映射到感知空间,但可能与口音不准确性不一致。您也许可以尝试解决这个问题,而不是将其与“理想”发音进行比较,将其与几种不同类型的错误发音的平均值进行比较,并查看它最接近的模型。

  3. 即使是好的重音词也会与理想的“距离”平均。您必须考虑到这一点,并将输入的距离与“相对”良好距离进行比较。

  4. 相关性可能不是比较两种声音的相对相似性的最佳方式。试验许多不同的指标...尝试不同的L ^ p规范:(http://en.wikipedia.org/wiki/Lp_space),或尝试以不同的方式权衡不同的MFCC(如果我记得,即使在MFCC被采取后虽然它们都应该具有相同的感知“重量”,但是中间的那些对于我们感知声音的方式仍然比高或低更重要。)

  5. 声音中可能存在声音的某些部分,其中发音对于重音的质量更重要。也许瞬态检测找到那些位置并将它们标记为更重要将是好的。如果你有一大堆“好发音”和“坏发音”的例子,你可能会自动提取这些位置。

  6. 同样,最后,您将了解这些选项的哪种组合效果最佳的唯一方法是通过测试。

答案 1 :(得分:1)

我读过关于将普通说话者的语音空间的高斯混合模型适应于个人。这可能对非私人使用的非规范口音的培训很有用。

如果您只是将扬声器与一般发音模型进行比较,那么匹配可能不是很好。因此,我们的想法是在个人训练期间调整模型以更好地适应发言人。

Speaker Verification using Adapted Gaussian Mixture Models

编辑:再次查看您的问题,我想我回答了另一个问题。但该技术使用了类似的模型:

  1. 为各种语言建模(你有不同语言的大量数据吗?收集数据可能很难。)GMM很适合这个。
  2. 将扬声器的数据点与各种语言模型进行比较
  3. 选择作为获胜者的扬声器数据最佳预测器的模型。