我使用echonest分析器上传曲目并从中获取一些音频特征.
我通过发送卷曲请求来做到这一点.
我意识到现在API已经减少到了Spotify,我想知道我是否仍然可以上传曲目进行分析,而不是仅仅根据他们的Spotify ID分析曲目.
我曾经使用过这种方法:
$post = array(
"url"=>$title,
"api_key"=>"myAPI",
"format"=>"json"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "http://developer.echonest.com/api/v4/track/upload");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
$result=json_decode($response,true);
$status=$result['response']['track']['status'];
Run Code Online (Sandbox Code Playgroud)
使用Spotify有类似的方法吗?谢谢.
我可以使用离线功能分析仪,但我已经使用EchoNest分析仪训练我原来的模式在这里.
我想使用echonest Api在IOS中制作像shazam的应用程序.我已经提到了echonest的文件,我发现他们没有提供歌曲识别Api" https://developer.echonest.com/forums/thread/3650 "
要么
请分享你的答案
感谢您提前寻求帮助.
我有一个歌曲列表 - 有没有办法(使用 Spotify / Echo Nest API)批量查找每个曲目的 Spotify ID?
如果有帮助,我计划通过其 API 的“获取音频功能”部分运行这些 ID。
提前致谢!
在他们关于获取艺术家热门曲目的文档中,他们提到了这一点:
\n\n最多 10 首曲目是 Spotify 应用程序显示的曲目。如果您想获取更多艺术家\xe2\x80\x99的热门曲目,另一种方法是使用 Echo Nest 歌曲/搜索来完成此操作。它将接受 Spotify 艺术家 id 作为输入,并在输出中为您提供 Spotify id\xe2\x80\x99s。
\n\n我很确定 Echo Nest Api 已不复存在,所以我想知道是否还有办法获取除 10 首之外的其他艺术家的歌曲?
\n\n或者,如果 Spotify 不再支持该功能,我正在考虑使用 Last.fm 的 Api 来完成此操作,如果有人对如何解决此问题有任何其他建议,那就太棒了!提前致谢。
\n我在这个项目上使用CodePen,这就是我发现代码中存在无限循环的方式.另外 - 它将无限循环的行号估计为第0行,这就是为什么我怀疑它与这段$(document).ready()代码有关.
我是一个jQuery/API初学者,所以如果这很明显就道歉.
这是代码:
$(document).ready(function() {
var key = '*****************';
var i = 0;
var hotArray = [];
function isInArray(value, array) {
return array.indexOf(value) > -1;
}
function getMusic() {
$.getJSON('http://developer.echonest.com/api/v4/song/search?api_key=' + key + '&artist=led+zeppelin&sort=song_hotttnesss-desc&results=50&bucket=song_hotttnesss', function(data) {
while ($('.songs li').length < 10) {
if (!(isInArray(data.response['songs'][i]['hotttnesss'], hotArray))) {
$('.songs').append('<li>' + data.response['songs'][i]['title'] + '</li>');
hotArray.push(data.response['songs'][i]['hotttnesss'])
}
}
i++;
});
};
$('.click').click(getMusic);
});
Run Code Online (Sandbox Code Playgroud)
代码简要说明:
当我点击页面的某个位置(后来扩展为用户输入的艺术家)时,我正试图获得Led Zeppelin的前10首歌曲.但是Echo Nest API的工作方式,返回了许多重复项.例如,"天堂的阶梯"和"天堂的阶梯"被认为是两首独立的歌曲.
为了解决这个问题,我正在使用每首歌曲的"hotttnesss"值,这对每首歌都是独一无二的.同一艺术家的两首歌曲可以具有相同的热度的唯一方式是它们实际上是同一首歌,就像这些重复的情况一样.
因此,当报告的歌曲数量低于10时,我将逐步浏览每首返回的歌曲,如果其热点值不在已报告歌曲的hotttnesss值的数组中,则报告该歌曲.报告歌曲后,歌曲的hotttnesss值将添加到阵列中.
echonest ×5
spotify ×3
api ×1
ios ×1
iphone ×1
javascript ×1
jquery ×1
last.fm ×1
libspotify ×1
loops ×1
rest ×1
spotify-app ×1
swift ×1