ValueError: Нет никаких элементов для отражения по оси 0 массива при вызове librosa.feature.melspectrogram - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь извлечь спектрограммы mel для различных аудиофайлов, и для некоторых из них я получаю следующую ошибку:

Traceback (последний вызов был последним):

Файл "", строка 25, в границах сценария_процесса_файла, события, функции, RMS = файл_процесса (_файл, версия = нет, выход = True, чтение = True, cython = False, corr_FIR = None, features_list = features_list_all, tree_function = Tree_4_0_0, данные= данные, усиление = нет)

Файл "pcm_algorithm / process_file.py", строка 111, в файле процесса mel_spec = librosa.feature.melspectrogram (звук, n_fft = 256, hop_length = 128, n_mels = n_mels).T

Файл "/usr/local/lib/python2.7/dist-packages/librosa/feature/spectral.py", строка 1388, в мощности мельспектрограммы = мощность)

Файл "/usr/local/lib/python2.7/dist-packages/librosa/core/spectrum.py ", строка 1179, в _spectrogram S = np.abs (stft (y, n_fft = n_fft, hop_length = hop_length)) **power

Файл "/usr/local/lib/python2.7/dist-packages/librosa/core/spectrum.py", строка 160, в секундахtft y = np.pad (y, int (n_fft // 2), mode = pad_mode)

Файл "/usr/local/lib/python2.7/dist-packages/numpy/lib/arraypad.py ", строка 1420, на панели" по оси {} из array ". format (axis)) ValueError: Нет элементов для отражения по оси 0 из array

Я использую 256 точек fft с перекрытием 128 кадров и 40 mel_bands .Любой совет будет очень полезным.

Вот точная строка кода, которая дает мне ошибку:

n_mels = **40**

mel_spec =  librosa.feature.melspectrogram(sound,n_fft=**256**,hop_length=**128**,n_mels=n_mels).T
...