Я использую библиотеку Librosa для загрузки и повторной выборки списка аудиофайлов. Мой код -
for folder in os.listdir(dir):
print(os.path.join(dir, folder))
for file in os.listdir(os.path.join(dir, folder)):
if file.endswith("wav"):
labels.append(str(folder))
data, sampling_rate = librosa.load(os.path.join(dir, folder, file))
samples = librosa.core.resample(data, sampling_rate, 15000)
audio.append(samples)
else:
continue
Значение sampling_rate при загрузке аудио по умолчанию = 22050.
При подаче всех этих аудио в машинное обучение выдается «ValueError: установка элемента массива споследовательность". Затем я обнаружил, что некоторые аудиофайлы имеют разный размер. Большинство аудиофайлов имеют размер = 450200. Но остальные из них имеют 455565.
Все аудиофайлы имеют одинаковую длительность.
Но, повторная выборка всех аудиозаписей не даетимеют одинаковый размер данных. Почему это происходит ...
Любое предложение сделать все аудиофайлы с одинаковым размером данных, эта модель машинного обучения успешно работает ...
РЕДАКТИРОВАТЬ:
Использованиеэта функция -
librosa.util.fix_length(y, 450200, mode='edge')
Заставляет звук удалять последние 5365 значений, только из аудио, имеющего размер 455565. Но я думаю, что значения 5365 используются полностью для машинного обучения. Я уже уменьшил частоту дискретизации.