免费音乐识别 API

软件推荐 免费 音乐 网络 API
2021-10-08 02:43:33

我正在开发一个应用程序来识别扬声器播放的音乐。它记录 32 秒播放的声音,并通过音乐识别 API 发送请求。到目前为止,我使用的是 Echonest。但是自从我发布我的免费软件以来,我的 api_key 被禁止了,因为请求太多,有 200 多个用户使用。

所以我查看了 MusicBrainz,但它需要整首歌曲的确切持续时间才能收到可接受的响应,这是我的应用程序无法猜测的持续时间。

所以我正在寻找一个免费的音乐识别 API,这样我的免费软件就可以工作了。你认识一个吗?

注意:我使用Echonest通过:

  • 使用 ffmpeg 捕获 32 秒
  • 通过 cURL 发送此命令:

    curl -F "api_key=XXX" -F "filetype=mp3" -F "track=@sound.mp3" "http://developer.echonest.com/api/v4/track/upload" > info.txt

我尝试通过以下方式使用MusicBrainz

  • 使用 ffmpeg 捕获 32 秒
  • 通过以下命令使用 Chromaprint 生成指纹:

    fpcalc sound.mp3 > fingerprint.txt

  • 通过 cURL 发送此命令:

    curl -F "client=XXX" -F "meta=recordings" -F "duration=32" -F "fingerprint=ABC" "http://api.acoustid.org/v2/lookup" > info.txt

4个回答

我建议ACRCloud,它是一个综合音频识别服务提供商。音乐识别是解决方案之一,其音乐目录为 40m 曲目。提供 Android、iOS、Java 和 Python SDK。

只要求您的用户获取 API 密钥怎么样?如果没有关于您的用例的完整详细信息,我不能说这是否是一个不错的选择,但我认为大多数情况下都会如此。这不是一件奇怪的事情,并且由一些非常流行的开源项目完成 - 例如响应文件管理器

GracenoteACRCloud进行了比较测试,结果表明 ACRCloud 的音乐识别服务比 Gracenote 好得多。请参考:音乐识别大赛:Gracenote vs ACRCloud

另一种选择可能更符合问题的精神。Gracenote拥有周围最好的识别数据库之一。我只是从最终用户的角度而不是开发人员的角度使用它,但我发现它非常准确。

如此处所述,生成音频指纹只需要最初的几秒钟。他们确实有一个商业的开发者计划