Warum librosa librosa.Funktion.mfcc() ausspucken ein 2D-array?

Aufrufen librosa.Funktion.mfcc() auf eine audio-Datei spuckt ein 2D-array in etwa so:

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]])

Meine Frage ist was sind diese? Denn ich hatte erwartet, ein 1D-array von Koeffizienten, warum ist es 2D? und was sind die Abmessungen? Vielleicht ist mein Unverständnis, was sollte ich immer wieder, aber eine Erklärung wäre sehr hilfreich. Ich habe versucht, online-Suche, aber jeder scheint zu wissen Sie einfach, was es ist.

  • en.wikipedia.org/wiki/Mel-frequency_cepstrum – noch nicht helfen, wie es scheint immer noch, es sollte ein 1D-array…
  • Ich wollte senden Sie Doc-link, aber jetzt sehe ich das Problem – das ist von die links, nur keine Erklärung, warum die Werte sind wie Sie sind. Das heißt, Ihr Beispiel ist an der Zeit-Serie über eine Reihe von features oder was auch immer, die erklärt, die in 2 Dimensionen. Wird Ihre Daten nicht an der Zeit-Serie?
  • Es ist eine .wav-Datei
InformationsquelleAutor canada11 | 2016-03-23



2 Replies
  1. 3

    Bekam ich stolperte über diese ein als gut.

    Check-out https://librosa.github.io/librosa/glossary.html speziell die Formulierung für ‚Rahmen‘.

    Würden Sie in der Regel vorstellen, eine Reihe von Proben, die gehen von Links nach rechts auf der x – Achse, jedoch beachten Sie, dass es ist bezeichnet als ‚y‘ in librosa.

    Nehmen wir an, mein Beispiel ist mit einem Fenster, 2 und hop Größe 1:

    [1,2,3,4,5]

    Wenn ich das folgende erwarten:

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

    Was librosa eigentlich gibt mir:

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

    Scheint es zu sein, wegen der Bequemlichkeit für den Weg librosa mag-display /werfen von Daten.

    Den einfachen Weg zur Arbeit mit dem, was man sonst nur in Ihrem Kopf ist die Umsetzung der 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]])

    Für Anfänger: was macht das? Denken Sie an die matrix (array) wird gedruckt auf ein Stück klaren Plastik-dann schnappen Sie sich die Links unten und kippen Sie die Seite über das verschieben der unteren linken zur oberen rechten.

    • vielen Dank für diese. Dieser stolperte, mich auch in der Art hast du. Danke! 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.