iOS/C:检测音素的算法

P i*_*P i 18 speech-recognition real-time detection ios phoneme

我正在寻找一种算法来确定实时音频输入是否与144个给定(和舒适的不同)音素对中的一个匹配.

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

我正在为iPhone/iPad开发激进/实验性音乐培训软件.

我的音乐系统包括12个辅音音素和12个元音音素,在此演示.这使得144个可能的音素对.为响应视觉刺激,学生必须唱出正确的音素对'laa duu bee'等.

我已经对此做了大量研究,看起来我最好的选择是使用iOS Sphinx包装器之一(iPhone App>添加语音识别? 是我找到的最好的信息来源).但是,我无法看到我如何调整这样的软件包,任何有这些技术经验的人都能给出所需步骤的基本概要吗?

用户是否需要进行培训?我想不会,因为它是如此基本的任务,与数千个单词和更大更微妙的音素基础的完整语言模型相比.然而,让用户训练12个音素对是可接受的(不理想的):{consonant1 + vowel1,consonant2 + vowel2,...,consonant12 + vowel12}.完整的144将是太累赘.

有更简单的方法吗?我觉得使用功能齐全的连续语音识别器正在使用大锤来破解坚果.使用可以解决问题的最小技术会更加优雅.

所以我真的在寻找任何识别音素的开源软件.

PS我需要一个可以实时运行的解决方案.因此,即使他们正在唱这个音符,首先它会眨眼,以说明它拾取了所唱的音素对,然后发出光线来说明他们是否正在唱出正确的音符音高.

Sri*_*ram 5

如果您正在寻找手机级开源识别器,那么我会推荐HTK.这个工具以HTK Book的形式提供了非常好的文档.它还包含一整章专门用于构建电话级实时语音识别器.从您上面的问题陈述中,我觉得您可以将该示例重新编写到您自己的解决方案中.可能的陷阱:

  1. 由于您想要使用电话级别识别器,因此训练手机型号所需的数据将非常高.此外,您的培训数据库应在电话分配方面保持平衡.

  2. 构建与扬声器无关的系统需要来自多个扬声器的数据.还有很多.

  3. 由于这是开源的,因此您还应该查看许可信息,以获取有关运送代码的任何其他详细信息.一个很好的选择是使用电话录音机,然后通过数据通道将录制的波形发送到服务器进行识别,这几乎就像google所做的那样.


tug*_*ugs 4

我对这种类型的信号处理有一点经验,我想说这可能不是可以明确回答的有限问题类型。

值得注意的一件事是,尽管您可以限制您感兴趣的音素,但可能性空间保持不变(即无限)。用户训练可能会对算法有所帮助,但有用的训练需要相当多的时间,而且你似乎不愿意花太多时间。

使用 Sphinx 可能是解决这个问题的一个很好的开始。我自己对这个库还没有深入了解,但我的猜测是,您将自己使用它的源代码来获得您想要的东西。(开源万岁!)

...用大锤敲碎坚果。

我不会给你的问题贴上坚果的标签,我会说它更像是一个野兽。它可能与自然语言语音识别不同,但它仍然是一头野兽。

祝您解决问题一切顺利。