現在、私はMATLABの音声認識プロジェクトに取り組んでいます。 私は2つの音声信号を取り、同じ信号のMFCC係数を抽出しました。 私が知る限り、私は今、2つの間のユークリッド距離を計算し、次にDTWアルゴリズムを適用すべきです。そういうわけで私は2人の間の距離を計算し、距離の配列を得ました。 私の質問は、結果の配列にDTWを実装する方法ですか?MFCC係数の配列に対してDTWを実行する方法は?
はここに私のMATLABコードです:
オールクリア。すべてを閉じる。 clc;
% Define variables
Tw = 25; % analysis frame duration (ms)
Ts = 10; % analysis frame shift (ms)
alpha = 0.97; % preemphasis coefficient
M = 20; % number of filterbank channels
C = 12; % number of cepstral coefficients
L = 22; % cepstral sine lifter parameter
LF = 300; % lower frequency limit (Hz)
HF = 3700; % upper frequency limit (Hz)
wav_file = 'Play.wav'; % input audio filename
wav_file1 = 'Next.wav';
% Read speech samples, sampling rate and precision from file
[ speech, fs, nbits ] = wavread(wav_file);
[ speech1, fs, nbits ] = wavread(wav_file1);
% Feature extraction (feature vectors as columns)
[ MFCCs, FBEs, frames ] = ...
mfcc(speech, fs, Tw, Ts, alpha, @hamming, [LF HF], M, C+1, L);
[ MFCC1s, FBEs, frames ] = ...
mfcc(speech1, fs, Tw, Ts, alpha, @hamming, [LF HF], M, C+1, L);
L = pdist2(MFCCs, MFCC1s, 'euclidean');