EchoNest API的getTimbre向量是什么意思?

时间:2015-08-30 03:25:33

标签: echonest

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矢量最好用于   相互比较。   enter image description here

我的理解是b向量({b1...b12})是API的getTimbre方法返回的内容。但那么{c1...c12}系数来自何处呢?我不明白如何从矢量音色中获取标量音色(主要是因为您的分析API是闭源)。你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

请注意,本网站上的答案来自志愿者。要获得图书馆的官方支持,您需要直接与出版商联系。

b1 ... b12 音频分析的结果,它只是描述分析的作用。它们是固定常数,如图所示:

enter image description here

标量c1 ... c12的向量是分析仪产生的。当然,只有12个数字才能完美地描述声音。通过函数将标量相乘将不会重现原始音乐,因为那里没有足够的数据;这只是一个近似值。但是,您可能会从每个细分中获得类似的“情绪”,因此尝试聆听可能会很有趣。