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
返回吸血鬼周末的曲目而不是经典曲目由巴赫)。这有点可以解决吗?
答案 0 :(得分:1)
正如您所指定的,使用style = classical(没有流派参数样式)过滤的歌曲搜索方法会返回我们无法描述为纯经典的艺术家和歌曲。我认为这些背后的原因是Echonest如何实现熟悉算法。我想如果通过Echonest算法发现艺术家在他们的音乐中有经典元素并且倾听和流行(熟悉实际上被描述为知名度),可以通过Vampire Weekend返回歌曲。超过巴赫的所有网络。
如果您真的想直接使用song.search方法,我建议您添加artist_start_year_before参数,该参数将过滤新时代艺术家并稍微降低熟悉程度(有点hacky且不推荐):< / p>
另一方面
genre/artists?api_key=your_api_key&format=json&results=10&name=classical
和
artist/search?api_key=your_api_key&format=json&genre=classical
调用返回的结果与您的期望更相关。然后,您可以使用艺术家ID来查找他们的歌曲