我开始使用librosa学习基本特征提取,并尝试使用pathlib读取和存储十个脚鼓,但是由于我总是遇到编码错误,所以没有用,因为没有pathlib就没有错误。
我尝试更改路径,经常使用wav而不是mp3更新每个导入的库,但是没有进一步的想法。
我的代码:
%matplotlib inline
from pathlib import Path
import numpy, scipy, matplotlib.pyplot as plt, sklearn, urllib, IPython.display as ipd
import librosa, librosa.display
kick_signals = [
librosa.load(p)[0] for p in Path().glob('audio/drum_samples/train/kick_*.mp3')
]
错误消息:
RuntimeError: Error opening 'audio/techno-nine_o_three.mp3': File contains data in an unknown format.
和
AttributeError: 'PosixPath' object has no attribute 'encode'
如果您能并且可以帮助我,我将非常感激。
答案 0 :(得分:0)
尝试:
kick_signals = [
librosa.load(p.absolute())[0] for p in Path().glob('audio/drum_samples/train/kick_*.mp3')
]
这样,您可以将字符串而不是PosixPath传递给librosa。
如果仍不能解决问题,请检查您的mp3文件。它可以在常规播放器中播放吗?如果没有,请发布整个错误消息(stacktrace)。也许librosa的依赖项没有正确安装。