http://developer.echonest.com/docs/v4/song.html#search表示artist_(max/min)_familiarity
是“任何歌曲的最大/最低熟悉度”。然而,这似乎实际上是“艺术家的最大/最低限度的熟悉程度”。这通常很好,但对古典音乐来说是个问题,在那里,实际的表演艺术家通常并不熟悉,但作曲家却很熟悉;人们会希望,用高artist_familiarity
搜索古典音乐会返回巴赫和莫扎特的作品,但它不会(例如,在我的测试中,genre=classical&artist_min_familiarity=0.7&artist_max_familiarity=1
会在吸血鬼周末返回曲目,而不会返回巴赫的古典曲目)。这能解决吗?
发布于 2015-10-09 18:38:21
正如您所指定的,使用style=classical过滤的歌曲搜索方法(没有体裁参数样式)返回我们无法描述为纯古典的艺术家和歌曲。我认为这些背后的原因是如何以电子诚实的方式实现熟悉算法。我想,如果通过电子诚实算法发现艺术家在音乐中有古典元素,并且在整个网络上被描述得比巴赫更受欢迎(熟悉程度实际上是众所周知的),那就有可能归还吸血鬼周末的歌曲。
如果您真的想直接使用song.search方法,我建议您添加artist_start_year_before参数,该参数将过滤新时代的艺术家,并稍微降低对新时代艺术家的熟悉程度(有点麻烦,不推荐):
before=1900
另一方面,
key&format=json&results=10&name=classical
和
key&format=json&genre=classical
调用返回的结果与您所期望的更相关。然后,您可以使用艺术家ids来查找他们的歌曲。
https://stackoverflow.com/questions/33036001
复制相似问题