失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【案例】Shazam识别音乐

【案例】Shazam识别音乐

时间:2020-02-21 16:39:11

相关推荐

【案例】Shazam识别音乐

from《数据挖掘技术:应用于市场营销、销售与客户关系管理》

背景:1. 是个手机APP,收到的音频可能有许多噪音2. 用户输入的是一个音乐片段,而不是整首歌,因此不能直接做两个音频的对比

过程:1. 音频签名:纵轴是频率,横轴是时间,每半秒钟取样一次

→ 缺点:同一首歌的音频签名可能很不一样,因为有背景噪音等2. 使用星点图,只取峰值点,这样就key减少背景噪音和压缩对谱图的影响

3. 相似度计算 1)星点图每个点包含的字段 a. 频率 b. 时间 c. 强度 2)如果是两首完整的歌,直接对比星点图中相同点所占的比例作为相似度就可以,然而音乐片段不行,因为x轴坐标不同 3)时间片: a. 将片段视为一个时间片,与音乐分割的时间片进行对比;如果两个时间片有超过90%的峰值匹配,就认为两个时间片匹配 b. 计算片段与音乐重叠的部分长度,作为距离 c. 计算量很大,因为要对比每个峰值【而且用户唱得慢了或快了怎么办?】 4)锚点距离: a. 以某个时间点最高峰值作为锚点,其后续一段时间和频率内的星点作为对应点 b. 计算锚点与星点之间的线 c. 对于每一对锚点与星点(锚),包含如下信息:· 时间差· 频率差· 锚点本身的时间和频率 d. 匹配片段和歌曲之间的锚,如果两个片段之间有足够多的锚可以匹配,则两个片段相匹配 e. 如图,从41秒开始逐渐有相匹配的锚

4. 具体实现方法 1)将歌曲片段转换成星点图 2)将星点图转换成各个锚点 3)创建锚和峰值对 4)识别歌曲和片段之间的匹配锚 5)确定片段和每首歌曲之间最长的连续重叠序列 6)返回重叠最长的歌曲

如果觉得《【案例】Shazam识别音乐》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。