我正在寻找一种算法,以确定实时音频输入是否与144个给定(且舒适地不同)的音素对之一匹配。

最好是完成工作的最低级别。

我正在为iPhone / iPad开发基础/实验音乐训练软件。

我的音乐系统包括12个辅音音素和12个元音音素,已显示为here。这使得144个可能的音素对。为了响应视觉刺激,学生必须唱对正确的音素对“laa duu bee”。

我对此进行了大量研究,看来我最好的选择可能是使用iOS Sphinx包装器之一(iPhone App › Add voice recognition?是我发现的最佳信息来源)。但是,我看不到如何修改这样的程序包,任何有使用这些技术之一的经验的人都可以给出所需步骤的基本 list 吗?

用户是否需要培训?与成千上万个单词以及更大,更细微的音素基础的完整语言模型相比,我认为不会,因为这是一项基本任务。但是,让用户训练12个音素对是可接受的(不理想的):{consonant1 + vowel1,consonant2 + vowel2,...,consonant12 + vowel12}。完整的144太麻烦了。

有没有更简单的方法?我觉得使用功能齐全的连续语音识别器正在使用大锤敲打坚果。使用能够解决问题的最低限度的技术会更加优雅。

因此,实际上,我正在寻找可识别音素的任何开源软件。

PS,我需要一个可以实时运行的解决方案。因此,即使他们正在演唱音符,它也会闪烁以说明它拾取了已演唱的音素对,然后发光以表明他们是否在演唱正确的音符音高

最佳答案

如果您正在寻找电话级别的开源识别器,那么我建议HTK。该工具以HTK Book的形式提供了很好的文档。它还包含一整章,专门用于构建电话级实时语音识别器。从上面的问题陈述中,在我看来,您似乎可以将该示例重新构造为您自己的解决方案。可能的陷阱:

  • 由于您想进行电话级别识别,因此训练电话模型所需的数据将非常高。另外,您的培训数据库应在电话分配方面保持平衡。
  • 构建独立于发言人的系统将需要来自多个发言人的数据。还有很多。
  • 因为这是开源的,所以您还应该检查许可信息以获取有关代码发布的其他详细信息。一个不错的选择是使用电话录音机,然后将记录的波形通过数据通道发送到服务器以进行识别,这与google差不多。
  • 08-17 19:31