librosa缘由
librosa是一个音频和音乐处理的Python包,我用它来做音频的特征提取。但是在使用时,发现librosa.load将音乐文件转化为时间序列的过程中,速度实在难以忍受,cpu跑的非常高,程序好像假死的状态。
查阅官方文档发现,默认情况下,librosa会使用scipy.signal进行音频信号的重采样,这在实际使用时是很慢的。如果要获得很高的性能,官方建议安装libsamplerate和其相应的python模块scikits.samplerate。
这就是说,在Windows下进行安装的话,要先编译libsamplerate得到相应的lib和dll文件,再安装python的接口模块。
我试着在linux下进行安装,过程是很流畅的,因为使用apt-get可以方便安装libsamplerate,pip进行scikits.samplerate安装的时候,系统可以直接找到libsamplerate编译好的lib文件。
虽然这个软件比较小众,但如果有读者遇到相同的问题,希望能对你有所帮助。
Windows下编译libsamplerate
libsamplerate官方说明
编译步骤:
- 解压libsamplerate压缩包到C:\libsamplerate-0.1.8目录
- 下载