-1

matlab を使用したオーディオ マッチングに関するプロジェクトがあります。したがって、いくつかの正しいサウンド ファイルと間違ったサウンド ファイルがあります。それぞれの正解ファイルは「4,6,8」という人の声です。間違ったファイルごとに、「6,4,8」または「4,8,6」などの異なる番号のシーケンスがあります。正しいシーケンスが述べられているかどうかを matlab で検出することになっています。したがって、正しいサウンドが再生された場合は「ACCEPTED」と表示し、間違ったサウンドが再生された場合は「NOT ACCEPTED」と表示する必要があります。

それぞれの正しい音の時間周波数分析を行い、パターンを認識しなければならないことはわかっています。次に、時間間隔ごとに頻度のしきい値を設定するだけです。例: 周波数が 1KHz の場合、0.1 秒から 0.9 秒の間で "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 に答える