iOS / C:检测音素的algorithm

我正在寻找一种algorithm来确定实时audioinput是否与144个给定的(和舒适的不同的)音素对之一相匹配。

最好是做这项工作的最低级别。

我正在开发用于iPhone / iPad的激进/实验音乐培训软件。

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

我已经做了大量的研究,看起来我最好的select可能是使用iOS Sphinx封装( iPhone App> Add voice recognition?是我find的最好的信息来源)。 然而,我看不出我将如何适应这样一个包,有经验的人使用这些技术之一是否会给出一个基本的步骤所需的概要?

用户需要培训吗? 我想不会,因为它是这样一个基本的任务,相比之下,与数千个单词和更大,更微妙的音素基地的全语言模型。 然而,让用户训练12个音素对是可以接受的(不理想的):{辅音1 +元音1,辅音2 +元音2,…,辅音12 +元音12}。 满144会太麻烦。

有一个更简单的方法吗? 我觉得使用全function的连续语音识别器是使用大锤来破解一个坚果。 使用能够解决问题的最低限度的技术将会更加优雅。

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

PS我需要一个运行非常实时的解决scheme。 所以即使他们正在唱着这个音符,它也会先闪烁,说明它拿起了被唱过的音位,然后发光,以说明他们是否正在唱出正确的音符音调

如果你正在寻找一个手机级的开源识别器,那么我会推荐HTK 。 该工具以HTK Book的forms提供了非常好的文档。 它还包含整个章节,致力于构build一个电话级别的实时语音识别器。 从你上面的问题陈述来看,在我看来,你可能能够将这个例子重新用于你自己的解决scheme。 可能的缺陷:

  1. 既然你想做一个手机级别的识别器,那么训练手机型号所需要的数据就会非常高。 此外,您的培训数据库应该在电话分配方面保持平衡。

  2. build立一个与说话者无关的系统需要来自多个发言者的数据。 还有很多。

  3. 由于这是开源的,您还应该查看许可信息,了解有关运送代码的其他详细信息。 一个好的select是使用电话录音机,然后通过数据通道将录制的波形发送到服务器进行识别,这几乎与Google所做的一样。

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

有一点值得注意的是,虽然你可能会限制你感兴趣的音素,可能性空间仍然是相同的(即无限的)。 用户培训可能会对algorithm有所帮助,但有用的培训需要相当长的一段时间,看起来你反对太多了。

使用狮身人面像可能是这个问题的一个很好的开始。 我自己并没有在图书馆里走得很远,但是我的猜测是,你将会自己使用它的源代码来得到你想要的东西。 (开源的Hooray!)

用大锤打破坚果

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

一切顺利解决您的问题。

不知道这是否会有所帮助:查看OpenEars的LanguageModelGenerator 。 OpenEars使用Sphinx和其他库。

http://www.hfink.eu/matchbox

此页面链接到YouTubevideo演示和github源。

我猜测把它塑造成我以后的形状仍然是一个很大的工作,但也绝对是做了很多工作。