ShazamKit
1. 识别普通歌曲
通过[[SHSession alloc] init]可识别出歌曲、获取歌曲信息
- (void)session:(SHSession *)session didFindMatch:(SHMatch *)match {
SHMatchedMediaItem *mediaItem = match.mediaItems.firstObject;
}
mediaItem包含:
matchOffset; /// The difference between the start of the reference audio and the start of the sample audio
shazamID; /// The Shazam Media ID
title; /// The Title
subtitle; /// The Subtitle
artist; /// The Artist
genres; /// The Genre Names
appleMusicID; /// The Apple Music ID
appleMusicURL; /// The Apple Music URL
webURL; /// The Web URL
artworkURL; /// The Artwork URL
videoURL; /// The VideoURL
- 可快速识别歌曲(3 ~ 4s),抗噪音能力不错。
- 欧美歌曲识别率及速度较高,亚洲歌曲识别率很低,更不用说翻唱、民谣等。
此功能可参考苹果收购来的shazam App
2. 识别自定义音频
任何形式的音频(包括视频内音频)都可生成.shazamcatalog的指纹文件,通过预先下发.shazamcatalog文件给终端,使终端具有识别自定义音频的能力,指纹文件具有体积小、更安全、不易泄漏隐私等优点。
3. 数据保存
使用shazamkit识别到的歌曲,可以通过SHMediaLibrary保存在shazam库中,以便可使用shazam App进行播放(也只能播放歌曲片段)。
体会
shazamkit使用简单方便,可快速识别欧美歌曲,将自家shazam App识曲技术开放使开发者几乎没有门槛都可具有听歌识曲能力,且支持多平台(iOS, iPadOS, mac OS, tv OS, watch OS,Android,就差windows了)。但国内识曲软件已经打通了曲库 - 识曲 - 试听 - 完整播放 - 音视频推荐 - 导流整条链路,首先相比shazam几百万曲库,国内音乐App的曲库更丰富完整、更贴合国内用户使用习惯,其次单纯的识曲能力也不弱于shazam,因此判断国内出现基于shazamkit的独立APP的可能性较小,对国内现有识曲行业影响较小。