【发布时间】:2019-11-11 23:31:42
【问题描述】:
我正在尝试在 Librosa 中打开一个 AudioFile。修剪它,然后使用 pydub 对其进行修改。这是我的代码:
sound = AudioSegment.from_file(filePath)
samples = sound.get_array_of_samples()
arr = np.array(samples)
print(type(arr))
print(arr)
# then modify samples...
y, index = librosa.effects.trim(arr)
问题在于,即使我遵循此处列出的解决方案:
https://github.com/jiaaro/pydub/issues/289
我似乎无法使用 librosa 的 trim() 函数。它给了我这个错误:
librosa.util.exceptions.ParameterError: Audio data must be floating-point
原因是 Librosa 需要一个浮点 numpy 数组(并与它们一起工作),而 pydub 导出一个整数数组(我将其转换为 np 数组)。 我不知道如何在 2 之间转换 numpy 数组。
我可以从 Pydub 导出到文件,然后使用 Librosa 加载它 - 但这似乎是一种非常低效的处理方式。
软件包版本:
Librosa - 0.7.1.
Pydub - 0.23.1
【问题讨论】:
标签: python numpy audio librosa pydub