我使用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
加载音频时的sample_rate默认为22050。
将所有这些音频输入机器学习时,它会引发“ ValueError:使用序列设置数组元素”。然后,我发现某些音频文件的大小不同。大部分音频文件的大小为450200。但其他文件的大小为455565。
所有音频的持续时间相同。
但是,对所有音频重新采样时,数据大小并不相同。为什么会发生...
任何建议以相同大小的数据制作所有音频文件,以确保机器学习模型成功运行...
编辑:
使用此功能-
librosa.util.fix_length(y, 450200, mode='edge')
使音频仅从大小为455565的音频中删除最后5365个值。但是我认为5365个值已完全用于机器学习。我已经对音频进行了下采样。</ p>