Короткий ответ
Вы можете указать Изменение длины путем изменения параметров, используемых в расчетах STFT. Следующий код будет удвоить размер вашей продукции (20 х 113658)
data = librosa.feature.mfcc(y=y, sr=sr, n_fft=1012, hop_length=256, n_mfcc=20)
Длинный ответ
librosa.feature.mfcc()
функция Librosa действительно просто действует как оболочка для librosa.feature.melspectrogram()
функции librosa (который является оболочкой для librosa.core.stft
и librosa.filters.mel
).
Все параметры, относящиеся к разделению аудиосигнала, а именно к кадру и значениям перекрытия, указаны в функции спектрального спектрометра Mel-scaled power (с другими настраиваемыми параметрами, заданными для вложенных основных функций). Эти параметры указываются в качестве аргументов ключевого слова в функции librosa.feature.mfcc()
.
Все дополнительные **kwargs
параметры подаются librosa.feature.melspectrogram()
и впоследствии librosa.filters.mel()
По умолчанию, Mel-масштабируется стеклоподъемника спектрограммы и хмель длина являются следующие:
n_fft=2048
hop_length=512
Итак, предположим, что вы использовали частоту выборки по умолчанию (sr=22050
), вывод ваших MFCC функция имеет смысл:
выходная длина = (секунды) * (частота дискретизации)/(hop_length)
(1319) * (22050)/(512) = образцы
параметры, которые вы в состоянии настроить, являются следующие:
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.
Если вы хотите дополнительно указать характеристики мне л гребенки фильтров используется для определения Mel-масштабируется мощности спектрограммы, вы можете настроить следующие
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
Документацию Librosa:
librosa.feature.melspectrogram
librosa.filters.mel
librosa.core.stft
вы могли бы предоставить код ты использовал? – lCapp
обновил вопрос с помощью кода – Rangooski