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

Python librosa代码语法错误求助:specshow行报SyntaxError

解决Librosa音频处理代码的语法错误

原错误代码

C = librosa.cqt(y, sr=sr, n_bins=84)
print('Transform shape', C.shape) 
log_power = librosa.amplitude_to_db((np.abs(S))(C**2, ref=np.max)
librosa.display.specshow(log_power, x_axis='time', y_axis='mel', cmap=cm.jet)

错误原因

第3行存在两处核心问题:

  • 括号不匹配:librosa.amplitude_to_db()的调用括号未正确闭合,且(np.abs(S))(C**2的写法完全错误,直接导致Python语法解析失败,进而牵连后续语句被判定为无效语法。
  • 变量名笔误:前面通过librosa.cqt()生成的变量是C,但代码中误用了未定义的S。

修正后的代码

import librosa
import numpy as np
import matplotlib.cm as cm
import librosa.display

# 假设y(音频信号)和sr(采样率)已提前定义
C = librosa.cqt(y, sr=sr, n_bins=84)
print('Transform shape', C.shape) 
# 修正括号匹配、变量名错误,正确计算CQT结果的对数分贝功率谱
log_power = librosa.amplitude_to_db(np.abs(C)**2, ref=np.max)
# 适配CQT的频率轴,建议使用cqt_note或cqt_hz,若需梅尔刻度需额外转换
librosa.display.specshow(log_power, x_axis='time', y_axis='cqt_note', cmap=cm.jet)

内容的提问来源于stack exchange,提问作者Isha Pathania

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:45:35