python - RuntimeError 将 yaml 配置文件传递给 Essentia MusicExtractor
问题描述
我正在尝试使用Essentia
MusicExtractor
来自yaml
配置文件的配置文件生成功能集,如文档here和here via python中所述。
我的代码片段:
from essentia.standard import MusicExtractor
profile = "some_profile.yaml"
audio = "some_audio.mp3"
features, frames = MusicExtractor(profile=profile)(audio)
我的yaml
简介:
这会产生以下错误:
RuntimeError:
Error while configuring MusicExtractor:
Pool: Cannot set/add/merge value to the pool under the name 'rhythm.stats'
because that name already exists but contains a different data type than value.
看起来我并没有做错什么。
解决方案
我遇到了同样的问题并以这种方式解决了它:
- 从 essentia repos示例中下载了示例配置文件。
- 运行配置文件。
- 每次运行后注释掉冲突的行,这只是少数。基本上是
stats
和statsMFCC
线。
由此我可以得出一个工作概况。
推荐阅读
- javascript - 过滤器不像我在 js 中理想化的方式那样工作
- php - 这个 CURL 错误是什么意思:OpenSSL SSL_read: No error
- tensorflow - 如何在任何深度建模框架中实现以均值和方差值作为输入的高斯渲染器(需要可反向传播)
- sql - 包含短语的转义参数
- python - 如何将列表从一个函数传递到另一个函数?
- javascript - 获取 Cesium3DTileset 中特征的几何图形
- python - 在 jupyter 笔记本/终端中执行 cdo(气候数据操作员)包中的命令时出现问题
- swift - 如何水平对齐状态栏项目文本?
- windows - 在 Windows Sever 2016 上使用本机 tar PowerShell cmdlet
- sql - 在 R 中到达分布在多个 Postgres 服务器中的分片数据