CN112148754A - 一种歌曲识别方法和装置 - Google Patents

一种歌曲识别方法和装置 Download PDF

Info

Publication number
CN112148754A
CN112148754A CN202010904242.9A CN202010904242A CN112148754A CN 112148754 A CN112148754 A CN 112148754A CN 202010904242 A CN202010904242 A CN 202010904242A CN 112148754 A CN112148754 A CN 112148754A
Authority
CN
China
Prior art keywords
audio stream
song
music
mobile terminal
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010904242.9A
Other languages
English (en)
Inventor
孔令城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Music Entertainment Technology Shenzhen Co Ltd
Original Assignee
Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Music Entertainment Technology Shenzhen Co Ltd filed Critical Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority to CN202010904242.9A priority Critical patent/CN112148754A/zh
Publication of CN112148754A publication Critical patent/CN112148754A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开一种歌曲识别方法,由移动终端实施,包括:确认所述移动终端处于预设的移动终端状态;响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段;响应于用户启动歌曲识别功能的操作,获取所述操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果。本申请还公开一种歌曲识别装置、移动终端和存储介质。本申请的方案能够有效减少用户发起歌曲识别后的等待时间。

Description

一种歌曲识别方法和装置
技术领域
本发明涉及音频处理领域,尤其是歌曲识别技术,具体地涉及一种歌曲识别方法和装置以及可实施歌曲识别的移动终端和存储介质。
背景技术
以前,用户为获知或播放特定的歌曲时需输入关键字、如歌名或歌词来进行搜索。然而,这种方法对于用户不熟悉歌曲的搜索往往无能为力。
当前,本领域已提出听歌识曲方案来解决该问题。用户可以通过客户端或终端中的音乐软件打开听歌识曲功能来识别周围环境所播放的歌曲,即可获得该歌曲的识别结果。听歌识曲通常采用音频指纹检索或匹配技术,可提取由客户端或终端采集的一段周围环境录音的音频指纹,并在服务器中检索并匹配该音频指纹,并返回查询结果,即歌曲识别结果。
在听歌识曲过程中,受音频指纹检索或匹配技术或其他听歌识曲技术的约束,录音至少要达到一定的有效时长,才能有效识别歌曲。然而,在当前听歌识曲方案中,当用户听到自己喜欢的音乐时,需要在用户掏出手机,开启听歌识曲功能后,才开始录音,并且在录音达到有效时长后,才开始发起识别请求。由此,在用户发起听歌识曲后,还要至少等待一个最短有效时间,才能获得识曲结果,这个等待的过程会让用户产生焦虑感,降低用户体验。另外,由于在用户听到想要识别的歌曲至其发起听歌识曲的滞后性,如果播放的歌曲片段比较短或者已达尾声,用户还没来得发起听歌识曲或者录音有效时长不足,音乐已经播放完毕,将导致无法识别到此歌曲。
本背景技术描述的内容仅为了便于了解本领域的相关技术,不视作对现有技术的承认。
发明内容
因此,本发明实施例意图提供一种歌曲识别的方法和装置以及可实施歌曲识别的移动终端和存储介质,其有效减少用户发起歌曲识别后的等待时间。
在本发明实施例中,提供一种歌曲识别方法,由移动终端实施,包括:
确认所述移动终端处于预设的移动终端状态;
响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段;
响应于用户启动歌曲识别功能的操作,获取所述操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果。
在本发明实施例中,所述响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,包括:
持续获取环境音频流片段,并对获取的环境音频流片段进行变换处理以生成频谱图;
将所述频谱图输入预设的音乐检测神经网络模型以确定所述环境音频流片段是否包含音乐成分;
若所述环境音频流片段包含音乐成分,则缓存包含音乐成分的环境音频流片段。
在本发明实施例中,所述响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,还包括:
若所述片段未包含音乐成分,则丢弃已缓存的环境音频流片段;
若所述片段包含音乐成分,将当前缓存的环境音频流片段与已缓存的环境音频流片段组成多个连续环境音频流片段。
在本发明实施例中,所述将当前缓存的环境音频流片段与已缓存的环境音频流片段组成多个连续环境音频流片段,包括:
判断已缓存的环境音频流片段达到预定的时长标准或片段数量;
若是,则丢弃最早缓存的环境音频流片段,将当前缓存的环境音频流片段与剩余已缓存的环境音频流片段组成所述多个连续环境音频流片段;
若否,则直接将当前缓存的环境音频流片段与所有已缓存的环境音频流片段组成所述多个连续环境音频流片段。
在本发明实施例中,所述响应于用户启动歌曲识别功能的操作,获取该操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果,包括:
判断所述一个或多个连续环境音频流片段是否符合歌曲识别的时长标准;
若是,则获取所述一个或多个连续环境音频流片段中的歌曲识别结果。
在本发明实施例中,所述响应于用户启动歌曲识别功能的操作,获取该操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果,包括:
响应于该操作,发送识别所述环境音频流片段中的歌曲的请求;
接收并呈现歌曲识别结果。
在本发明实施例中,所述响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,还包括:
识别所述预存的环境音频流片段中的歌曲并保存歌曲识别结果。
在本发明实施例中,所述响应于用户启动歌曲识别功能的操作,获取所述操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果,包括:
呈现所述操作前最新保存的歌曲识别结果。
在本发明实施例中,所述确认所述移动终端处于预设的移动终端状态,包括:
检测歌曲识别应用软件处于运行中且未在播放音乐。
可选地,歌曲识别应用软件处于运行中的状态可通过点击歌曲识别应用的图标或点击进入歌曲识别界面的按钮实现。
在本发明实施例中,所述用户启动歌曲识别功能的操作包括点击或按压启用歌曲识别功能的按钮或摇晃所述移动终端。
在本发明实施例中,所述音乐检测神经网络模型包括分类卷积神经网络模型,包括多个卷积层、一个或多个扁平层、一个或多个全连接层和一个输出层。
在本发明实施例中,还提供一种歌曲识别装置,包括:
确认单元,配置成确认所述移动终端处于预设的移动终端状态;
音频预存单元,配置成响应于歌曲识别装置的预设状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段;
识别结果获取单元,配置成响应于用户启动歌曲识别功能的操作,获取所述操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果。
在本发明实施例中,所述音频预存单元包括:
音频处理单元,配置成持续获取环境音频流片段并对获取的环境音频流片段进行变换处理以生成频谱图;
音乐检测神经网络模型,配置成接收所述频谱图以确定所述环境音频流片段是否包含音乐成分;
缓存单元,配置成在所述环境音频流片段包含音乐成分时缓存包含音乐成分的环境音频流片段。
在本发明实施例中,还提供一种移动终端,包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行本发明实施例所公开的任一歌曲识别方法。
在本发明实施例中,还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序配置成被运行时执行本发明实施例所公开的任一歌曲识别方法。
在本发明实施例中,在用户发起“听歌识曲”之前,通过“预录音”功能将环境音缓存起来;并在用户“真正”发起“听歌识曲”时(如通过点击“识别歌曲”按钮),如果已有预先录好满足最小时长要求的音频,则立刻对这段音频发起听歌识曲请求并接收识曲结果或者直接获得识曲结果。这样既可以减轻用户的等待焦虑感,也可以捕获短时间的音乐,大幅提升了用户体验。
在本发明的进一步的实施例中,使用基于神经网络的音乐检测功能,实时检测当前环境音是否含有音乐,如果含有音乐成分,则通过“预录音”功能将此含音乐成分的音频缓存起来。当用户点击“开始识别”按钮时,如果已有预先录好的含音乐成分的音频,则该段含音乐成分的音频可被用于进行歌曲识别。这样能使得听歌识曲更精准,进一步改善用户体验,并且在某些场合能够更有效避免失去识别较短的或快结束的音乐的最佳时机。
作为解释而非限制,本发明实施例可以产生两点有益效果:
1、在识曲过程中,降低用户的等待时间,提升用户体验;
2、音乐稍纵即逝的情况下,能够及时捕获到用户想要识别的音乐内容,避免因用户听到和操作之间的时间差失去识别歌曲的最佳时机。
本发明实施例的可选特征和其他效果一部分在下文描述,一部分可通过阅读本文而明白。
附图说明
以下,结合附图来详细说明本发明的实施例,所示出的元件不受附图所显示的比例限制且附图中相同或相似的附图标记表示相同或类似的元件,其中:
图1示出了根据本发明实施例的歌曲识别方法的第一示例性流程图;
图2示出了根据本发明实施例的歌曲识别方法的第二示例性流程图;
图3示出了根据本发明实施例的歌曲识别方法的第三示例性流程图;
图4示出了根据本发明实施例的歌曲识别方法的第四示例性流程图;
图5示出了实施根据本发明实例的歌曲识别方法的第一示意图;
图6示出了实施根据本发明实例的歌曲识别方法的第二示意图;
图7示出了实施根据本发明实例的歌曲识别方法的第三示意图
图8A至图8D示出了实施根据本发明实例的歌曲识别方法的多个示意图;
图9示出了根据本发明实施例的歌曲识别装置的第一结构示意图;
图10示出了根据本发明实施例的歌曲识别装置的第二结构示意图;
图11示出了能实施根据本发明实施例的歌曲识别方法的移动终端的示例性硬件结构示意图。
图12示出了能实施根据本发明实施例的歌曲识别方法的移动终端的示例性系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例提供一种歌曲识别方法、歌曲识别装置或移动终端和存储介质。该歌曲识别方法可以借助于一个或多个移动终端实施。在一些实施例中,所述歌曲识别装置可以由软件、硬件或软硬件结合实现。在一些实施例中,根据本发明实施例的歌曲识别方法可以至少部分地由移动终端、如智能手机实施。
本发明实施例的歌曲识别方案(方法、装置、设备等)可以应用于听歌识曲的场景。例如,当用户想要获知或播放他所听到歌曲时,其可以借助例如安装有歌曲识别应用(APP)或软件的移动终端中的歌曲识别或“听歌识曲”功能识别该歌曲并可选地播放该歌曲。
在本文中,歌曲识别或“听歌识曲”作宽泛解释,涵盖识别周围播放的或者歌唱(或“哼唱”)的歌曲,且涵盖带有或不带歌词的旋律。
在本文中,歌曲的识别结果作宽泛解释,涵盖返回与歌曲有关的信息和/或直接播放被识别的歌曲。所述与歌曲有关的信息可以包括该歌曲的歌曲名、歌词、歌手、专辑封面等信息中的至少一种。歌曲的识别结果还可包括识别到多首歌曲的信息及其排序等。
在本文中,歌曲识别应用(或软件)作宽泛解释,涵盖专用的歌曲识别应用(或软件)和具有歌曲识别功能的音乐播放应用(或软件)、社交应用(或软件)或其他应用或软件。作为非限制性的例子,歌曲识别应用(或软件)可包括QQ音乐、Q音探歌或微信等。
如图1所示,在一个示例性实施例中,提供了一种歌曲识别方法,能够由移动终端、如手机实施。在该示例性实施例中,该歌曲识别方法可以包括:
S101:确认所述移动终端处于预设的移动终端状态。
在一些实施例中,所述预设的移动终端状态包括歌曲识别应用在运行中。
在一些实施例中,所述预设的移动终端状态是用户未发起歌曲识别或者说未启动“听歌识曲”的状态。
在一些实施例中,所述预设的移动终端状态包括歌曲识别应用处于系统前台,例如该歌曲识别应用在iOS系统的前台。在另一些实施例中,所述第一状态包括歌曲识别应用处于后台,但仍处于运行中而未被挂起,例如该歌曲识别应用处于安卓系统的后台,而未被挂起。
在一些实施例中,所述预设的移动终端状态还可包括歌曲识别应用具有录音权限。
在一些实施例中,所述预设的移动终端状态还可包括歌曲识别应用、如音乐播放应用、如QQ音乐虽然在运行中或在前台,但未在播放音乐。
在一些实施例中,所述歌曲识别应用软件处于运行中、但用户未发起歌曲识别或者说未启动“听歌识曲”的状态包括用户点击歌曲识别应用的图标或点击进入歌曲识别界面的按钮。在一些具体实施例中,用户未发起歌曲识别或者说未启动“听歌识曲”的状态包括用户点击专用歌曲识别应用(如Q音探歌)或音乐播放应用(如QQ音乐)的图标(icon)。该歌曲识别应用可类似地具有录音权限和/或未在播放音乐。在另一些具体实施例中,用户未发起歌曲识别或者说未启动“听歌识曲”的状态包括用户点击进入歌曲识别应用(如微信)中的歌曲识别界面,例如点击进入“摇一摇”界面或在“摇一摇”界面点击该界面中的“音乐”按钮。
S102:响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段。
在一些实施例中,可以借助根据本发明实施例的音乐检测选择性地预存环境音频流片段,从而经音乐检测具有音乐成分的音频流片段被缓存以能用于后续的歌曲识别。在进一步的实施例中,最新缓存的含音乐成分的环境音频流片段可以与之前的缓存的含音乐成分的环境音频流片段组成多个连续片段或者称为“片段组”。
这将在下文结合图2的实施例进一步说明。
如图2所示,示出了歌曲识别方法中的音乐检测的子流程。在该示例性的实施例中,所述响应于所述预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,包括:
S201:持续获取环境音频流片段,并对获取的环境音频流片段进行变换处理以生成频谱图。
在一些实施例中,该方法步骤还包括:
a)获取环境音频流,按照预定的采样率对环境音频流降采样处理;
b)对经降采样处理的环境音频流数据进行信号变换处理、如短时傅里叶变换(STFT),以持续截取具有预定的第一时长的环境音频流片段,并获得所述环境音频流片段的频谱图、如能量频谱图;
在一些实施例中,经降采样处理的数据可同时用于音乐检测和识别歌曲结果。在另一些实施例中,针对音乐检测和识别歌曲结果可以采用不同的降采样数据。在本文中,除非明确说明,各实施例按照降采样数据同时用于音乐检测和识别歌曲结果来进行描述,但经改造为采用不同的降采样数据的实施例同样落入发明的范围内。
在一些实施例中,获取的音频可被降采样为8000Hz、16bit的单声道数据。
在一些实施例中,片段的截取和信号处理(如STFT)可以在独立的步骤中实现。
但是,在一些实施例中,可以通过信号变换处理实现具有预定的音乐检测时长的环境音频流片段的截取和信号处理。
例如,在进一步的实施例中,步骤b可以包括:
b1)对经降采样处理的环境音频流数据持续加窗函数作短时傅里叶变换,获得基于所述窗函数的帧(或小片段)的频谱图;
b2)将多个连续帧(或小片段)的频谱图合成具有所述预定的音乐检测时长的环境音频流片段的频谱图。
在一些实施例中,所述窗函数为汉明窗,优选选取窗长1024、步长为512,对音频流做傅里叶变换,由此得到单帧的能量频谱图(分辨率为512×1);在此情况下,时间分辨率为32ms。但是,在另一些实施例中,可以采用其他的窗函数、选择不同的窗长和/或步长。在另一些实施例中,还可以选择不同的时间分辨率。
在一些实施例中,所述第一时长可称为音乐检测时长。在一些实施例中,可以选择不同的音乐检测时长,即用于音乐检测的环境音频流片段的时长。
在一个具体的实施例中,可以选择连续16帧(16个小片段)的频谱图进行拼接,由此可以获得具有音乐检测时长的环境音频流片段,在该实施例中,音乐检测时长为0.512s(32ms*16)。由此,可以获得512×1×16的分辨率的用于音乐检测的环境音频流片段的能量频谱图。在其他实施例中,该合成的能量频谱图可以二维表示,在此为512×16,并未超出本发明实施例的范围。
S202:将所述频谱图输入预设的音乐检测神经网络模型以确定所述片段是否包含音乐成分。
在一些实施例中,所述音乐检测神经网络模型包括分类卷积神经网络(CNN)模型,包括多个卷积层、一个或多个扁平层、一个或多个全连接层和一个输出层。
在一些实施例中,所述预设的音乐检测神经网络模型是经训练好的音乐检测神经网络模型。
在一个具体实施例中,所述分类卷积神经网络模型可以具有如下的表1所述多个连续的层:
输入 卷积核及步长
卷积层 512x16 4x1,步长2
卷积层 256x16 4x1,步长2
卷积层 128x16 4x1,步长2
卷积层 64x16 4x1,步长2
卷积层 32x16 4x1,步长2
卷积层 16x16 4x1,步长2
扁平层 8x16
全连接层 128
全连接层 8
表1
在一些实施例中,所述音乐检测神经网络模型可以采用其他的分类神经网络,包括但不限于RNN、LSTM等。
所述音乐检测神经网络优选能由移动终端、如手机中的AI引擎(AI Engine)或嵌入式神经处理单元(NPU)快速执行。由此,可以考虑选择简化的、能快速执行的神经网络分类算法。另外,可以考虑选择合理的用于音乐检测的片段时长,即选择合适的音乐检测时长,音乐检测时长的选择可以独立于歌曲识别(如音频指纹检索、匹配)算法所要求最小有效识别时长。
在一些实施例中,可以将前述实施例中所述的512×16频谱图输入该音乐检测神经网络模型(如上述分类卷积神经网络模型)中,以判断该用于音乐检测的环境音频流片段是否含有音乐成分(是否为音乐)。
S203:若所述环境音频流片段包含音乐成分,则缓存包含音乐成分的环境音频流片段。
在一些实施例中,基于预定条件,可以选择性丢弃部分或全部环境音频流片段。
在一些实施例中,预定条件是最新检测的环境音频流不含音乐成分。
例如,在如图3所示的一个具体实施例中,所述响应于所述预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,包括:
S301:持续获取环境音频流片段,并对获取的环境音频流片段进行变换处理以生成频谱图;
S302:将所述频谱图输入预设的音乐检测神经网络模型以确定所述片段是否包含音乐成分;
S303:若所述片段未包含音乐成分,则丢弃已缓存的环境音频流片段;
S304:若所述片段包含音乐成分,将当前缓存的环境音频流片段与已缓存的环境音频流片段组成所述多个连续环境音频流片段。
在一些实施例中,预定条件可以是缓存的环境音频流片段总长达到预定的第二时长或者预定的片段数量,例如歌曲识别所需的最小有效识别时长或者满足最小有效识别时长的预定时长或片段数量。
例如在图4所示的一个具体实施例中,所述响应于所述预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,包括:
S401:持续获取环境音频流片段,并对获取的环境音频流片段进行变换处理以生成频谱图;
S402:将所述频谱图输入预设的音乐检测神经网络模型以确定所述片段是否包含音乐成分;
S403:若所述片段未包含音乐成分,则丢弃已缓存的环境音频流片段;
S404:若所述片段包含音乐成分,判断已缓存的环境音频流片段是否达到预定的时长标准或片段数量;
S405:若已缓存的环境音频流片段达到预定的时长标准或片段数量,则丢弃最早缓存的环境音频流片段,并将当前缓存的环境音频流片段与剩余已缓存的环境音频流片段组成所述多个连续环境音频流片段;
在一些实施例中,判断标准为已缓存的片段数量。例如在一些实施例中,判断缓存的环境音频流片段是否达到6个。
S406:若已缓存的环境音频流片段未达到预定的时长标准或片段数量,则直接将当前缓存的环境音频流片段与所有已缓存的环境音频流片段组成多个连续环境音频流片段。
S103:响应于用户启动歌曲识别功能的操作,获取该操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果。
在一些实施例中,获取歌曲识别结果可以包括在用户启动歌曲识别功能的操作时,发送识曲请求和接收识曲结果。
具体地,在一些实施例中,所述响应于用户启动歌曲识别功能的操作,获取该操作前最新预存的多个连续环境音频流片段中的歌曲识别结果,包括:
c)响应于该操作,发送识别所述环境音频流片段中的歌曲的请求;
d)接收并呈现歌曲识别结果。
在另一些实施例中,可以在用户启动歌曲识别功能的操作之前,不仅缓存环境音频流片段,而且实时识别环境音频流片段或多个连续片段(或片段组)中的歌曲。即,在用户启动歌曲识别功能的操作之前即发送识别歌曲的请求并接收歌曲识别结果,但不呈现。在这些实施例中,获取歌曲识别结果可以是例如在移动终端的屏幕向用户显示最近接收的识别结果。
具体地,在另一些实施例中,所述响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,还包括:
e)识别所述预存的环境音频流片段中的歌曲并保存歌曲识别结果。
在一些具体的实施例中,所述识别所述预存的环境音频流片段中的歌曲并保存歌曲识别结果,包括:
e1)若已缓存的环境音频流片段达到预定的时长标准或片段数量,发送识别已缓存的环境音频流片段中的歌曲的请求;
e2)接收并保存歌曲识别结果。
可选地,还可以包括:
e3)用当前保存的歌曲识别结果替代之前保存的歌曲识别结果或丢弃之前保存的歌曲识别结果。
响应于用户启动歌曲识别功能的操作,获取该操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果,包括:
f)呈现该操作前最新保存的歌曲识别结果。
在一些实施例中,用户启动歌曲识别功能的操作是用户发起歌曲识别或启动“听歌识曲”操作。该用户启动歌曲识别功能的操作代表了用户打算识别当前周围环境中播放或歌唱的歌曲的意图。所述用户启动歌曲识别功能的操作可包括点击或按压启用歌曲识别功能的按钮或摇晃安装所述移动终端。例如,用户启动歌曲识别功能的操作可包括点击专用歌曲识别应用(如Q音探歌)中“识别歌曲”按钮、点击音乐播放应用(如QQ音乐)中代表启用歌曲识别功能的按钮或摇晃(“摇一摇”)装有歌曲识别应用(如微信)的移动终端。
在本发明的实施例中,获取识别结果可以采用音频指纹检索或匹配技术实现,可提取由客户端或终端采集的一段周围环境录音的音频指纹,并在服务器中检索并匹配该音频指纹,并返回查询结果,即歌曲识别结果。例如在CN102063904A中公开的音频指纹检索或匹配技术,其全文通过援引纳入本文。但可以想到,根据本发明实施例的获取歌曲识别结果也可以利用其他的技术实现,例如本发明人的CN110675893A中公开的技术,其全文通过援引纳入本文。
在一些实施例中,在用户启动歌曲识别的操作时还判断已缓存的环境音频流片段是否达到预定的第二时长或者片段数量,例如歌曲识别所需的最小有效识别时长或者满足最小有效识别时长的预定时长或片段数量。
例如,在一些实施例中,响应于用户启动歌曲识别功能的操作,获取该操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果,包括:
g)判断所述多个连续环境音频流片段是否符合预定的时长标准或片段数量;
h)若是,则获取所述多个连续环境音频流片段中的歌曲识别结果。
所述获取可以是上述的两种获取方式之一,即,发送识曲请求和接收识曲结果,或直接呈现识曲结果。
在进一步的实施例中,若所述多个连续环境音频流片段不符合歌曲识别的时长标准或片段数量,可以选择不同的操作手段。
在一些实施例中,若没有缓存的环境音频流片段或缓存的多个连续的环境音频流片段不符合歌曲识别的时长标准或片段数量,则响应于用户启动歌曲识别功能的操作,直接录取或存储符合歌曲识别的时长标准的一段环境音频片段(可称作“非预录片段”),并请求识别该段环境音频片段中的歌曲和接收歌曲识别结果。在所述实施例中,可选地,可以丢弃已所述缓存的多个连续的环境音频流片段。
在另一些实施例中,若缓存的多个连续的环境音频流片段不符合歌曲识别的时长标准或片段数量,则响应于用户启动歌曲识别功能的操作,可以继续执行上述的音乐检测,直至用户启动歌曲识别功能的操作之前和之后缓存的环境音频流片段符合歌曲识别的时长标准或片段数量,请求识别该段环境音频片段中的歌曲和接收歌曲识别结果。
在一些实施例中,在请求识别之前可以采用本发明实施例所述的预处理对所述“非预录片段”进行预处理,并发送经预处理的数据至例如服务器端。例如采用本发明实施例所述的降采样以及landmark方法进行预处理或者采用本文引用的文献所采用的预处理方法。这落入本发明的范围内,在此不再赘述。
在一些实施例中,预存(音乐检测)步骤和获取歌曲识别结果可以利用相同的降采样数据,例如均是利用8000Hz、16bit的单声道数据。但是,在一些实施例中,预存(音乐检测)步骤所采用的变换处理(如短时傅里叶变换)和音乐检测(如借助于音乐检测神经网络)是独立于获取歌曲识别步骤而不为其使用。同样地,在一些实施例中,获取歌曲识别结果采用的识别歌曲的技术、如前述的音频指纹检索和匹配技术亦独立于预存(音乐检测)步骤而不为其所使用。
在一些实施例中,如果没得到预期的返回结果,则继续使用听歌识曲录取环境音进行识别,直到整个识别流程结束,即识别到结果或者达到终止条件仍未识别到结果。所述终止条件例如包括用户停止识别歌曲操作后的预定终止时长或节点。待识别流程结束后,如果歌曲识别应用软件仍处于本发明实施例所述的可进行音乐检测的状态,则可继续获取并检测环境音频。
以下描述根据本发明的歌曲识别方法的多个实例。在所述的多个实例中,以专用的歌曲识别应用软件——Q音探歌为例描述歌曲识别方法实例的实现。但是,本领域技术人员可以想到其他的实现载体,而且所述实例中的各特征可以单独或组合的方式在不引起矛盾的情况下结合到本文所述的各实施例中以获得新的实施例。
实例1
参考图5,示出了安装在移动终端、如手机500中的歌曲识别应用软件的图标,包括音乐播放应用软件(如QQ音乐)图标510、专用的歌曲识别应用软件(如Q音探歌)图标520、社交软件(如微信)图标530。
当用户点击Q音探歌图标520时,可以调用手机的录音功能对环境音进行持续录音。在一些系统中,歌曲识别应用软件还具有录音权限和/或音频缓存权限。
在此,可以将录取的音频进行预处理,例如降采样为8000Hz、16bit的单声道音频数据。
然后,对该音频数据进行短时傅里叶变换处理,施加具有1024窗长、512步长的汉明窗,从而截取时间分辨率为32ms的音频帧(“小片段”),并获得该32ms的音频帧的能量频谱图。
当连续获取16帧的音频数据及其能量频谱图时,将所述16帧的音频数据的能量频谱图合成一个用于进行音乐成分检测的环境音频流片段(“检测片段”)540、541、542、543、544、545、546、547或548的能量频谱图(未示出)。在此实例中,检测片段的时长为0.512s。
将检测片段的能量频谱图(分辨率为512*16)输入音乐检测神经网络模型、如分类卷积神经网络(CNN)中检测是否存在音乐成分。
例如,在本实例中的分类卷积神经网络(CNN)具有上述表1的多个连续的层。
但可以想到,所述音乐检测神经网络模型、如分类卷积神经网络(CNN)可以是的本发明实施例的其他神经网络模型。
在该实例中,如果利用音乐检测神经网络模型检测的环境音频流片段540未含有音乐成分,则不缓存该环境音频流片段540。例如图5中以虚线示意性表示该环境音频流片段540未被缓存。
在该实例中,如果经检测的环境音频流片段540未含有音乐成分,之前已缓存的、即经检测有音乐成分的环境音频流片段将被丢弃(如有),尽管这在图5中未示出。
在该实例中,如果经检测的环境音频流片段(如541-548)含有音乐成分,将当前缓存的环境音频流片段与已缓存的环境音频流片段组成所述多个连续环境音频流片段(片段组)。在本发明的实施例中,为了简单描述起见,符合歌曲识别的时长标准的多个连续环境音频流片段(片段组)也可被称为“识曲片段550”。由此,在一些实施例中,识曲片段由N个音乐检测片段构成,N≥2。在所示的实例中,符合歌曲识别的时长标准的多个连续片段为6个,即N=6。换言之,在该实例中,识曲片段由6个符合歌曲识别的时长标准的连续环境音频流片段构成,识曲片段550的时长为约3s(0.512s*6)。
在该实例中,当经检测的环境音频流片段(如541-548)含有音乐成分,进一步判断已缓存的环境音频流片段是否达到满足歌曲识别要求的预定的时长标准或片段数量。该实例中,判断例如可以通过判断“检测片段”的片段数n是否大于或等于预设值(如6);或者通过判断已缓存的片段总时长是否大于或等于预设值,如是否大于或等于符合歌曲识别的时长标准(如约3s或0.512s*6)。
如果已缓存的环境音频流片段达到预定的时长标准或片段数量,则丢弃最早缓存的环境音频流片段并将当前缓存的环境音频流片段与剩余已缓存的环境音频流片段组成所述多个连续环境音频流片段。
例如,当检测到环境音频流片段547包含音乐成分时,则丢弃最早缓存的环境音频流片段541,并且N个(在此N=6)连续的环境音频流片段542-547组成新的符合歌曲识别的时长标准的多个连续的环境音频流片段或者说识曲片段(未标示),能够被用作歌曲识别。例如图5中以剖面线示意性表示该最早的环境音频流片段541被丢弃。
类似地,当检测到环境音频流片段548包含音乐成分时,则丢弃最早缓存的环境音频流片段542,并且N个(在此N=6)连续的环境音频流片段543-548组成新的符合歌曲识别的时长标准的多个连续的环境音频流片段或者说识曲片段550,能够被用作歌曲识别。
在所示的实例中,响应于用户点击或按压“识别歌曲”按钮560,在移动终端500缓存有符合歌曲识别的时长标准或片段数量的多个连续的环境音频流片段543-548或者说识曲片段550时,移动终端将该多个连续的环境音频流片段543-548的数据(例如经过降采样和landmark方法处理后)发送至服务端并请求570识别该多个连续的环境音频流片段543-548中的歌曲。随后,移动终端接收580歌曲识别结果590,并且例如在移动终端500的屏幕中显示或者直接播放。
在该实例中,尽管图中未示出,在在移动终端500未缓存有环境音频流片段或者缓存的环境音频流片段不符合歌曲识别的时长标准(如n<6)时,移动终端500可以按照常规的听歌识曲功能进行识别,例如当用户点击“识别歌曲”按钮560时,直接录取或存储符合歌曲识别的时长标准(如约3s)的一段环境音频片段(非预录片段),并将该段环境音频片段的数据(例如经过降采样和landmark方法处理后)发送至服务端并请求识别其中的歌曲;并且接收和显示识别的结果。
尽管未示出,在一些实例中,当用户启动歌曲识别功能时,例如点击“识别歌曲”按钮时,可以中断本发明实施例所述的“音乐检测”。在一些实例中,在歌曲识别流程结束后,例如在返回歌曲识别结果后或者当用户启动歌曲达到预设的终止时间仍未获得歌曲识别结果的情况下,可以恢复本发明实施例所述的“音乐检测”。
实例2
参考图6,描述了根据本发明的另一个实例的歌曲识别方法的实现。
在图6所示的实例中,同样示出了安装在移动终端、如手机600中的歌曲识别应用软件的图标,包括音乐播放应用软件(如QQ音乐)图标610、专用的歌曲识别应用软件(如Q音探歌)图标620、社交软件(如微信)图标630。
当用户点击Q音探歌图标620时,可以调用手机的录音功能对环境音进行持续录音。在一些系统中,歌曲识别应用软件还具有录音权限和/或音频缓存权限。
类似地,在图6的实例中录取的音频可以类似于图5的实例所述的那样进行音频处理和音乐检测。
并且,图6所示的实例中的经音乐检测的环境音频流片段640-642采用类似于图5所示的方式示出。
在图6所示的实例中,如果利用音乐检测神经网络模型检测的环境音频流片段640未含有音乐成分,则不缓存该环境音频流片段640。
在图6所示的实例中,如果经检测的环境音频流片段640未含有音乐成分,之前已缓存的、即经检测有音乐成分的环境音频流片段将被丢弃(如有),尽管这在图6中未示出。
在图6所示的实例中,如果经检测的环境音频流片段(如641、642)含有音乐成分,将当前缓存的环境音频流片段与已缓存的环境音频流片段组成所述多个连续环境音频流片段(片段组)。在所示的实例中,符合歌曲识别的时长标准的多个连续片段同样为6个,即N=6。换言之,在该实例中,识曲片段由6个符合歌曲识别的时长标准的连续环境音频流片段构成,识曲片段650的时长为约3s(0.512s*6)。
在图6所示的实例与图5所示的实例的区别在于,在图6所示的实例中如果已缓存的环境音频流片段符合预定的标准时,例如预定的时长标准或片段数量时,则直接获取所述符合歌曲识别的时长标准的已缓存的多个连续环境音频流片段或者说识曲片段650或650’中的歌曲识别结果,而无需等到用户启用歌曲识别功能、如点击“识别歌曲”按钮660。例如移动终端将该多个连续的环境音频流片段的数据(例如经过降采样和landmark方法处理后)发送至服务端并请求670、670’识别该识曲片段650、650’中的歌曲并接收680、680’歌曲识别结果690、690’。可选地,当获得新的歌曲识别结果690’后,之前的歌曲识别结果690可被新的歌曲识别结果690’替换或直接丢弃。
在图6所示的实例中,经检测具有音乐成分的环境音频流片段641或642仅一次地被用于歌曲识别。即,识曲片段650和650’之间不具有重合的环境音频流片段(音乐检测片段)。但是可以想到,在本发明的一些实施例中,识曲片段可以以一个或多个音乐检测片段为步长进行平移并独立于用户的启动歌曲识别功能的操作针对每个识曲片段获取歌曲识别结果。例如识曲片段采用类似于图5所示的以一个音乐检测片段为步长进行平移或者以大于等于2且小于等于N(即小于等于歌曲识别的时长标准)的步长进行平移,并分别获得识曲结果。
接下来,在图6所示的实例中,响应于用户点击或按压“识别歌曲”按钮660,在移动终端600直接提供最近所获得的歌曲识别结果690’,例如在显示屏中直接显示最近获得的歌曲识别结果690’或者直接播放最近识别的歌曲。
在一些实施例中,提供歌曲识别结果690’前还可包括确定最近获得的歌曲识别结果与用户点击或按压“识别歌曲”按钮660之间是否有未检测到音乐成分而不缓存的片段或者两者之间的时长是否超出预定的阈值,如是,则移动终端600可以按照常规的听歌识曲功能进行识别,例如当用户点击“识别歌曲”按钮660时,直接录取或存储符合歌曲识别的时长标准(如约3s)的一段环境音频片段(非预录片段),并将该段环境音频片段的数据(例如经过降采样和landmark方法处理后)发送至服务端并请求识别其中的歌曲;并且接收和显示识别的结果。
尽管未示出,在一些实例中,当用户启动歌曲识别功能时,例如点击“识别歌曲”按钮时,可以中断本发明实施例所述的“音乐检测”。在一些实例中,在歌曲识别流程结束后,例如在返回歌曲识别结果后或者当用户启动歌曲达到预设的终止时间仍未获得歌曲识别结果的情况下,可以恢复本发明实施例所述的“音乐检测”。
实例3
参考图7,描述了根据本发明的另一个实例的歌曲识别方法的实现。
在图7所示的实例中,同样示出了安装在移动终端、如手机700中的歌曲识别应用软件的图标,包括音乐播放应用软件(如QQ音乐)图标710、专用的歌曲识别应用软件(如Q音探歌)图标720、社交软件(如微信)图标730。
当用户点击Q音探歌图标720时,可以调用手机的录音功能对环境音进行持续录音。在一些系统中,歌曲识别应用软件还具有录音权限和/或音频缓存权限。
类似地,在图7的实例中录取的音频可以类似于图5的实例所述的那样进行音频处理和音乐检测。
并且,图7所示的实例中的经音乐检测的环境音频流片段740-746采用类似于图5所示的方式示出。
在图7所示的实例中,如果利用音乐检测神经网络模型检测的环境音频流片段740、741未含有音乐成分,则不缓存该环境音频流片段740、741。
在图7所示的实例中,如果经检测的环境音频流片段740、741未含有音乐成分,之前已缓存的、即经检测有音乐成分的环境音频流片段将被丢弃(如有),尽管这在图7中未示出。
在图7所示的实例中,如果经检测的环境音频流片段(如742-747)含有音乐成分,将当前缓存的环境音频流片段与已缓存的环境音频流片段组成所述多个连续环境音频流片段(片段组)。在所示的实例中,符合歌曲识别的时长标准的多个连续片段同样为6个,即N=6。换言之,在该实例中,识曲片段由6个符合歌曲识别的时长标准的连续环境音频流片段构成,识曲片段650的时长为约3s(0.512s*6)。
此外,在图7所示的实例中,在用户启动歌曲识别、如点击“听歌识曲”按钮760之前,可以采用例如图5或图6之一的方式处理经检测含有音乐成分的环境音频流片段或者说“检测片段”。
在图7所示的实例与图5所示的实例的区别在于,在用户启动歌曲识别、如点击“听歌识曲”按钮760时,在移动终端700缓存有环境音频流片段,但是缓存的环境音频流片段不符合歌曲识别的时长标准或片段数量(如n<6)的情况下,移动终端700不中断本发明实施例所述的“音乐检测”,而是继续进行本发明实施例所述的“音乐检测”;并且,在用户启动歌曲识别操作之后检测到的环境音频流片段存在音乐成分时,将当前要缓存的环境音频流片段与已缓存的环境音频流片段组成所述多个连续环境音频流片段(片段组),直至所述多个连续环境音频流片段符合歌曲识别的时长标准(如约3s)或片段数量(如n=6),并将所述用户操作之前和之后的多个连续环境音频流片段或者说“检测片段”750的数据(例如经过降采样和landmark方法处理后)发送至服务端并请求770识别其中的歌曲;并且接收780和显示识别的歌曲结果790。
如果在用户启动歌曲识别、如点击“听歌识曲”按钮760后检测的环境音频流片段不含音乐成分,导致无法组成满足歌曲识别的时长标准的“检测片段”,则可以类似图5所示的实例那样实施直接的“歌曲识别”步骤。
如果在用户启动歌曲识别、如点击“听歌识曲”按钮760时,在移动终端700未缓存有环境音频流片段可以类似图5所示的实例那样实施直接的“歌曲识别”步骤。
尽管在图5至图7所示的实例1-3以专用的歌曲识别应用软件——Q音探歌为示例来实施,但是可以想到采用其他歌曲识别应用软件,例如但不限于音乐播放音乐应用软件(如QQ音乐)或具有歌曲识别功能的社交应用软件(如微信)或其他软件;并且可以在本发明的精神和范围内,采用类似或不同于上述实例1-3的具体实现手段。
如图8A至8C所示,类似于点击Q音探歌的图标820,可以在点击音乐播放音乐应用软件(如QQ音乐)的图标810的情况下(且例如具有录音权限和/或缓存权限下),触发实施根据本发明实施例所述的预存步骤(包括音乐检测)。在一些实施例中,实施预存步骤还是在音乐播放音乐应用软件(如QQ音乐)未在播放音乐的状态下进行的。
进一步地,响应于用户点击进入歌曲识别界面的图标860,音乐播放音乐应用软件(如QQ音乐)进入歌曲识别界面861,且可以实施本发明实施例所述的获取歌曲识别结果的步骤。
如图8D所示,在利用社交应用软件(如微信)来实施根据本发明实施例的歌曲识别方法时,例如可以在“摇一摇”界面下通过点击“音乐”按钮862进入歌曲识别子界面的情况下,触发实施根据本发明实施例所述的预存步骤(包括音乐检测)。需要说明的是,在该实例中,点击微信的图标830并不会触发预存步骤。
进一步地,响应于用户摇晃(“摇一摇”)移动终端,可以实施本发明实施例所述的获取歌曲识别结果的步骤。
如图9所示,在一些实施例中,还提供一种歌曲识别装置900。所述歌曲识别装置可以由硬件、软件或其结合来实现。所述歌曲识别装置包括确认单元910、音频预存单元920和识别结果获取单元930。在一些实施例中,确认单元910配置成确认所述移动终端处于预设的移动终端状态。在一些实施例中,所述音频预存单元920配置成响应于预定的歌曲识别装置状态,预存环境音频流片段。所述预定的歌曲识别装置状态可以是上述的预设的移动终端状态。在一些实施例中,所述识别结果获取单元930配置成响应于用户启动歌曲识别功能的操作,获取用户启动歌曲识别功能的操作前最新预存的环境音频流片段或多个连续环境音频流片段中的歌曲识别结果。
如图10所示,在一些实施例中,还提供一种歌曲识别装置1000。所述歌曲识别装置可以由硬件、软件或其结合来实现。所述歌曲识别装置包括确认单元1010、音频预存单元1020和识别结果获取单元1030。所述音频预存单元1020包括音频处理单元1040、音乐检测神经网络模型1050和缓存单元1060。
在一些实施例中,所述确认单元1010配置成确认所述移动终端处于预设的移动终端状态。
在一些实施例中,所述音频处理单元1040配置成持续获取环境音频流片段并对获取的环境音频流片段进行变换处理以生成频谱图。
在一些实施例中,所述音乐检测神经网络模型1050配置成接收所述频谱图以确定所述片段是否包含音乐成分。在一些实施例中,所述音乐检测神经网络模型包括分类卷积神经网络模型,包括多个卷积层、一个或多个扁平层、一个或多个全连接层和一个输出层。
在一些实施例中,所述缓存单元1060配置成在所述片段包含音乐成分时缓存包含音乐成分的环境音频流片段。
在一些实施例中,所述歌曲识别装置还可包括收发器1070,配置成发送识别环境音频流片段中的歌曲的请求和接收歌曲识别结果。
在一些实施例中,所述收发器1070配置成响应于用户启动歌曲识别功能的操作来发送识曲请求和接收识曲结果。在进一步的实施例中,所述识别结果获取单元配置成在接收到识曲结果后显示该结果。
在另一些实施例中,所述收发器1070配置成基于缓存的环境音频流片段或片段组满足预定的条件即发送识曲请求和识曲结果。在进一步的实施例中,所述识别结果获取单元配置成响应于用户启动歌曲识别功能的操作显示操作前最近的识曲结果。
在一些实施例中,歌曲识别装置1000还可包括判别器1080,配置为判断已缓存的环境音频流片段是否符合歌曲识别的时长标准。
在本发明实施例中,针对方法所述的特征可以按照不矛盾的方式结合到装置中,反之亦然。
在本发明的实施例中提供了一种移动终端,其包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时实施任一根据本发明实施例的歌曲识别方法。另外,还可以提供实现根据本发明实施例的歌曲识别装置。
在本发明的一个优选实施例中,所述移动终端可以为手机。仅作为示例性的实现方案,图11示出了移动终端1100的一个具体实施例的硬件结构示意图;而图12示出了移动终端的一个具体实施例的系统结构示意图。
在所示出的实施例中,移动终端1100可以包括处理器1101、外部存储器接口1112、内部存储器1110、通用串行总线(USB)接口1113、充电管理模块1114、电源管理模块1115、电池1116、移动通信模块1140、无线通信模块1142、天线1139和1141、音频模块1134、扬声器1135、受话器1136、麦克风1137、耳机接口1138、按键1109、马达1108、指示器1107、用户标识模块(SIM)卡接口1111、显示屏1105、摄像装置1106,以及传感器模块1120等。
可以理解的是,本申请实施例示意的结构并不构成对移动终端1100的具体限定。在本申请另一些实施例中,移动终端1100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
在一些实施例中,处理器1101可以包括一个或一个以上处理单元。在一些实施例中,处理器1101可以包括以下之一或以下至少两种的组合:应用处理器(AP)、调制解调处理器、基带处理器、图形处理器(GPU)1118、图像信号处理器(ISP)、控制器、存储器、视频编解码器、数字信号处理器(DSP)、基带处理器、神经网络处理器(NPU)1102等。不同的处理单元可以是独立的器件,也可以集成在一个或一个以上处理器中。
控制器可以是移动终端1100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器中的存储器为高速缓冲存储器。该存储器可以保存处理器刚用过或循环使用的指令或数据。如果处理器需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器1101的等待时间,因而提高了系统的效率。
NPU1102为神经网络(NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断地自学习。通过NPU可以实现移动终端1100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。在一些实施例中,移动终端可以包含NPU的类似单元,如人工智能引擎(AI引擎)。所述NPU或类似单元的示例可以包括苹果公司的A系列仿生处理器的神经网络引擎、华为海思公司的麒麟系列处理器的达芬奇架构NPU、高通公司的骁龙系列处理器的Hexagon处理器或AI引擎、三星公司的猎户座系列处理器的NPU、MediaTek公司的天玑系列处理器的APU等。在本发明的实施例中,所述音乐检测神经网络模型可以部分或全部地由NPU或类似单元(如AI引擎)实现或提供。
GPU为图像处理的微处理器,连接显示屏和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。在本发明的实施例中,所述音乐检测神经网络模型也可以部分或全部地由GPU实现或提供。
数字信号处理器(ISP)用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,可以利用数字信号处理器进行傅里叶变换等。在本发明的实施例中,音频处理可以部分或全部地由ISP实现或提供。
在一些实施例中,处理器1101可以包括一个或一个接口。接口可以包括集成电路(I2C)接口、集成电路内置音频(I2S)接口、脉冲编码调制(PCM)接口、通用异步收发传输器(UART)接口、移动产业处理器接口(MIPI)、通用输入输出(GPIO)接口、用户标识模块(SIM)接口、通用串行总线(USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对移动终端的结构限定。在本申请另一些实施例中,移动终端也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
移动终端1100的无线通信功能可以通过天线1139和1141、移动通信模块1140、无线通信模块1142、调制解调处理器或基带处理器等实现。
视频编解码器用于对数字视频压缩或解压缩。
移动终端1100可以通过音频模块、扬声器、受话器、麦克风、耳机接口,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块还可以用于对音频信号编码和解码。在一些实施例中,音频模块可以设置于处理器中,或将音频模块的部分功能模块设置于处理器中。在本发明的实施例中,音频处理优选可以部分或全部地由音频模块实现或提供。
麦克风用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风发声,将声音信号输入到麦克风。移动终端1100可以设置至少一个麦克风。在另一些实施例中,移动终端1100可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,移动终端1100还可以设置三个、四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。在本发明的实施例中,环境音频流的录取可以部分或全部地由所述麦克风实施。例如,当歌曲识别应用软件处于运行中时,可以通过麦克风采集环境音频流片段并基于此进行预录音。
传感器模块1120可包括下述传感器中的一个或多个:
压力传感器1123配置为感受压力信号,将压力信号转换成电信号。
气压传感器1124用于测量气压。
磁传感器1125包括霍尔传感器。
陀螺仪传感器1127可以用于确定移动终端1100的运动姿态。
加速度传感器1128可检测移动终端1100在各个方向上加速度的大小。在一些实施例中,所述用户的操作、例如摇晃手机的感应可以部分或全部地由所述加速度传感器实施。例如,当用户在微信摇一摇界面中摇动手机时,传感器检测到手机正在摇动,则向微信程序发送信号,微信程序即会启用麦克风采集环境音频流片段并且启动歌曲识别功能。
距离传感器1129可配置为测量距离。
接近光传感器1121可以包括例如发光二极管(LED)和光检测器,例如光电二极管。
环境光传感器1122用于感知环境光亮度。
指纹传感器1131可配置为采集指纹。
触摸传感器1132可以设置于显示屏,由触摸传感器与显示屏组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型,例如单击、双击、长按、轻拍、定向滑动、聚拢等等。在本发明实施例中,所述用户的操作、例如点击或按压图标或按钮的感应可以部分或全部地由所述加速度传感器实施。例如,在一些实施例中,可以通过单击歌曲识别应用软件的图标启动该应用软件并在显示屏上显示该应用软件的主界面。在一些实施例中,可以通过单击或长按启动歌曲识别功能的图标(如点击或长按“识别歌曲”图标)来启动歌曲识别功能。
骨传导传感器1133可以获取振动信号。
移动终端的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构。本文所示的实施例以分层架构的安卓系统为例,示例性说明移动终端的软件结构。但可以想到,本文的实施例可以在不同的软件操作系统中实施。
图12是移动终端、如手机的示例性系统结构示意图。分层架构将软件分成若干个层,层间通过软件接口通信。在一些实施例中,将安卓系统分为四层,从上至下分别为应用程序层1210、应用程序框架层1220、安卓运行时(Runtime)和系统库1230、以及内核层1240。
应用程序层1210可以包括一系列应用程序包。在本发明实施例中,应用程序包可以包括歌曲识别应用程序。
应用程序框架层1220为应用程序层的应用程序提供应用编程接口(API)和编程框架。应用程序框架层包括一些预先定义的函数。在本发明实施例中,获取歌曲识别的功能以及音乐检测处理的算法等可以包括在应用程序框架层。
窗口管理器用于管理窗口程序。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。在本发明实施例中,内容控制器可以实时采集并缓存的环境音频流片段和/或将识别结果显示在歌曲识别应用软件的歌曲识别界面中。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。在本发明实施例中,歌曲识别应用软件的歌曲识别界面可以显示的“识别歌曲”按钮或识别结果等内容,可以由视图系统接收处理器的指示进行显示,用于提醒用户当前处于歌曲识别待命模式或向用户显示识别结果。
电话管理器用于提供移动终端的通信功能。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。在本发明实施例中,获得歌曲识别结果包括向用户推送与歌曲识别结果有关的通知。
安卓Runtime(运行时)包括核心库和虚拟机,安卓Runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言要调用的功能函数,另一部分是安卓的核心库。应用程序层和框架层运行在虚拟机中。
系统库可以包括多个功能模块。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG等。
内核层1240是硬件和软件之间的层。内核层可包含摄像头驱动、麦克风驱动、音视频接口、通话接口、Wifi接口、传感器驱动、电源管理和GPS接口。
在另一些未示出的实施例中,移动终端采用iOS系统或者根据本发明实施例的歌曲识别应用软件在iOS系统中实现。iOS系统采用四层架构,由上到下依次为可触摸层(Cocoa Touch layer)、媒体层(Media layer)、核心服务层(Core Services layer)以及核心操作系统层(Core OS layer)。触摸层为应用程序开发提供了各种常用的框架并且大部分框架与界面有关,其负责用户在iOS设备上的触摸交互操作。媒体层提供应用中视听方面的技术,如图形图像、声音技术、视频以及音视频传输相关的框架等。核心服务层提供给应用所需要的基础的系统服务。核心操作系统层包含大多数低级别接近硬件的功能。
上述实施例阐明的系统、装置、模块或单元,可以由计算机或其关联部件实现,优选由移动终端实现。移动终端例如可以为智能电话、膝上型计算机、车载人机交互设备、个人数字助理、媒体播放器、导航设备、游戏控制台、平板电脑、可穿戴设备或者其组合。
尽管未示出,在一些实施例中还提供一种存储介质,存储有计算机程序。计算机程序配置成被运行时执行任一本发明实施例的歌曲识别方法。
在本发明的实施例的存储介质包括永久性和非永久性、可移动和非可移动的可以由任何方法或技术来实现信息存储的物品。存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本领域技术人员可想到,上述实施例阐明的功能模块/单元或控制器以及相关方法步骤的实现,可以用软件、硬件和软/硬件结合的方式实现。
除非明确指出,根据本发明实施例记载的方法、程序的动作或步骤并不必须按照特定的顺序来执行并且仍然可以实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本文中,针对本发明的多个实施例进行了描述,但为简明起见,各实施例的描述并不是详尽的,各个实施例之间相同或相似的特征或部分可能会被省略。在本文中,“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”意指适用于根据本发明的至少一个实施例或示例中,而非所有实施例。上述术语并不必然意味着指代相同的实施例或示例。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
已参考上述实施例具体示出并描述了本发明的示例性系统及方法,其仅为实施本系统及方法的最佳模式的示例。本领域的技术人员可以理解的是可以在实施本系统及/或方法时对这里描述的系统及方法的实施例做各种改变而不脱离界定在所附权利要求中的本发明的精神及范围。

Claims (15)

1.一种歌曲识别方法,由移动终端实施,其特征在于,包括:
确认所述移动终端处于预设的移动终端状态;
响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段;
响应于用户启动歌曲识别功能的操作,获取所述操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果。
2.根据权利要求1所述的歌曲识别方法,其特征在于,所述响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,包括:
持续获取环境音频流片段,并对获取的环境音频流片段进行变换处理以生成频谱图;
将所述频谱图输入预设的音乐检测神经网络模型以确定所述环境音频流片段是否包含音乐成分;
若所述环境音频流片段包含音乐成分,则缓存包含音乐成分的环境音频流片段。
3.根据权利要求2所述的歌曲识别方法,其特征在于,所述响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,还包括:
若所述片段未包含音乐成分,则丢弃已缓存的环境音频流片段;
若所述片段包含音乐成分,将当前缓存的环境音频流片段与已缓存的环境音频流片段组成多个连续环境音频流片段。
4.根据权利要求3所述的歌曲识别方法,其特征在于,所述将当前缓存的环境音频流片段与已缓存的环境音频流片段组成多个连续环境音频流片段,包括:
判断已缓存的环境音频流片段是否达到预定的时长标准或片段数量;
若是,则丢弃最早缓存的环境音频流片段,将当前缓存的环境音频流片段与剩余已缓存的环境音频流片段组成所述多个连续环境音频流片段;
若否,则直接将当前缓存的环境音频流片段与所有已缓存的环境音频流片段组成所述多个连续环境音频流片段。
5.根据权利要求1至4中任一项所述的歌曲识别方法,其特征在于,
所述响应于用户启动歌曲识别功能的操作,获取该操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果,包括:
判断所述一个或多个连续环境音频流片段是否符合预设的时长标准或片段数量;
若是,则获取所述一个或多个连续环境音频流片段中的歌曲识别结果。
6.根据权利要求1至4中任一项所述的歌曲识别方法,其特征在于,所述响应于用户启动歌曲识别功能的操作,获取该操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果,包括:
响应于该操作,发送识别所述环境音频流片段中的歌曲的请求;
接收并呈现歌曲识别结果。
7.根据权利要求1至4中任一项所述的歌曲识别方法,其特征在于,
所述响应于预设的移动终端状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段,还包括:
识别所述预存的环境音频流片段中的歌曲并保存歌曲识别结果;
所述响应于用户启动歌曲识别功能的操作,获取所述操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果,包括:
呈现所述操作前最新保存的歌曲识别结果。
8.根据权利要求1至4中任一项所述的歌曲识别方法,其特征在于,所述确认所述移动终端处于预设的移动终端状态,包括:
检测歌曲识别应用软件处于运行中且未在播放音乐。
9.根据权利要求1至4中任一项所述的歌曲识别方法,其特征在于,所述用户启动歌曲识别功能的操作包括点击或按压启用歌曲识别功能的按钮或摇晃所述移动终端。
10.根据权利要求2至4中任一项所述的歌曲识别方法,其特征在于,所述音乐检测神经网络模型包括分类卷积神经网络模型,包括多个卷积层、一个或多个扁平层、一个或多个全连接层和一个输出层。
11.一种歌曲识别装置,其特征在于,包括:
确认单元,配置成确认所述移动终端处于预设的移动终端状态;
音频预存单元,配置成响应于歌曲识别装置的预设状态,检测环境音频流是否包含音乐成分并预存包含音乐成分的环境音频流片段;
识别结果获取单元,配置成响应于用户启动歌曲识别功能的操作,获取所述操作前最新预存的一个或多个连续环境音频流片段中的歌曲识别结果。
12.根据权利要求11所述的歌曲识别装置,其特征在于,所述音频预存单元包括:
音频处理单元,配置成持续获取环境音频流片段并对获取的环境音频流片段进行变换处理以生成频谱图;
音乐检测神经网络模型,配置成接收所述频谱图以确定所述环境音频流片段是否包含音乐成分;
缓存单元,配置成在所述环境音频流片段包含音乐成分时缓存包含音乐成分的环境音频流片段。
13.根据权利要求12所述的歌曲识别装置,其特征在于,所述音乐检测神经网络模型包括分类卷积神经网络模型,包括多个卷积层、一个或多个扁平层、一个或多个全连接层和一个输出层。
14.一种移动终端,其特征在于,包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行权利要求1至10中任一项所述的歌曲识别方法。
15.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序配置成被运行时执行权利要求1至10中任一项所述的歌曲识别方法。
CN202010904242.9A 2020-09-01 2020-09-01 一种歌曲识别方法和装置 Pending CN112148754A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010904242.9A CN112148754A (zh) 2020-09-01 2020-09-01 一种歌曲识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010904242.9A CN112148754A (zh) 2020-09-01 2020-09-01 一种歌曲识别方法和装置

Publications (1)

Publication Number Publication Date
CN112148754A true CN112148754A (zh) 2020-12-29

Family

ID=73890429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010904242.9A Pending CN112148754A (zh) 2020-09-01 2020-09-01 一种歌曲识别方法和装置

Country Status (1)

Country Link
CN (1) CN112148754A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113628637A (zh) * 2021-07-02 2021-11-09 北京达佳互联信息技术有限公司 一种音频识别方法、装置、设备及存储介质
WO2024131098A1 (zh) * 2022-12-19 2024-06-27 聚好看科技股份有限公司 一种显示设备和音频识别方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028386A (ja) * 2008-07-17 2010-02-04 Alpine Electronics Inc 車載用電子装置およびオーディオデータの配信システム
WO2012057724A1 (en) * 2010-10-26 2012-05-03 Thomson Licensing Systems for identifying audio information from a television data stream and related methods
CN104820678A (zh) * 2015-04-15 2015-08-05 小米科技有限责任公司 音频信息识别方法及装置
CN106506868A (zh) * 2016-12-14 2017-03-15 努比亚技术有限公司 一种音乐推荐方法及终端
CN106559469A (zh) * 2015-09-30 2017-04-05 北京奇虎科技有限公司 一种基于即时通讯推送音乐信息的方法和装置
CN107040587A (zh) * 2017-03-02 2017-08-11 广州小鹏汽车科技有限公司 一种车载电台音乐内容获取方法及装置
CN107800449A (zh) * 2016-09-02 2018-03-13 环达电脑(上海)有限公司 车载收音机音乐储存系统及方法
CN110019931A (zh) * 2017-12-05 2019-07-16 腾讯科技(深圳)有限公司 音频分类方法、装置、智能设备和存储介质
CN110019930A (zh) * 2017-11-06 2019-07-16 上海擎感智能科技有限公司 一种提供实时播放音频中音乐信息的方法及系统
CN110675893A (zh) * 2019-09-19 2020-01-10 腾讯音乐娱乐科技(深圳)有限公司 一种歌曲识别方法、装置、存储介质及电子设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010028386A (ja) * 2008-07-17 2010-02-04 Alpine Electronics Inc 車載用電子装置およびオーディオデータの配信システム
WO2012057724A1 (en) * 2010-10-26 2012-05-03 Thomson Licensing Systems for identifying audio information from a television data stream and related methods
CN104820678A (zh) * 2015-04-15 2015-08-05 小米科技有限责任公司 音频信息识别方法及装置
CN106559469A (zh) * 2015-09-30 2017-04-05 北京奇虎科技有限公司 一种基于即时通讯推送音乐信息的方法和装置
CN107800449A (zh) * 2016-09-02 2018-03-13 环达电脑(上海)有限公司 车载收音机音乐储存系统及方法
CN106506868A (zh) * 2016-12-14 2017-03-15 努比亚技术有限公司 一种音乐推荐方法及终端
CN107040587A (zh) * 2017-03-02 2017-08-11 广州小鹏汽车科技有限公司 一种车载电台音乐内容获取方法及装置
CN110019930A (zh) * 2017-11-06 2019-07-16 上海擎感智能科技有限公司 一种提供实时播放音频中音乐信息的方法及系统
CN110019931A (zh) * 2017-12-05 2019-07-16 腾讯科技(深圳)有限公司 音频分类方法、装置、智能设备和存储介质
CN110675893A (zh) * 2019-09-19 2020-01-10 腾讯音乐娱乐科技(深圳)有限公司 一种歌曲识别方法、装置、存储介质及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113628637A (zh) * 2021-07-02 2021-11-09 北京达佳互联信息技术有限公司 一种音频识别方法、装置、设备及存储介质
WO2024131098A1 (zh) * 2022-12-19 2024-06-27 聚好看科技股份有限公司 一种显示设备和音频识别方法

Similar Documents

Publication Publication Date Title
JP7324313B2 (ja) 音声対話方法及び装置、端末、並びに記憶媒体
WO2021004481A1 (zh) 一种媒体文件推荐方法及装置
JP7160967B2 (ja) オーディオ透かしによるキーフレーズ検出
JP2021192269A (ja) デジタルアシスタントのためのボイストリガ
KR101922782B1 (ko) 음성 동작형 기능에 키워드 모델을 할당하기 위한 방법 및 장치
US11031005B2 (en) Continuous topic detection and adaption in audio environments
WO2022052776A1 (zh) 一种人机交互的方法、电子设备及系统
US10714092B2 (en) Music detection and identification
WO2021213451A1 (zh) 轨迹回放方法及相关装置
CN109474843A (zh) 语音操控终端的方法、客户端、服务器
KR20160106075A (ko) 오디오 스트림에서 음악 작품을 식별하기 위한 방법 및 디바이스
CN111524501A (zh) 语音播放方法、装置、计算机设备及计算机可读存储介质
US20230307004A1 (en) Audio data processing method and apparatus, and device and storage medium
CN112417203A (zh) 一种歌曲推荐方法、终端和存储介质
CN112148754A (zh) 一种歌曲识别方法和装置
CN110798327A (zh) 消息处理方法、设备及存储介质
WO2022143258A1 (zh) 一种语音交互处理方法及相关装置
CN112259076B (zh) 语音交互方法、装置、电子设备及计算机可读存储介质
US10693944B1 (en) Media-player initialization optimization
CN112309387A (zh) 用于处理信息的方法和装置
JP7230803B2 (ja) 情報処理装置および情報処理方法
WO2022179530A1 (zh) 一种视频配音的方法、相关设备以及计算机可读存储介质
CN114339308A (zh) 一种视频流加载方法、电子设备及存储介质
CN111312280B (zh) 用于控制语音的方法和装置
CN111580766B (zh) 一种信息显示方法、装置和信息显示系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination