我正在研究一种通过比较信号和频谱来识别音频字的解决方案 要解码音频,我使用libavcodec和libavformat,我使用1个参考词并与其他词进行比较 示例:
# Must return true
./vrecog --file_ref chocolat.wav --file_cmp chocolat_2.wav
# Must return false
./vrecog --file_ref chocolat.wav --file_cmp banana.wav
我的步骤:
推理是否正确?系数总是小于1,我不知道如果单词是否相同,我可以用什么来有效地比较数据。
这些是我的情节:
信号(chocolat,chocolat_2和banana):
Spectrum(chocolat,chocolat_2和banana):
我们可以很容易地看到“chocolat”这两个词的信号和频谱似乎接近,但我无法获得相似的百分比。
答案 0 :(得分:1)
对于信号,这通常通过(两个信号的)互相关函数来完成,这与卷积非常相似。因此,它可以通过FFT在数学上完成,FFT专门设计为高效的。一旦你采用相关函数,你就可以决定你希望成为“匹配”的阈值等等。有关更多信息,我会在http://www.aip.de/groups/soe/local/numres/bookcpdf/c13-2.pdf阅读,因为我们所讨论的是相当重的数学和在我的一个大学课程中,我被教了几个星期。