首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Google 新一代音乐识别

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

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

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

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

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

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

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

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

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

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

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

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

结论

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

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

致谢

我们对以下人员表示衷心感谢: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‎。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181025A0I38N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券