1

MFCC アルゴリズムに渡す周波数帯域を選択できる API はありますか?

私は 2 つの異なるマイクを持っているとします。それぞれが異なる周波数範囲を持ち、1 つが 0~12000Hz、もう 1 つが 0~20000Hz であることは明らかです。1 つ目と 2 つ目の結果の FFT は、音源を保存するために録音している場合でも非常に異なります。たとえば、n_component を 13 に設定すると、低周波ソース (10Hz) と中程度のソース (6000Hz) があり、最初の FFT ではインデックス 0 と 6 にハイライトが配置され、2 番目のハイライトは 0 に配置され、 3.

MFCC の結果ベクトルには、本来あるべきではない大きなユークリッド距離があります。

周波数シーリングを選択できれば、FFT結果の計算後に10000Hz以上の周波数をカットすることができます。その場合、MFCC ベクトルは近い可能性が高くなります。

これを達成できる方法または微調整がある場合は、お知らせください。(この場合、ローパス フィルターは機能しません)

大変感謝します!

以下はスペクトログラムで示した違いです(同じ音源別のマイク)

差分

4

1 に答える 1

2

ブライアンは Google グループで私の質問に答えました: https://groups.google.com/forum/#!topic/librosa/fR0Kf-la8YU

これを解決するには、次のように「fmax」パラメーターを mfcc 関数に渡すだけです。

mfcc(y=sig, sr=rate, n_mfcc=n_mfcc, fmax=fmax)
于 2015-02-13T05:02:03.690 に答える