Google 新一代音乐识别

文 / Google AI 苏黎世办公室 James Lyon


2017 年,我们发布了具有闻曲知音功能的 Pixel 2,就是利用深度神经网络为移动设备带来低功耗、始终开启的音乐识别功能。在开发 “闻曲知音” 时,我们的目标是打造一个小巧高效的音乐识别器,这需要数据库中的每个曲目有一个非常小的指纹,以支持音乐识别功能完全在设备上运行,而无需连接互联网。事实证明,“闻曲知音” 不仅对设备上的音乐识别器有效,其准确性和效率也大大超出我们当时使用的服务器侧系统声音搜索,后者构建之时深度神经网络尚未得到广泛应用。很自然地,我们就想能否将 “闻曲知音” 背后的技术用于服务器侧 “声音搜索” 中,让 Google 的音乐识别功能成为世界之最优。

最近,我们发布了新版本 “声音搜索”,其中就采用了 “闻曲知音” 中使用的部分技术。您可以在任意 Android 手机上通过 Google 搜索应用或 Google 智能助理来使用这一功能。只要开启语音查询功能,当您附近有音乐正在播放时,系统就会弹出 “这首歌的歌名是什么?” 的提示,供您点击查询。或者,您也可以直接问:“Hey Google,这首歌的歌名是什么?” 使用最新版本的 “声音搜索”,即可获得比以往更快更准确的搜索结果!


640?wx_fmt=gif



“闻曲知音” 与 “声音搜索” 对比

“闻曲知音” 使音乐识别技术微型化,令其变得小而高效,足以在移动设备上连续运行而不会对电池产生明显影响。为此,我们开发了一个全新的系统,使用卷积神经网络将几秒的音频转换成一个独特的 “指纹”。然后,系统会将指纹与设备上储存海量音乐的数据库进行比对,该数据库会定期更新以添加最新发布的曲目并删除过气曲目。相比之下,服务器侧 “声音搜索” 系统则不同,其需要比对的曲目约为 “闻曲知音” 的 1000 倍之多。由于音乐库的数量过于庞大,这对搜索的速度和准确性都是极大的挑战。在深入讨论这部分内容之前,我们先来了解一下 “闻曲知音” 的运作原理。



“闻曲知音” 的核心匹配流程

“闻曲知音” 通过将八秒音频片段的音乐特征投影到一系列低维嵌入式空间来生成音乐 “指纹”,这些低维嵌入式空间包含七个时长两秒的音频片段,片数之间的时间间隔为一秒,由此产生如下分段图:


640?wx_fmt=png


然后,“闻曲知音” 会搜索设备内置的歌曲数据库,寻找相似的嵌入序列,该数据库也是通过使用同一神经网络处理流行歌曲而生成。“数据库搜索” 使用两阶段算法来识别匹配的歌曲,第一阶段使用快速但欠准确的算法搜索整个歌曲数据库,以找出可能的一些候选歌曲;第二阶段对每首候选歌曲进行详细分析以找出正确匹配的歌曲(如有)。


  • 匹配,阶段 1:找出合适的候选歌曲:对于每次嵌入,“闻曲知音” 都会对设备内置数据库中的歌曲进行最邻近搜索以找出类似嵌入。数据库使用空间分割和向量量化混合法,以有效搜索数百万嵌入向量。由于音频缓冲区非常嘈杂,因此只能进行近似搜索,而且并非每次嵌入都能在数据库中找到正确歌曲的邻近匹配。但是,在整个音频片断中找到正确歌曲的几个邻近嵌入的机率非常高,因此,搜索范围会缩小到获得多次嵌入的一小组歌曲。


  • 匹配,阶段 2:最终匹配:由于上述数据库搜索方法为近似搜索,“闻曲知音” 可能无法找到我们查询的某些嵌入附近的歌曲嵌入。因此,为获得准确的相似度分数,“闻曲知音” 会检索数据库中每首歌所有可能相关的嵌入,以填补 “缺口”。然后,结合音频缓冲区的嵌入序列和设备内置数据库歌曲中的另一个嵌入序列,“闻曲知音” 会两两评估其相似性分数并相加,以得到最终的匹配分数。


使用一系列嵌入而非单次嵌入对于 “闻曲知音” 匹配歌曲的准确性至关重要。指纹识别神经网络还不够准确,无法仅通过单次嵌入识别歌曲 — 每次嵌入都会生成大量误报结果。但是,结合多次嵌入的结果,很容易就能消除误报,这是因为正确的歌曲能够匹配到每一次嵌入,而误报匹配仅接近输入音频的一两次嵌入。



扩展 “声音搜索” 服务器的 “闻曲知音” 功能

截止目前,我们已详细介绍了 “闻曲知音” 如何将歌曲与设备内置数据库中的歌曲相匹配。从拥有成千上万首歌曲的 “闻曲知音” 到拥有数以亿计首歌曲的 “声音搜索”,最大的挑战在于,很多歌曲会有数千次产生误报结果。为了能够在不作其他改动的情况下补偿这一点,我们不得不提高识别阈值,这意味着如要得到确认的匹配结果,就需要识别更多音频。然而,新版 “声音搜索” 服务器的目标是比 “闻曲知音” 匹配速度更快,而不是更慢,因此,我们不希望用户为一个结果等待 10 秒以上。

由于 “声音搜索” 是服务器侧系统,和 “闻曲知音” 一样,不受处理和存储数据制约条件的限制。因此,我们在指纹识别方面做了两大改动,两者均以牺牲服务器资源为代价提高准确性:


  • 我们将所用神经网络的大小增加了四倍,并将每次嵌入从 96 维增加到 128 维,这就减少了神经网络将高维输入音频打包成低维嵌入所需的工作量。这对提高第二阶段的搜索质量至关重要,因为其十分依赖于原始神经网络输出的准确性。


  • 我们将嵌入密度增加了一倍,事实证明,每 0.5 秒(而不是 1 秒)进行一次音频指纹识别并不会显著降低个别嵌入的质量,由于可用于匹配的嵌入数量增加一倍,质量反而有很大提升。


我们还决定根据歌曲的受欢迎程度对索引进行加权,实际上,我们降低了人气歌曲的匹配阈值,并且提高了不知名歌曲的匹配阈值。总而言之,这意味着我们几乎可以在数据库中无限制地添加更多(不知名)歌曲,而不会明显拖慢识别速度。



结论

对于 “闻曲知音”,我们原打算利用机器学习来创建一个音频指纹识别系统,该系统不仅要功能强大,而且设计要精简到足以完全在手机上运行。但其实,我们已成功创建了一个出色的全方位音频指纹识别系统,并且将其设计思想很好地延续到了服务器侧 “声音搜索” 系统,尽管 “声音搜索” 面临的挑战与 “闻曲知音” 不尽相同。

当音乐声音很小或处于非常嘈杂的环境中时,我们尚无法做到每次都能匹配,这意味着我们仍有很大提升空间,但我们坚信,我们能够提升系统的识别速度。我们会继续以提供新一代音乐识别技术为目标,应对这些挑战。如果下次您想知道播放的是什么音乐,不妨一试!您可以在主屏幕上创建一个快捷方式,如下所示:


640?wx_fmt=gif



致谢

我们对以下人员表示衷心感谢:Micha Riser、Mihajlo Velimirovic、Marvin Ritter、Ruiqi Guo、Sanjiv Kumar、Stephen Wu、Diego Melendo Casado‎、Katia Naliuka、Jason Sanders、Beat Gfeller、Julian Odell、Christian Frank、Dominik Roblek、Matt Sharifi 以及 Blaise Aguera y Arcas‎。


更多 AI 相关阅读:

· 通过 Google 照片库 API 打造新体验

· 构建 Google Dataset Search 和打造开放数据生态系统

· 针对资源匮乏语言的文字转语音系统:任重而道远


640?wx_fmt=gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38147.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌AudioLM :通过歌曲片段生成后续的音乐

AudioLM 是 Google 的新模型,能够生成与提示风格相同的音乐。该模型还能够生成复杂的声音,例如钢琴音乐或人的对话。结果是它似乎与原版没有区别,这是十分让人惊讶的。 为什么生成音乐如此困难? 创作音乐并不是一件容易的事。生成音频信号&…

“程序员交友网站” SO 突然裁员 10%,网友:ChatGPT 出来后就不咋用了

在ChatGPT影响下,知名开发者问答社区Stack Overflow撑不住要裁员了! 随着用户大规模转战ChatGPT,Stack Overflow访问量大幅骤降,且盈利情况不容乐观。 CEO Prashanth Chandrasekar在公开信中坦言:正处于困难时期。 具…

巴比特 | 元宇宙每日必读:浙江发布2023年元宇宙产业发展工作要点,6月底前组建元宇宙产业联盟,年底打造20家“专精特新”企业...

摘要:据浙江省发改委官网 4 月 24 日消息,浙江省发改委等 5 部门近日联合印发《浙江省元宇宙产业发展 2023 年工作要点》。《工作要点》制定了十六项主要任务,并提出在2023 年 4 月底前建立元宇宙部门工作协同机制;6 月底前组建元…

免费版GPT-4!美国AI初创公司推出Forefront Chat,火到官网崩溃

免费版 GPT-4 到底香不香? AI初创企业正式推出Forefront Chat 近日,Forefront AI 正式推出 Forefront Chat,允许用户免费体验 GPT-4 的强大功能。ForeFront AI 是一家总部位于纽约的软件开发公司,联合创始人分别为 Jimmy Grease…

VTK笔记-生成MIP图像-vtkImageSlabReslice类

MIP MIP(Maximum/Minimum Intensity Projection),最大/最小密度投影重建。   MIP可以较真实地反应组织密度差异,使得血管的异常改变、形态、走形强化;但是只适用于外观形态的显示。   在容积扫描数据中对每条径线上…

重温马云英文演讲:最伟大的成功

“机会在哪呢?”每当创业者发出这个疑问,我们就该重温马云的这段英文演讲,让奋斗的热血重新沸腾起来。你有什么。你有年轻的身体,你有奇妙的想法,你有乐观的心态,你有无限的可能性! 演讲全文&am…

马云退隐前,在年会上说了最重要的三件事

作者:黄小斜 今天是9月10号教师节,也是马老师卸任阿里巴巴董事长的日子,同时也是阿里巴巴召开20周年年会的日子。有幸抽中了门票,在现场见证这具有历史意义的一幕,马老师在中场时给我们带来了一段演讲,也是…

阿里巴巴CTO独家自述:CTO就是要给CEO扫清障碍和风险

CTO可能不是思想家,但一定是行动派。 本文来自《云栖战略参考》第二期,过程中鲁肃非常坦率地探讨了一位合格CTO应该具备的素质,以及他自己一路摔打成长的心路历程。 一 我的经历 我的经历很简单,2004年之前一直在学校读书&#x…

马云现身西班牙度假 半年多来首次在境外露面

这半年里,马云公开露面的次数不到三次,就连前段时间的世界互联网大会也不见他的身影。 极少数出现在公众视野的马老师似乎在努力低调,但是他的一举一动仍然受人关注。 西班牙多家媒体10月19日报道,马云上周六飞抵西班牙, 在伊维…

【历史上的今天】8 月 22 日:改变世界的程序员们;网络直播的鼻祖;何小鹏离开阿里巴巴

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天 2022 年 8 月 22 日。历史上的今天,Masatoshi Shima 出生,他和 英特尔(Intel) 合作设计的芯片让第一个微处理器 Intel 400…

马来西亚热情拥抱阿里巴巴 马云倡议的eWTP首次落地海外

摘要:3月22日,马来西亚总理纳吉布与阿里巴巴集团董事局主席马云一同出现在吉隆坡一场盛大启动仪式上,他们将共同见证马云的eWTP理念落地马来西亚。 3月22日,在邀请阿里巴巴集团董事局主席马云、阿里巴巴集团CEO张勇、蚂蚁金服集团…

基于GPT4All的大型语言模型设计生态系统

GPT4All 一套专为强大、定制的大型语言模型设计的生态系统,能够在消费级CPU上本地运行。在GPT4All中,所使用的模型是一个3GB至8GB的文件,读者可以自行下载该文件,并将其插入到GPT4All的开源生态系统软件中。这一软件生态系统由Nomic AI提供支持并进行维护,其目的是确保系统…

chatgpt赋能python:Python在数据可视化中的应用:如何用Python画图

Python在数据可视化中的应用:如何用Python画图 介绍 随着数据科学和人工智能的不断发展,数据可视化成为了一种重要的工具。通过绘制图表,我们可以更直观地理解数据之间的关系,并发现其中的规律和趋势。Python作为一种灵活的编程…

chatgpt赋能python:使用Python绘制散点图:了解基本语法,数据可视化。

使用Python绘制散点图:了解基本语法,数据可视化。 数据是任何研究的基石,因此对于从事各种数据处理工作的人员来说,数据可视化是一个非常重要的工具。Python作为一种非常受欢迎的编程语言,具有广泛的应用,…

chatgpt赋能Python-pythonpandas雷达图代码

前言 在数据可视化中,雷达图是一种非常常用的图表类型。Python中的pandas库提供了快速而简便的雷达图绘制方法,因此在本篇文章中,我们将着重介绍如何使用pandas库绘制雷达图,并提供一些有用的代码示例。 什么是雷达图&#xff1…

chatgpt赋能python:PythonSegno:一款专业的二维码生成器

Python Segno: 一款专业的二维码生成器 随着二维码的不断普及,二维码的应用场景也越来越广泛。比如在商品、广告等领域,我们经常可以看到精美的二维码。但数字出版、酒店、餐馆等行业也在使用二维码作为访问、付款等操作的工具。当然,对于开…

chatgpt赋能python:用Python绘制柱形图:一篇全面的指南

用Python绘制柱形图:一篇全面的指南 如果你想用数据去解决一些问题,或者向别人展示一些数据,那么绘制柱形图(Bar chart)就是一个好的选择。不仅因为它清晰、易懂,而且因为它是一种数据可视化的方式&#x…

chatgpt赋能python:Python方波绘制代码

Python方波绘制代码 Python是一种高级编程语言,已经被广泛应用于许多领域,包括数据科学、机器学习、Web应用程序开发等。在本文中,我们将介绍如何使用Python编写方波绘制代码。 什么是方波? 方波是一种周期性波形,具…

chatgpt赋能python:Python绘制动画:用代码让图像动起来

Python绘制动画:用代码让图像动起来 Python是一种强大的编程语言,可以用于各种应用领域,包括图形图像处理。利用Python的绘图库和动画库,可以快速、简便地实现动画效果。本文介绍Python绘制动画的基本概念与技巧,帮助…

chatgpt赋能python:Python编程绘制方波无穷级数

Python编程绘制方波无穷级数 在数学领域,方波无穷级数是指一种周期为 T T T 的函数,可以被表示为一组正弦函数的无穷级数。简单来说,它是由许多个正弦波合成的周期函数。 Python作为一种高效的编程语言,可以很容易地用来绘制方…