有部分音乐APP支持了音乐识别的功能,在这里向大家推荐一款音乐识别的SDK:ACRCloud
在这里,我用到的是听歌识曲部分,所以在这里给大家介绍一下ACRCloud听歌识别SDK的集成,和使用体验吧!()
首先,需要注册账号(默认是体验用户),然后添加自己的Projects,注意上面的资源库我没有用到,如果用得到的请自行了解哈
好了,接下来就快速下载sdk来体验一发吧!下载sdk,里面有包含一个小demo
按照要求添加对应的依赖库,这里我没有找到cocoapods的,所以手动添加了,注意还要添加麦克风支持
接下来看代码,打开demo(有oc和swift版本),首先看基础的配置,需要导入头文件,设置基础的配置
在这里,我们需要配置 accessKey accessSecret host 这3个关键的参数,然后请求超时这些就各取所需了,还有需要注意到的是几个block回调方法
因为SDK支持本地库,所以搜索的模式需要自己定义,在线识别(recmode)还是离线识别(recmodelocal)
开始音乐识别:这里的状态 _start 和_startTime看大家需求了
返回结果:官方有自带的API文档
Demo里面也有,Demo里面有很多返回类型,有音乐的,哼唱的,广播的,本地的,
我们可以自己定义模型去接收,里面有返回最有效果的信息,如果有资源版权做App内歌曲播放器,可以用到识别的时候的播放未知,其他数据也很有用
识别结果展示
经测试,识别速度确实超快(新发布的专辑不算),一般都能快速识别出来,如果是哼唱的话,估计需要有节奏的唱5秒左右,也就是2-3句歌词,然后声音得大一点,不能有太多杂音。
如果你也有兴趣,可以试试这个SDK哦!
附上结果中常见的错误结果: