EchoNest Analyzer Documentation声明了以下关于音色的内容:
timbre 是区分音符或声音的质量 不同类型的乐器或声音。这是一个复杂的 概念也称为声音颜色,纹理或音质,和 是从一个片段的光谱 - 时间表面的形状, 独立于音高和响度。 Echo Nest Analyzer的音色 feature是一个向量,包含12个大致居中的无界值 这些值是光谱的高级抽象 表面,按重要程度排序。但是为了完整性, 第一维代表段的平均响度; 第二强调亮度;第三是与之密切相关 声音平坦;四分之一的声音具有更强的攻击力;等等 下面的图像代表12个基函数(即模板 段)。段的实际音色最好描述为a 这12个基函数的线性组合加权 系数值:timbre = c1 x b1 + c2 x b2 + ... + c12 x b12, 其中c1至c12代表12个系数,b1至b12代表12个系数 基本功能如下所示。 Timbre矢量最好用于 相互比较。
我的理解是b
向量({b1...b12}
)是API的getTimbre
方法返回的内容。但那么{c1...c12}
系数来自何处呢?我不明白如何从矢量音色中获取标量音色(主要是因为您的分析API是闭源)。你能帮我解决这个问题吗?