如何在iOS上比较两个语音样本?

Ron*_*wan 5 iphone signal-processing voice-recognition ios

首先,我想说明我的问题不是关于语音识别的"经典"定义.

在以下意义上,我们要做的事情有所不同:

  1. 用户记录他的命令
  2. 之后,当用户说出预先录制的命令时,将发生某种动作.

例如,我录制了一个叫我母亲的语音命令,所以我点击她并说"妈妈".然后,当我使用该程序并说出"妈妈"时,它会自动给她打电话.

如何将口头命令与保存的语音样本进行比较?

编辑:我们不需要任何"文字转语音"能力,只需要比较声音信号.显然,我们正在寻找某种现成的产品或框架.

hot*_*aw2 5

用于音乐识别的一种方法是,为所讨论的两种声音获取频谱的时间序列(时间窗STFT FFT),在时间轴上映射频率峰值的位置,并使两个2D时间互相关匹配的频率峰值映射。这比仅使两个声音样本互相关要强得多,因为峰值的变化远小于频谱峰值之间的所有频谱“压缩”。如果两个发声的速率及其音调没有太大变化,则此方法会更好。

在iOS 4.x中,您可以对FFT使用Accelerate框架,也可以对2D互相关使用。


Dom*_*nic 0

尝试使用第三方库,例如适用于 iOS 应用程序的OpenEars。您可以让用户录制语音样本并将其另存为翻译文本,或者只是让他们输入文本进行识别。