#python-3.x #machine-learning #keras #librosa #audio-processing
Вопрос:
Я выполняю некоторую предварительную обработку звука для обучения модели ML.
Все аудиофайлы набора данных:
РИФФ (литтл-эндианские) данные, ВОЛНОВОЙ звук, Microsoft PCM, 16 бит, моно 16000 Гц.
Я использую следующий фрагмент кода для повторной выборки набора данных до 8000 Гц:
samples, sample_rate = librosa.load(filename, sr = 16000)
samples = librosa.resample(samples, sample_rate, 8000)
затем я использую следующий фрагмент для изменения формы новых образцов:
samples.reshape(1,8000,1)
но по какой-то причине я продолжаю получать следующую ошибку: Ошибка ValueError: не удается преобразовать массив размером 4000 в форму (1,8000,1), но размер отличается от файла к файлу, но всегда меньше 8000 Гц (желаемая частота дискретизации).
Я дважды проверил исходную частоту дискретизации, и она составила 16000 Гц, я также попытался загрузить файлы с частотой дискретизации 8000, но мне не повезло.
Комментарии:
1. Почему ты так меняешься? Если ваши входные файлы не всегда содержат 16000 образцов, то этот код совершенно неверен
2. @JonNordby Вы совершенно правы, я использовал набор данных, который нашел в Интернете, и код, написанный специально для этого набора данных, я обнаружил, что в исходном коде автор отфильтровал файлы, длина которых не превышает 16000 образцов, вы можете сказать, что это ошибка новичков, я не отфильтровал их. Спасибо.