我有一个使用 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);