加载多个音频文件时出现 Python/Librosa 问题
Loading multiple audio files with Python/Librosa issue
我希望有人能帮助我解决我遇到的问题。我正在尝试加载多个(即 3 个)音频文件并使用 Python 的 Librosa 库绘制它们。我无法在这里发现错误。
def main():
pathAudio = "~/Project Data/Practice/Train Music/"
files = librosa.util.find_files(pathAudio, ext=['ogg'])
files = np.asarray(files)
for y in files:
y = librosa.load(y, sr = 16000,mono = True)
librosa.display.waveplot(y)
以上产生错误:
ParameterError: data must be of type numpy.ndarray
有人指出可能是 y 的类型导致了这个问题,但我在这里找不到任何明显的错误。
欢迎任何建议,因为事实证明这对我来说是一个巨大的时间消耗。
我尝试打印数据,这是 load
函数的输出:
(array([ 1.4347234e-04, 3.3454646e-04, 2.9680674e-04, ...,
4.7093499e-06, -1.5776950e-05, 0.0000000e+00], dtype=float32), 16000)
这是一个tuple
。您将需要使用 data = data[0]
来获取波形数据数组。
一个快速的解决方法是:
pathAudio = "~/Project Data/Practice/Train Music/"
files = librosa.util.find_files(pathAudio, ext=['ogg'])
files = np.asarray(files)
for y in files:
data = librosa.load(y, sr = 16000,mono = True)
data = data[0]
librosa.display.waveplot(data)
这是我得到的:
我希望有人能帮助我解决我遇到的问题。我正在尝试加载多个(即 3 个)音频文件并使用 Python 的 Librosa 库绘制它们。我无法在这里发现错误。
def main():
pathAudio = "~/Project Data/Practice/Train Music/"
files = librosa.util.find_files(pathAudio, ext=['ogg'])
files = np.asarray(files)
for y in files:
y = librosa.load(y, sr = 16000,mono = True)
librosa.display.waveplot(y)
以上产生错误:
ParameterError: data must be of type numpy.ndarray
有人指出可能是 y 的类型导致了这个问题,但我在这里找不到任何明显的错误。
欢迎任何建议,因为事实证明这对我来说是一个巨大的时间消耗。
我尝试打印数据,这是 load
函数的输出:
(array([ 1.4347234e-04, 3.3454646e-04, 2.9680674e-04, ...,
4.7093499e-06, -1.5776950e-05, 0.0000000e+00], dtype=float32), 16000)
这是一个tuple
。您将需要使用 data = data[0]
来获取波形数据数组。
一个快速的解决方法是:
pathAudio = "~/Project Data/Practice/Train Music/"
files = librosa.util.find_files(pathAudio, ext=['ogg'])
files = np.asarray(files)
for y in files:
data = librosa.load(y, sr = 16000,mono = True)
data = data[0]
librosa.display.waveplot(data)
这是我得到的: