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识别音乐相关推荐

  1. python识别音乐歌曲_如何轻松识别您正在听的歌曲

    python识别音乐歌曲 Do you have a song stuck in your head? Did you listen to a new song and now you're humm ...

  2. 计算机上面的音乐,电脑上如何识别音乐

    电脑上如何识别音乐 我们都知道怎么在手机上使用软件来实现识别音乐的功能,但是在网上怎么识别呢.那么电脑上如何识别音乐呢?下面就让jy135小编来告诉大家吧,欢迎阅读. 首先打开midomi网站(htt ...

  3. Sahi案例分享:音乐批量下载

    from http://www.infoq.com/cn/articles/sahi-google-music-download 作者沈锐发布于2012年6月13日 领域 运维 & 基础架构, ...

  4. TrackID识别音乐的应用不能用了

    SONY的手机端 app:TrackID,是识别率很高的音乐识别软件,今天发现关闭了,取而代之的是zhazam. 网址:https://www.shazam.com/zh/apps 转载于:https ...

  5. ECS6基础-案例:百度音乐全选、添加、收藏、删除功能

    百度音乐案例 同上篇文章类似,都基于ECS6基础知识,重点在于掌握逻辑语法,css样式等不做过多追求 1. 实现功能 添加音乐到列表 选中效果 删除所选音乐 收藏和取消收藏 全选功能和全不选功能 实现 ...

  6. [案例]网易云音乐的个性化推荐

    用过虾米.酷狗.QQ音乐.网易云音乐,个人感受网易云音乐在音乐推荐这块做的真心不错,特别是以"人"为角度的推荐,没有像虾米.酷狗推的那么乱.虾米还可以,但更多的是以歌搜歌的形式.刚 ...

  7. 大班运用计算机教学案例,幼儿园大班音乐教学方案实用案例5篇

    音乐作为一种转瞬即逝的时间艺术,要求幼儿保持注意力的稳定,习惯于跟随音乐的运动和变化,以便了解音乐所表现的内容和情感,形成对乐曲的整体感受.以下是小编精心收集整理的幼儿园大班音乐教学方案,下面小编就和 ...

  8. 精选案例 | “虫虫音乐”如何做到搜索CTR提高150%

    简介:简介: 本文通过[虫虫音乐]在阿里云开放搜索的最佳实践,和大家介绍影音行业如何快速实现高质量的搜索服务助力业务更好发展! 公司背景 虫虫音乐是一家版权乐谱分发平台,致力于专业打造音乐教育和乐谱版 ...

  9. Js逆向案例—网易云音乐

    首先找到所需响应所在位置,点开Initiator.点开第一个js文件. url未登录状态csrf_token为空,不影响操作 点开第一个js文件之后,在弹出的页面所选行打上断点,刷新页面,第一个url ...

最新文章

  1. 雷电模拟器多开ip修改器_模拟器怎样才能更换不同ip地址?
  2. SqlMapConfig.xml配置文件---Mybatis学习笔记(七)
  3. 每日一题(40)—— 字符串常量
  4. python 如何判断一个函数执行完成_Python 函数为什么会默认返回 None?
  5. linux 对象 调出r_【转】Linux - chown 中的 -R 参数
  6. 深入剖析cpp对象模型
  7. python列表元素循环左移_JavaScript系列——数组元素左右移动N位算法实现
  8. MySQL主从复制-基于GTID及多线程的复制
  9. C++中类中常规变量、const、static、static const(const static)成员变量的声明和初始化...
  10. 刚体运动学公式_经典运动学公式汇总
  11. 低配置电脑最适合系统—win10企业版2016长期服务版本密钥和激活方法
  12. ARM架构(RISC)和x86架构(CISC)以及传统与移动CPU/GPU厂商
  13. 高考数学必考知识点数学高考常考考点
  14. Code.V光学设计学习(三)——公差分析
  15. 基因编辑c语言,基因编辑为何失败?那是因为Cas9霸着C位
  16. 基于 Springboot 和 Mybatis 的后台管理系统 BootDo | 软件推介
  17. 乐千业:税务筹划对企业的经营到底有多重要呢
  18. 药品市场信息查询-药品数据库(全面)
  19. signature=4c7f5ea5ee6ba300a8851e5bd937b405,拦截到崩溃scrollViewContainer 错误
  20. A、B、C三类IP地址范围有哪些?5张表格收藏好就够了!

热门文章

  1. 对jdk5.0中可变长参数的理解
  2. [网络安全学习篇65]:提权
  3. 面试官:vue的这些原理你了解吗?
  4. 175.纯 CSS 实现视频转场特效
  5. 6.4 差异可视化-多维量法(MDS)
  6. 魔方的征途 - 魔方如何选择?
  7. Net Core 6.0 webApi+sqlServer数据库教程实战
  8. 说说黑帽seo排名的操作流程
  9. 有些小老板辛辛苦苦经营了一年的工厂,年底了再看看自己的兜里比脸都干净是什么原因?
  10. eclipse+tomcat搭建服务器遇到的坑:运行整个项目不能连接数据库,单独的测试类却能够连接数据库