2017-04-05 16 views
1

23ビン、20kHzサンプリングレート、25msウィンドウ、10msシフトを使用して、Kaldiの "egs/tidigits"コードを使用して "7"発声のスペクトログラムを生成しました。スペクトログラムは、MATLAB関数imagescを経て可視化され、以下のように表示されます:Librosaを使用して生成されたスペクトログラムは、カルディと一致していませんか?

kaldi "seven" spectrogram

私はカルディの代替としてLibrosaを使って実験しています。上記のように同じ数のビン、サンプリングレート、ウィンドウの長さ/シフトを使用して、以下のようにコードを設定します。私はファイルを同じWAVの結果Librosaスペクトログラムを視覚化する際

time_series, sample_rate = librosa.core.load("7a.wav",sr=20000) 
spectrogram = librosa.feature.melspectrogram(time_series, sr=20000, n_mels=23, n_fft=500, hop_length=200) 
log_S = librosa.core.logamplitude(spectrogram) 
np.savetxt("7a.txt", log_S.T) 

は、しかし、それは違って見える:

librosa "seven" spectrogram

は、誰かが、これらはとても異なって見える理由を私は理解して助けてくださいことはできますか?私が試した他のWAVファイルでは、上記のLibrosaスクリプトで、私の摩擦音(上記の例では "/ 7"のような)が切断されており、これが私の桁の分類精度に大きく影響しています。ありがとうございました!

+0

この質問はhttp://dsp.stackexchange.comに属します –

答えて

2

Kaldiは、デフォルトでdct出力にリフターを適用します。これは、上位係数が減衰する理由です。詳細hereを参照してください。

+0

私は、はい、私はリフターの概念に精通している参照してください。 Librosaのスクリプトにリフターを適用する方法があるかどうか知っていますか?私はまた、このライブラリ(http://python-speech-features.readthedocs.io/en/latest/)に出くわしました。これはもっと一般的なASRオプションを持っているようです。 – kashkar

+0

ベクトル上の標準乗算でなければなりません。あなたは特徴を抽出する前にベクトルを事前計算することができます。 –

関連する問題