You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

librosa spectral_centroid报错:需0个位置参数却传入1个位置参数+1个关键字参数

解决Librosa spectral_centroid() TypeError问题

问题原因

Librosa 0.10.0及以上版本重构了特征提取API,librosa.feature.spectral_centroid()不再支持位置参数传递音频数据,必须通过关键字参数指定输入音频。你的代码沿用了旧版本的调用方式,因此触发类型错误。

解决方案

方案1:改用关键字参数传递音频数据

将原代码中的位置参数x改为y=x,适配新版本API要求:

x, sr = librosa.load('fyp/MER/Q3/MT0031951901.mp3')
# 用y=指定音频数组,sr保持关键字参数
spectral_centroids = librosa.feature.spectral_centroid(y=x, sr=sr)[0]
spectral_centroids.shape

方案2:使用新的FeatureExtractor接口(推荐)

Librosa新版本推荐使用统一的特征提取器接口,写法更规范:

from librosa.feature import SpectralCentroid

x, sr = librosa.load('fyp/MER/Q3/MT0031951901.mp3')
extractor = SpectralCentroid(sr=sr)
spectral_centroids = extractor(y=x)[0]
spectral_centroids.shape

方案3:降级到旧版本(不推荐)

如果暂时不想修改代码,可以降级到0.9.2版本(最后一个支持旧API的稳定版):

pip install librosa==0.9.2

验证

修改代码后重新运行,若不再抛出TypeError,且能正常输出spectral_centroids的形状,说明问题解决。

内容的提问来源于stack exchange,提问作者Jésica

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 00:33:10