-1

我有一个使用 matlab 进行音频匹配的项目。所以,有几个正确和错误的声音文件。每个正确的文件都是一个人说“4,6,8”的声音。每个错误文件都有不同的数字序列,例如“6,4,8”或“4,8,6”。如果说正确的序列,我应该用 matlab 检测。因此,如果播放正确的声音,我必须显示“ACCEPTED”,如果播放错误的声音,我必须显示“NOT ACCEPTED”。

我知道我应该对每个正确的声音进行时间频率分析并识别一个模式。然后,我可以简单地为每个时间间隔设置一个频率阈值。EG:从 0.1 秒到 0.9 秒,如果频率为 1KHz,则显示“ACCEPTED”。

但是,我不知道如何为此编写程序。另外,如何获得时频分析中每个数字的频率的准确值?

到目前为止,这是我的规范图代码

[right1, Fs] = wavread('C:\Users\Fazrina\Downloads\CorrectSequence1');

figure (1)

subplot(2,1,1), plot(right1), axis('tight');

subplot(2,1,2), specgram(right1,512,Fs);
4

1 回答 1

2

这不是匹配频谱图图像的简单案例。单看频谱图分析,由于许多因素,您正在执行一项失败的任务。如果您不想深入 HMM 分析的阴暗面,那么动态时间扭曲与您获得可靠结果一样简单。Dan Ellis在这方面有一些整洁的 Matlab 资料。

于 2013-04-13T22:56:40.950 回答