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
возвращает треки Vampire Weekend, а не классические треки Баха). Это как-то разрешимо?
Знакомство артиста Echo Nest с классической музыкой
Ответы (1)
Как вы указали, метод поиска песен, отфильтрованный с помощью style=classical (стиль параметра жанра отсутствует), возвращает исполнителей и песни, которые мы не можем описать как чисто классические. Я думаю, что причина этого в том, как Echonest реализует алгоритм знакомства. Предполагаю, что песни Vampire Weekend можно вернуть, если алгоритмом Echonest будет установлено, что в музыке исполнителя есть элементы классики, а также прослушивание и популярность (знакомство на самом деле описывается как известность) по всей сети больше, чем Бах.
Если вы действительно хотите использовать метод song.search напрямую, я рекомендую вам добавить параметр artist_start_year_before, который будет фильтровать исполнителей нового века и немного уменьшать минимальное знакомство (немного хакерски и не рекомендуется):
С другой стороны
жанр/исполнители?api_key=your_api_key&format=json&results=10&name=classical
а также
исполнитель/search?api_key=your_api_key&format=json&genre=classical
вызовы возвращают результаты, более соответствующие вашим ожиданиям. Затем вы можете использовать идентификаторы исполнителей, чтобы найти их песни.