2016-03-23 15 views
0

オーディオファイルにlibrosa.feature.mfccを()呼び出すと、そのような2次元配列を吐き出す:なぜlibrosa librosa.feature.mfcc()は2D配列を吐き出すのですか?

array([[ -5.229e+02, -4.944e+02, ..., -5.229e+02, -5.229e+02], 
    [ 7.105e-15, 3.787e+01, ..., -7.105e-15, -7.105e-15], 
    ..., 
    [ 1.066e-14, -7.500e+00, ..., 1.421e-14, 1.421e-14], 
    [ 3.109e-14, -5.058e+00, ..., 2.931e-14, 2.931e-14]]) 

私の質問は、これらが何をしているのですか?私は係数の1次元配列を期待していたので、それはなぜ2Dですか?次元は何ですか?多分、これは私が何を取り返すべきかについての私の誤解ですが、どんな説明も認められるでしょう。私はオンラインで見てみましたが、誰もがそれが何であるかを知っているようです。

+0

https://en.wikipedia.org/wiki/Mel-frequency_cepstrum - それでもまだ1D配列があるように思われます... – canada11

+0

私はあなたに[Doc link]を送りますhttps://bmcfee.github.io/librosa/generated/librosa.feature.mfcc.html)しかし、今私は問題を見ています - それは**のリンクからです。あります。つまり、それらの例は時系列であり、いくつかの数のフィーチャなど、2次元を説明するものです。あなたのデータは時系列ではありませんか? – dwanderson

+0

これは.wavファイルです – canada11

答えて

1

1次元は時間、もう1つは異なる周波数です。このリンクは、あなたがそれをプロットした場合、それがどのように見えるかを示しています。私もこの1上につまずいてしまった

http://musicinformationretrieval.com/mfcc.html

1

https://librosa.github.io/librosa/glossary.html「フレーム」の文言を確認してください。

通常、一連のサンプルはx軸の左から右に向かっていると考えられますが、librosaでは「y」と呼ばれています。

のは、私のサンプルは2とホップサイズ1のウィンドウで、あると仮定してみましょう:私は次のことを期待すると

[1,2,3,4,5] 

array([[1, 2], 
     [2, 3], 
     [3, 4], 
     [4, 5]]) 

実際に私にされています何librosa:

array([[1, 2, 3, 4], 
     [2, 3, 4, 5]]) 

librosaがデータを表示/スローするのが好きなので便利です。

あなたは通常、あなたの頭の中に持っているだろうかで動作する簡単な方法は、np.array初心者については

mfccs = librosa.feature.mfcc(np.array([1,2,3,4,5])) 
# The mfccs exists down the columns, not across each row! 

array([[-353.18529412], 
     [ -9.92147635], 
     [ 1.39044844], 
     [ 19.76460942], 
     [ 25.52789074], 
     [ -18.65229483], 
     [ 17.41164986], 
     [ 32.40858638], 
     [ -13.52776281], 
     [ 8.38747316], 
     [ 23.82210792], 
     [ 16.50381765], 
     [ -23.39931177], 
     [ 40.04480991], 
     [ 7.76233177], 
     [ -2.54971281], 
     [ 4.81715362], 
     [ 36.80008536], 
     [ -9.8943455 ], 
     [ -0.57583487]]) 

mfccs.T 
# Now mffcs[0] (the first row) refers to the first mfcc! 

array([[-353.18529412, -9.92147635, 1.39044844, 19.76460942, 
      25.52789074, -18.65229483, 17.41164986, 32.40858638, 
     -13.52776281, 8.38747316, 23.82210792, 16.50381765, 
     -23.39931177, 40.04480991, 7.76233177, -2.54971281, 
      4.81715362, 36.80008536, -9.8943455 , -0.57583487]]) 

移調することです:これは何をするのでしょうか?透明なプラスチックに印刷されている行列(配列)を考え、次に左下をつかみ、ページを上にして左下を右上に移動します。

関連する問題