Kurzantwort
Sie die Änderung in der STFT Berechnungen verwendet, um die Länge durch Ändern der Parameter angeben können. Der folgende Code wird die Größe Ihrer Ausgabe verdoppeln (20 x 113658)
data = librosa.feature.mfcc(y=y, sr=sr, n_fft=1012, hop_length=256, n_mfcc=20)
Lange Antwort
Librosa der librosa.feature.mfcc()
Funktion wirklich nur als Wrapper ist zu librosa librosa.feature.melspectrogram()
Funktion wirkt (das ist ein Wrapper zu librosa.core.stft
und librosa.filters.mel
Funktionen).
Alle Parameter zur Segmentierung des Audiosignals - nämlich die Rahmen- und Überlappungswerte - werden in der Mel-skalierten Leistungsspektrogrammfunktion (mit anderen abstimmbaren Parametern, die für verschachtelte Kernfunktionen spezifiziert sind) verwendet. Sie geben diese Parameter als Schlüsselwortargumente in der Funktion librosa.feature.mfcc()
an.
Alle zusätzlichen **kwargs
Parameter werden librosa.feature.melspectrogram()
zugeführt und anschließend in librosa.filters.mel()
Standardmäßig wird die Mel-skalierten Power Spektrogramm-Fenster und Hop-Länge sind die folgenden:
n_fft=2048
hop_length=512
Unter der Annahme, dass Sie die Standard-Abtastrate (sr=22050
) verwendet haben, wird die Ausgabe Ihres MFCC Funktion ist sinnvoll:
Ausgangslänge = (Sekunden) * (Abtastrate)/(hop_length)
(1319) * (22050)/(512) = Proben
die Parameter, die Sie stimmen können, sind die folgenden: die mich
Melspectrogram Parameters
-------------------------
y : np.ndarray [shape=(n,)] or None
audio time-series
sr : number > 0 [scalar]
sampling rate of `y`
S : np.ndarray [shape=(d, t)]
power spectrogram
n_fft : int > 0 [scalar]
length of the FFT window
hop_length : int > 0 [scalar]
number of samples between successive frames.
See `librosa.core.stft`
kwargs : additional keyword arguments
Mel filter bank parameters.
See `librosa.filters.mel` for details.
Wenn Sie weiter spezifizieren Eigenschaften l Filterbank verwendet, um die Mel-skalierten Strom Spektrogramm zu definieren, können Sie tune folgende
Mel Frequency Parameters
------------------------
sr : number > 0 [scalar]
sampling rate of the incoming signal
n_fft : int > 0 [scalar]
number of FFT components
n_mels : int > 0 [scalar]
number of Mel bands to generate
fmin : float >= 0 [scalar]
lowest frequency (in Hz)
fmax : float >= 0 [scalar]
highest frequency (in Hz).
If `None`, use `fmax = sr/2.0`
htk : bool [scalar]
use HTK formula instead of Slaney
Dokumentation für Librosa:
librosa.feature.melspectrogram
librosa.filters.mel
librosa.core.stft
könnten Sie Code bereitstellen Sie verwendeten? – lCapp
aktualisiert die Frage mit dem Code – Rangooski