Google Colab中使用Essentia.TempoCNN报错,求正确调用示例
解决Essentia TempoCNN调用报错问题
问题原因
你遇到的module 'essentia.standard' has no attribute 'TempoCNN'报错,是因为当前安装的Essentia版本未包含TempoCNN模块——该模块依赖TensorFlow,属于Essentia的深度学习扩展组件,普通版Essentia不会预装。
正确操作步骤
- 卸载旧版Essentia(若已安装)
!pip uninstall -y essentia
- 安装带TensorFlow支持的Essentia版本
!pip install essentia-tensorflow
正确调用示例
import essentia.standard as es # TempoCNN要求音频采样率固定为11025Hz sample_rate = 11025 # 加载目标音频文件 audio = es.MonoLoader(filename='my/path.wav', sampleRate=sample_rate)() # 初始化TempoCNN(若已安装essentia-tensorflow,无需手动指定模型路径,会自动加载默认的DeepTemp模型) tempo_extractor = es.TempoCNN() # 若你手动下载了模型文件,可指定路径: # tempo_extractor = es.TempoCNN(graphFilename='deeptemp-k16-3.pb') # 提取节拍特征 global_bpm, local_bpm, local_probs = tempo_extractor(audio) print(f"全局BPM: {global_bpm}") print(f"局部BPM序列: {local_bpm}") print(f"局部BPM概率: {local_probs}")
补充说明
- 确保音频文件路径正确,且为WAV格式;
essentia-tensorflow包已集成所需的TensorFlow依赖和预训练模型,无需额外配置;- Python 3.8.10完全适配该版本的Essentia,无需调整环境版本。
内容的提问来源于stack exchange,提问作者BEBROID
相关产品推荐
相关产品推荐

