Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 谱图分析_Matlab_Audio_Signal Processing_Speech Recognition - Fatal编程技术网

Matlab 谱图分析

Matlab 谱图分析,matlab,audio,signal-processing,speech-recognition,Matlab,Audio,Signal Processing,Speech Recognition,我有一个关于使用matlab进行音频匹配的项目。所以,这里有两个正确和错误的声音文件。每个正确的文件都是一个人说“4,6,8”的声音。每个错误的文件都有不同的编号顺序,如“6,4,8”或“4,8,6”。我应该用matlab来检测序列是否正确。因此,如果播放正确的声音,我必须显示“已接受”,如果播放错误的声音,我必须显示“未接受” 我知道我应该对每个正确的声音进行时频分析,并识别出一种模式。然后,我可以简单地为每个时间间隔设置一个频率阈值。例如:从0.1秒到0.9秒,如果频率为1KHz,则显示“已

我有一个关于使用matlab进行音频匹配的项目。所以,这里有两个正确和错误的声音文件。每个正确的文件都是一个人说“4,6,8”的声音。每个错误的文件都有不同的编号顺序,如“6,4,8”或“4,8,6”。我应该用matlab来检测序列是否正确。因此,如果播放正确的声音,我必须显示“已接受”,如果播放错误的声音,我必须显示“未接受”

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

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

这是我到目前为止为specgram编写的代码

[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);

这不是一个匹配光谱图图像的小例子。单从光谱图分析来看,由于许多因素,你的任务是失败的。如果你不想深入到隐马尔可夫模型的分析中,那么动态时间扭曲就是你能得到的最简单可靠的结果。在这方面有一些简洁的Matlab材料。

一个简单的阈值可能是不够的。您可能希望了解一些用于分类任务的机器学习算法。首先,您需要进行特征提取(以及类似的工作)。FFT的峰值频率,甚至是基音周期(可能不同),并不是单词的区别。你必须检查更多的完整频谱,其中每个元音可能包含许多频率。+1 DTW可以在简单的最近邻分类器中用作距离函数