掌桥专利:专业的专利平台
掌桥专利
首页

一种音频指纹检索库更新方法、装置、设备及介质

文献发布时间:2023-06-19 11:11:32


一种音频指纹检索库更新方法、装置、设备及介质

技术领域

本申请涉及计算机技术领域,特别涉及一种音频指纹检索库更新方法、装置、设备、介质。

背景技术

在线上听歌识曲等服务中,会用到音频指纹检索库,为了保证听歌识曲服务更够识别出尽可能多的歌曲,需要对音频指纹检索库进行更新。现有的音频指纹检索库更新方法为以天为单位,在一天中的特定时间段,将服务下线,然后在服务离线状态下将待更新的音频指纹添加到音频指纹检索库中,然后再重启服务,也即,需要以天为单位离线进行音频指纹检索库的更新。发明人在实现本申请的过程中发现现有技术方案可能存在音频指纹更新延迟,且在进行音频检索库更新的过程中需要将服务下线,会影响用户体验。因此,如何在线对音频指纹检索库进行实时更新是本领域技术人员要解决的问题。

发明内容

有鉴于此,本申请的目的在于提供一种音频指纹检索库更新方法、装置、设备、介质,能够对音频指纹检索库进行实时更新,且不影响正常的服务,提升了用户体验。其具体方案如下:

为实现上述目的,第一方面,提供了一种音频指纹检索库更新方法,包括:

在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID;

对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据;

将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域;

在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID;

对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到所述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述最早存入的目标歌曲ID对应的目标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据;

将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。

可选地,所述对所述目标歌曲ID对应的待处理音频数据进行特征提取,包括:

获取所述目标歌曲ID对应的待处理音频数据;

确定所述待处理音频数据对应的频谱数据;

对所述频谱数据进行峰值特征提取,得到所述目标音频特征数据。

可选地,所述获取所述目标歌曲ID对应的待处理音频数据,包括:

利用预设接口和所述目标歌曲ID确定所述待处理音频数据对应的地址信息;

根据所述地址信息获取所述待处理音频数据。

可选地,所述根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域,包括:

根据所述目标歌曲ID确定所述目标音频特征数据对应的存储地址,其中,所述存储地址为所述预设存储区域中的地址;

根据所述存储地址将所述目标音频特征数据存储到所述预设存储区域。

可选地,所述在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID,包括:

监测所述待提取特征队列是否为非空,其中,所述待提取特征队列包括第一待提取特征队列和第二待提取特征队列,所述第一待提取特征队列的优先级高于所述第二待提取特征队列的优先级;

当所述第一待提取特征队列和所述第二待提取特征队列均为非空时,从所述第一待提取特征队列中获取所述目标歌曲ID。

可选地,所述从所述第一待提取特征队列中获取所述目标歌曲ID的过程中,还包括:

如果所述第一待提取特征队列中的所述目标歌曲ID的数量小于预设数量阈值,则从所述第一待提取特征队列中获取所述第一待提取特征队列存储的全部目标歌曲ID,并从所述第二待提取特征队列中获取剩余数量的目标歌曲ID,其中,所述剩余数量不超过所述预设数量阈值与所述第一待提取特征队列中存储的目标歌曲ID数量的差值。

可选地,所述将所述目标歌曲ID存储到待插入指纹队列中,包括:

根据存储所述目标歌曲ID的待提取特征队列的优先级确定用于存储所述目标歌曲ID的目标待插入指纹队列;

将所述目标歌曲ID存储到所述目标待插入指纹队列中。

可选地,所述根据存储所述目标歌曲ID的待提取特征队列的优先级确定用于存储所述目标歌曲ID的目标待插入指纹队列,包括:

当存储所述目标歌曲ID的待提取特征队列为所述第一待提取特征队列时,则将第一待插入指纹队列确定为所述目标待插入指纹队列;

当存储所述目标歌曲ID的待提取特征队列为所述第二待提取特征队列时,则将第二待插入指纹队列确定为所述目标待插入指纹队列,其中,所述第一待插入指纹队列的优先级高于所述第二待插入指纹队列的优先级。

可选地,所述在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID,包括:

监测所述第一待插入指纹队列和所述第二待插入指纹队列是否为非空;

当所述第一待插入指纹队列和所述第二待插入指纹队列均为非空,则从所述第一待插入指纹队列中获取最早存入的目标歌曲ID。

第二方面,提供了一种音频指纹检索库更新装置,包括:

第一信息获取模块,用于在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID;

特征提取模块,用于对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据;

数据存储模块,用于将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域;

第二信息获取模块,用于在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID;

编码模块,用于对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到所述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述最早存入的目标歌曲ID对应的目标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据;

信息发送模块,用于将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。

第三方面,提供了一种电子设备,包括:

存储器和处理器;

其中,所述存储器,用于存储计算机程序;

所述处理器,用于执行所述计算机程序,以实现前述公开的音频指纹检索库更新方法。

第四方面,提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的音频指纹检索库更新方法。

在本申请中,在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID,然后对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据,并将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域,在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID,然后对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述最早存入的目标歌曲ID对应的目标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据,再将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。由此可见,本申请中只需要将待更新音频指纹对应的歌曲ID存储到待提取特征队列中,在线程监测到所述待提取特征队列为非空时,便可以实时从所述待提取特征队列中拉取歌曲ID,并对拉取到的歌曲ID对应的音频数据进行处理,得到相应的音频特征数据,在将歌曲ID存储到待插入指纹队列中,将音频特征数据存储到预设存储区域中,这样在线程监测到待插入指纹队列为非空时,便可以实时从待插入指纹队列中拉取待处理的歌曲ID,并对拉取到的歌曲ID对应的音频特征数据进行编码处理之后,得到音频指纹,便可以将得到的音频指纹推送到线上服务器,线上服务器在接收到音频指纹之后便可以将音频指纹插入到音频指纹检索库中,由此实现音频指纹检索库的实时更新。且在得到音频特征数据之后,将歌曲ID存储到待插入指纹队列中,将音频特征数据存储到预设存储区域中,即可进行下一个歌曲ID的拉取以及对应音频数据的特征提取,在监测到待插入指纹队列为非空时,便会进行音频特征数据的编码以及音频指纹的推送,而不是在得到音频特征数据之后还需要等到将音频指纹发送到线上服务器之后,才能从待提取特征队列中拉取一下个歌曲ID的串行处理,这样实现了前后两部分处理之间的解耦,保证了处理的高效性以及稳定性。且线上服务器在接收到音频指纹之后,便可以将接收到的音频指纹插入到音频指纹检索库中,实现了在线情况下更新音频指纹检索库,不影响正常服务,提升了用户体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请提供的音频指纹检索库更新方案所适用的系统框架示意图;

图2为本申请公开的一种音频指纹检索库更新方法流程图;

图3为本申请公开的一种音频指纹检索库更新方法流程图;

图4为本申请公开的一种具体的音频指纹检索库更新方法流程图;

图5为本申请公开的一种具体的音频指纹检索库更新流程图;

图6为本申请公开的一种音频指纹检索库更新装置结构示意图;

图7为本申请公开的一种电子设备结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前,听歌识曲等服务中的音频指纹检索库更新方法为以天为单位进行离线更新,这样可能出现音频指纹更新延迟,且在进行音频检索库更新的过程中需要将服务下线,会影响用户体验。为了克服上述技术问题,本申请提供了一种音频指纹检索库更新方法,能够对音频指纹检索库进行实时更新,且不影响正常的服务,提升了用户体验。

为了便于理解,先对本申请的音频指纹检索库更新方法所适用的系统框架进行介绍。可以理解的是,本申请实施例中并不对计算机设备的数量进行限定,其可以是多个计算机设备共同协作完成音频指纹检索库更新功能。在一种可能的情况中,请参考图1。由图1可知,该硬件组成框架可以包括:计算机设备101、服务器102。计算机设备101与服务器102之间通过网络103实现通信连接。

在本申请实施例中,在此不具体限定计算机设备101与服务器102的硬件结构,也不限定计算机设备101与服务器102的数量。进一步,本申请实施例中并不对网络103的形式进行限定,如,网络103可以是无线网络(如WIFI等),也可以是有线网络。

其中,计算机设备101也可以为服务器。所述服务器102可以根据音频指纹检索库提供相应的服务,其中,所述服务包括但不限于听歌识曲。

举例说明,请参考图2,终端在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID(identity,身份标识),并对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据,然后将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域,并在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID,然后对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述最早存入的目标歌曲ID对应的目标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据,得到所述目标音频指纹之后,再将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。

参见图3所示,本申请实施例公开了一种音频指纹检索库更新方法,该方法包括:

步骤S11:在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID。

在实际应用中,可以由曲库部门将待更新的歌曲ID推送到待提取特征队列,以便从所述待提取特征队列中拉取歌曲ID,以根据拉取到的歌曲ID获取待处理音频数据。也即,曲库部门进行曲库侧推送,将待更新的歌曲ID推送到待提取特征队列中。其中,所述歌曲ID可以为根据预设ID生成策略生成的ID,且不同歌曲对应的歌曲ID不相同。

其中,所述待提取特征队列可以由redis数据库提供,也可以根据实际情况由其他类型的数据库提供,所述redis数据库为一款基于Key-Value的内存高速缓存数据库,当待提取特征队列由redis数据库提供时,可以进一步提升数据处理效率。

相应地,就需要监测所述待提取特征队列是否为非空,当所述待提取特征队列为非空时,便可以从所述待提取特征队列中获取目标歌曲ID,以便确定出待处理音频数据。所述目标歌曲ID为所述待提取特征队列中待拉取的歌曲ID。

步骤S12:对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据。

在从所述待提取特征队列中获取到所述目标歌曲ID之后,还需要对目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据。

具体的,对所述目标歌曲ID对应的待处理音频数据进行特征提取,包括:获取所述目标歌曲ID对应的待处理音频数据;确定所述待处理音频数据对应的频谱数据;对所述频谱数据进行峰值特征提取,得到所述目标音频特征数据。也即,得到所述目标歌曲ID之后,还需要获取所述目标歌曲ID对应的待处理音频数据,然后对所述待处理音频数据进行时域到频域的变换,得到对应的频谱数据,再对所述频谱数据进行峰值特征提取,得到所述目标音频特征数据。

所述获取所述目标歌曲ID对应的待处理音频数据,包括:利用预设接口和所述目标歌曲ID确定所述待处理音频数据对应的地址信息;根据所述地址信息获取所述待处理音频数据。也即,可以在获取到所述目标歌曲ID之后,调用预设接口确定出与所述目标歌曲ID对应的待处理音频数据的地址信息,然后便可以从所述地址信息下获取所述待处理音频数据。

其中,所述对所述频谱数据进行峰值特征提取,具体可以为将所述频谱数据划分为不同帧的频谱数据片段,然后从每帧频谱数据片段中提取从预设数量个峰值点的峰值,得到所述目标音频特征数据,其中,所述预设数量可以根据实际情况确定,在此不再进行赘述。

步骤S13:将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域。

在得到所述目标音频特征数据之后,还需要将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域。

其中,所述待插入指纹队列也可以由redis数据库提供,也可以根据实际情况由其他类型的数据库提供,当所述待插入指纹队列由redis数据库提供时,可以进一步提升数据处理效率。

根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域,包括:根据所述目标歌曲ID确定所述目标音频特征数据对应的存储地址,其中,所述存储地址为所述预设存储区域中的地址;根据所述存储地址将所述目标音频特征数据存储到所述预设存储区域。也即,可以先对所述目标歌曲ID进行处理,得到所述目标音频特征数据对应的存储地址,然后根据所述存储地址将所述目标音频特征数据存储到所述存储地址下。其中,所述根据所述目标歌曲ID确定所述目标音频特征数据对应的存储地址,包括:对所述目标歌曲ID进行运算处理,得到所述存储地址,不同音频特征数据对应不同的存储地址,所述运算处理可以根据实际情况确定,在此不做具体限定。

在实际应用中,还可以构造ID—地址对照表,在每次根据歌曲ID将对应的音频特征数据存储到所述预设存储区域之后,将歌曲ID以及歌曲ID对应的存储地址记录到所述ID—地址对照表,以便之后根据歌曲ID对所述ID—地址对照表进行查询便可以得到歌曲ID对应的存储地址,再根据查询到的存储地址从所述预设存储区域中获取对应的音频特征数据。

步骤S14:在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID。

可以理解的是,在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID。也即,需要通过进程对所述待插入指纹队列进行监测,当监测到所述待插入指纹队列为非空时,便从所述待插入指纹队列中拉取最早存入的目标歌曲ID,以便根据所述最早存入的目标歌曲ID确定出待处理的目标音频特征数据。由于所述待插入队列中的目标歌曲ID需要按照先进先出顺序进行拉取,所以在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID。

从所述待插入指纹队列中获取到所述最早存入的目标歌曲ID之后,所述待插入指纹队列中就不再存储该最早存入的目标歌曲ID了。也即,从所述待插入指纹队列中获取到所述最早存入的目标歌曲ID的过程就是从所述待插入指纹队列中读出所述最早存入的目标歌曲ID。例如,在监测到所述待插入指纹队列为非空时,所述待插入指纹队列中包括歌曲ID1、歌曲ID2以及歌曲ID3,最早存入的为歌曲ID1,则从所述待插入指纹队列中获取歌曲ID1之后,且所述待插入指纹队列中没有存入新的歌曲ID时,所述待插入指纹队列中存储的歌曲ID就只是歌曲ID2以及歌曲ID3。

步骤S15:对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述目标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据。

相应地,在从所述待插入指纹队列中获取到最早存入的目标歌曲ID之后,还需要对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述最早存入的目标歌曲ID对应的目标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据。

具体的,所述对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到述最早存入的目标歌曲ID对应的目标音频指纹,包括:根据所述最早存入的目标歌曲ID从所述预设存储区域从获取所述最早存入的目标歌曲ID对应的目标音频特征数据;对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到所述目标音频指纹。其中,所述编码包括不限于哈希编码。

在第一种具体的实施方式中,所述根据所述最早存入的目标歌曲ID从所述预设存储区域从获取所述最早存入的目标歌曲ID对应的目标音频特征数据,包括:对所述最早存入的目标歌曲ID进行运算处理,得到存储地址;根据所述存储地址从所述预设存储区域中获取对应的目标音频特征数据,其中,所述运算处理与将音频特征数据存储到所述预设存储区域时所进行的运算处理相同。

在第二种具体的实施方式中,所述根据所述最早存入的目标歌曲ID从所述预设存储区域从获取所述目标音频特征数据,包括:根据所述最早存入的目标歌曲ID从预先保存的ID—地址对照表中确定出存储地址;根据所述存储地址从所述预设存储区域中获取对应的目标音频特征数据。这样可以直接在所述ID—地址对照表中查询,找到所述最早存入的目标歌曲ID对应的存储地址。

步骤S16:将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。

可以理解的是,在得到所述目标音频指纹之后,便可以将所述目标音频指纹发送到目标线上服务器,所述目标线上服务器接收到所述目标音频指纹之后,将所述目标音频指纹插入到音频指纹检索库中。其中,所述目标线上服务器为提供听歌识曲等服务的服务器。

具体的,将所述目标音频指纹发送到所述目标线上服务器之后,所述目标线上服务器接收到所述目标指纹,然后将所述目标音频指纹插入到音频指纹检索库中,由于在将所述目标音频指纹插入到音频指纹检索库中的过程所消耗的时间很短,所以对于用户来说察觉不到,用户端不会出现卡顿等,所以不影响正常的服务,且可以对音频指纹检索库进行实时更新。

在本申请中,在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID,然后对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据,并将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域,在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID,然后对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述最早存入的目标歌曲ID对应的标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据,再将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。由此可见,本申请中只需要将待更新音频指纹对应的歌曲ID存储到待提取特征队列中,在线程监测到所述待提取特征队列为非空时,便可以实时从所述待提取特征队列中拉取歌曲ID,并对拉取到的歌曲ID对应的音频数据进行处理,得到相应的音频特征数据,在将歌曲ID存储到待插入指纹队列中,将音频特征数据存储到预设存储区域中,这样在线程监测到待插入指纹队列为非空时,便可以实时从待插入指纹队列中拉取待处理的歌曲ID,并对拉取到的歌曲ID对应的音频特征数据进行编码处理之后,得到音频指纹,便可以将得到的音频指纹推送到线上服务器,线上服务器在接收到音频指纹之后便可以将音频指纹插入到音频指纹检索库中,由此实现音频指纹检索库的实时更新。且在得到音频特征数据之后,将歌曲ID存储到待插入指纹队列中,将音频特征数据存储到预设存储区域中,即可进行下一个歌曲ID的拉取以及对应音频数据的特征提取,在监测到待插入指纹队列为非空时,便会进行音频特征数据的编码以及音频指纹的推送,而不是在得到音频特征数据之后还需要等到将音频指纹发送到线上服务器之后,才能从待提取特征队列中拉取一下个歌曲ID的串行处理,这样实现了前后两部分处理之间的解耦,保证了处理的高效性以及稳定性。且线上服务器在接收到音频指纹之后,便可以将接收到的音频指纹插入到音频指纹检索库中,实现了在线情况下更新音频指纹检索库,不影响正常服务,提升了用户体验。

参见图4所示,本申请实施例公开了一种具体的音频指纹检索库更新方法,该方法包括:

步骤S201:监测待提取特征队列是否为非空,其中,所述待提取特征队列包括第一待提取特征队列和第二待提取特征队列,所述第一待提取特征队列的优先级高于所述第二待提取特征队列的优先级。

在实际应用过程中,可以将前述的待提取特征队列划分为不同优先级的队列,可以包括第一待提取特征队列和第二待提取特征队列,其中,所述第一待提取特征队列的优先级高于所述第二待提取特征队列,这样可以将实时性要求高的歌曲ID存储到第一待提取特征队列,将常规更新的歌曲ID放入到所述第二待提取特征队列中,所述实时性要求高的歌曲ID可以包括不限于与高知名度歌手的歌曲对应的歌曲ID、实时话题热度高的歌曲对应的歌曲ID、由曲库部门人工推送到的歌曲ID等。

其中,将高知名度歌手的歌曲对应的歌曲ID存储到待提取特征队列,可以包括:根据歌曲ID确定所述歌曲ID对应的歌手信息;根据所述歌手信息以及预设歌手评级库确定该歌手信息对应的歌手的等级,其中,等级越高库示知名度越高;判断所述歌手的等级是否大于或等于预设等级阈值;如果所述歌手的等级大于或等于预设等级阈值,则将该歌曲ID存储到所述第一待提取特征队列中;如果所述歌手的等级小于预设等级阈值,则将该歌曲ID存储到所述第二待提取特征队列。其中,所述预设歌手评级库可以为预先构建的评级库,所述预设歌手评级库中包括预设收集到的歌手信息以及各个歌手对应的等级。

在实际应用中,可以由redis数据库提供所述第一待提取特征队列和所述第二待提取特征队列。也可以由其他数据库提供,只需要数据库的实时性满足相应的要求即可。

当所述待提取特征队列包括第一待提取特征队列和所述第二待提取特征队列时,便需要监测所述第一待提取特征队列和所述第二待提取特征队列是否为非空。

将待提取特征队列分为优先级较高的第一待提取特征队列和优先级较低的第二待提取特征队列,可以将实时性要求高的音频指纹实时更新到音频指纹检索库中,可以使得话题热度较高的歌曲可以快速被识别到,进一步提升用户体验。

此外,在实际应用中,所述第一待提取特征队列和所述第二待提取特征队列均可以为云上的待提取特征队列,这样可以由不同的特征提取设备从所述第一待提取特征队列和所述第二待提取特征队列中分布式拉取不同待处理音频数据对应的歌曲ID,由不同的特征提取设备并行对不同的待处理音频数据进行特征提取,这样也可以进一步加快特征提取的速度,从而加快音频指纹检索库的更新速度。

步骤S202:在监测到所述待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID。

可以理解的是,在监测到所述待提取特征队列为非空时,需要从所述待提取特征队列中获取目标歌曲ID。

具体的,当所述待提取特征队列和所述第二待提取特征队列均为非空时,由于所述第一待提取特征队列的优先级高于所述第二待提取特征队列的优先级,所以从所述第一待提取特征队列中获取所述目标歌曲ID,这样可以保证所述第一待提取特征队列中的歌曲ID对应的待处理音频数据得到优先处理。

在从所述第一待提取特征队列中获取所述目标歌曲ID的过程中,还包括:如果所述第一待提取特征队列中的所述目标歌曲ID的数量小于预设数量阈值,则从所述第一待提取特征队列中获取所述第一待提取特征队列存储的全部目标歌曲ID,并从所述第二待提取特征队列中获取剩余数量的目标歌曲ID,其中,所述剩余数量不超过所述预设数量阈值与所述第一待提取特征队列中存储的目标歌曲ID数量的差值。也即,可以一次获取预设数量阈值个目标歌曲ID,所述预设数量阈值为大于1的正整数,当所述第一待提取特征队列中的目标歌曲ID数据不够时,先将所述第一待提取特征队列中的全部目标歌曲ID拉取出来,然后剩下的再从所述第二待提取特征队列中读取,如果所述第二待提取特征队列中的目标歌曲ID的数量也不够,则有多少拉取多少进行处理即可。

当所述第一待提取特征队列为空,所述第二待提取特征队列为非空时,便从所述第二待提取特征队列获取所述目标歌曲ID。

相应的,所述从所述待提取特征队列中获取目标歌曲ID的过程中,可以由不同的特征提取设备从所述待提取特征队列分布式获取所述第目标歌曲ID,也即,所述目标歌曲ID的数量可以大于或等于1。也即,当所述待提取特征队列中有多个待处理的歌曲ID时,可以由不同的特征提取设备从所述待提取特征队列中获取不同的歌曲ID,以便对待处理的歌曲ID对应的待处理音频数据进行并行处理,也即,可以同时对多个待处理音频数据进行特征提取。

步骤S203:对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据。

步骤S204:根据存储所述目标歌曲ID的待提取特征队列的优先级确定用于存储所述目标歌曲ID的目标待插入指纹队列。

在得到所述目标音频特征数据之后,还需要将所述目标歌曲ID存储到所述待插入指纹队列中,将所述目标音频特征数据存储到预设存储区域中。

当所述待提取特征队列包括前述的第一待提取特征队列和所述第二待提取特征队列时,所述待插入指纹队列也可以相应的包括第一待插入指纹队列以及第二待插入指纹队列,其中,所述第一待插入指纹队列的优先级高于所述第二待插入指纹队列。相应的,就需要将从所述第一待提取特征队列中获取到的歌曲ID存储到所述第一待插入指纹队列,将所述第二待提取特征队列中获取到的歌曲ID存储到所述第二待插入指纹队列中。所以在将所述目标歌曲ID存储到所述待插入指纹队列中时,需要先根据存储所述目标歌曲ID的待提取特征队列的优先级确定用于存储所述目标歌曲ID的目标待插入指纹队列。

具体的,当存储所述目标歌曲ID的待提取特征队列为所述第一待提取特征队列时,则将第一待插入指纹队列确定为所述目标待插入指纹队列;当存储所述目标歌曲ID的待提取特征队列为所述第二待提取特征队列时,则将第二待插入指纹队列确定为所述目标待插入指纹队列。

在实际应用中,也可以由redis数据库提供所述第一待插入指纹队列和所述第二待插入指纹队列。也可以由其他数据库提供,只需要数据库的实时性满足相应的要求即可。

此外,在实际应用中,所述第一待插入指纹队列和所述第二待插入指纹队列均可以为云上的待插入指纹队列,这样可以由不同的编码设备从所述第一待插入指纹队列和/或所述第二待插入指纹队列中分布式拉取不同待处理音频特征数据对应的歌曲ID,由不同的编码设备并行对不同的音频特征数据进行编码,这样也可以进一步加快编码的速度,从而加快音频指纹检索库的更新速度。

步骤S205:将所述目标歌曲ID存储到所述目标待插入指纹队列中。

可以理解的是,在确定出所述目标待插入指纹队列之后,便可以将所述目标歌曲ID存储到所述目标待插入指纹队列中。具体的,当所述目标待插入指纹队列为所述第一待插入指纹队列时,便可将所述目标歌曲ID存储到所述第一待插入指纹队列,当所述目标待插入指纹队列为所述第二待插入指纹队列时,便可以将所述目标歌曲ID存储到所述第一待插入指纹队列中。

步骤S206:根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域。

得到所述目标音频特征数据之后,还需要将所述目标音频特征数据存储到预设存储区域,具体的存储方法可以参考前述实施中公开的内容,在此不再进行赘述。

在实际应用中,所述预设存储区域可以为云端存储服务,这样将音频特征数据存储到云端存储服务中,可以方便不同的编码设备从云端存储服务中获取音频特征数据,并对不同歌曲ID对应的音频特征数据进行并行处理。

步骤S207:监测待插入指纹队列是否为非空,其中,所述待插入指纹队列包括第一待插入指纹队列和第二待插入指纹队列,所述第一待插入指纹队列的优先级高于所述第二待插入指纹队列的优先级。

相应的,便需要对所述待插入指纹队列进行监测,以确定所述待插入指纹队列是否为非空,也即对所述第一待插入指纹队列和所述第二待插入指纹队列进行监测,以确定所述第一待插入指纹队列和所述第二待插入指纹队列是否为非空。

步骤S208:在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID。

在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID。

具体的,当所述第一待插入指纹队列和所述第二待插入指纹队列均为非空时,由于所述第一待插入指纹队列的优先级高于所述第二待插入指纹队列的优先级,所以从所述第一待插入指纹队列中获取最早存入的目标歌曲ID。

当所述第一待插入指纹队列为空,所述第二待插入指纹队列为非空时,便可以直接从所述第二待插入指纹队列中获取最早存入的目标歌曲ID。

在实际应用中,可以由不同的编码设备从所述第一待插入指纹队列和/或所述第二待插入指纹队列分布式拉取所述最早存入的目标歌曲ID,也即,所述最早存入的目标歌曲ID的数量可以大于或等于1。

步骤S209:对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述最早存入的目标歌曲ID对应的目标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据。

从所述第一待插入指纹队列或所述第二待插入指纹队列中获取到所述最早存入的目标歌曲ID之后,还需要对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到所述最早存入的目标歌曲ID对应的目标音频指纹。

也即,获取到所述最早存入的目标歌曲ID之后,根据所述最早存入的目标歌曲ID从所述预设存储区域获取对应的目标音频特征数据,然后对该目标音频特征数据进行编码处理得到所述目标音频指纹。

当所述最早存入的目标歌曲ID为多个不同的歌曲ID,所述预设存储区域为云端存储服务提供的存储区域时。可以由各个编码设备根据自身获取到的歌曲ID从云端提供的存储区域中获取对应的音频特征数据,并对获取到的音频特征数据进行编码处理得到对应的音频指纹。

步骤S210:将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。

在得到所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。为了保证所述目标线上服务器的正常服务功能,所述目标线上服务器需要按一定的频率进行音频指纹插入操作。

当有不同的编码设备对音频特征数据进行编码处理,得到不同的音频指纹时,可以由不同的编码设备将自身得到的音频指纹分别发送到所述目标线上服务器。也可以由编码设备将自身得到的音频指纹发送到统一的数据传输设备,再由所述统一的数据传输设备将音频指纹发送到所述目标线上服务器,以避免太多个设备与所述目标线上服务器通信,导致所述目标线上服务器的性能降低。

在实际应用中,在对所述待处理音频数据进行特征提取以及对得到的音频特征数据进行存储的过程中,如果出现处理失败,则可以记录流水至MySQL数据库。

在所述目标线上服务器将所述目标音频指纹插入到所述音频指纹检索库,计算复杂度为O(1),不会引起服务器的任何负担。如果将所述目标音频插入到所述音频指纹检索库失败,则可以将所述目标音频指纹对应的歌曲ID存储到预设的重新插入队列中,对所述目标音频指纹进行存储,并按照预设的时间间隔对所述重新插入队列中各歌曲ID进行拉取,并根据获取到的歌曲ID从相应存储区域中获取音频指纹,然后对获取到的音频指纹进行重新插入操作。相应的,所述重新插入队列也可以包括不同优先级别的队列,并为不同优先级的队列设置不同的预设时间间隔,优先级高的队列对应的预设时间间隔较短,优先级低的队列对应的预设时间间隔较长。

在获取到所述目标歌曲ID之后,根据所述目标歌曲ID获取所述待处理音频数据的过程所需要的时间可能比较长,所以可以在进行当前歌曲ID对应的待处理音频数据下载过程中,获取新的歌曲ID,并进行新获取到的歌曲ID对应的待处理音频数据的下载,也即可以将拉取歌曲ID以及下载文件分成多个任务的并行处理。

在实际应用中,也可以由一个计算机设备的不同进程分别进行特征提取以及音频特征数据编码,例如,通过第一进程监测待提取特征队列是否为非空,在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID,并对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据,然后将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域。通过第二进程监测待插入指纹队列是否为非空,在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID,并对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到述最早存入的目标歌曲ID对应的目标音频指纹,然后将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。

参见图5所示,为音频指纹检索库更新流程图。可以将整个流程分为峰值提取workers和推送指纹workers,也即峰值提取模块和推送指纹模块。其中,峰值提取模块为,曲库侧将待处理音频数据对应的歌曲ID推送到云上的待提取峰值队列—加急队列,也即,前述的第一待提取特征队列,或推送到云上的待提取峰值队列—常规队列,也即,前述的第二待提取特征队列,在所述待提取峰值队列—加急队列和/或所述待提取峰值队列—常规队列非空时,由相应的设备分布式拉取歌曲ID,其中,优先拉取加急队列中的歌曲ID。对拉取到的歌曲ID对应的待处理音频数据进行音频峰值特征提取,如果提取失败,则记录相应的流水至MySQL数据库,如提取成功,则将提取出的音频特征数据上传到云端进行云端存储,如果上传失败,则记录相应的流水至MySQL数据库,如果上传成功,则将歌曲ID推送到云上的待插入指纹队列—加急队列或待插入指纹队列—常规队列,所述待插入指纹队列—加急队列,也即前述的第一待插入指纹队列,所述待插入指纹队列—常规队列,也即前述的第二待插入指纹队列。在推送指纹模块中,在监测到所述待插入指纹队列—加急队列和/或所述待插入指纹队列—常规队列为非空时,从所述待插入指纹队列—加急队列和/或所述待插入指纹队列—常规队列中分布式拉取歌曲ID,优先拉取加急队列中的歌曲ID,并从云端下载拉取到的歌曲ID对应的音频特征数据,如果下载成功,则将下载到的音频特征数据编码为指纹,如果失败,则返回拉取歌曲ID。如果编码成功,则将音频指纹推送到目标服务器,如果失败,则返回拉取歌曲ID。所述待提取峰值队列—加急队列、所述待提取峰值队列—常规队列、所述待插入指纹队列—加急队列、所述待插入指纹队列—常规队列由redis数据库提供。

这样上述整个流程共分两组模块来进行,一部分属于提取指纹任务,一部分属于推送指纹至服务的任务,两者互相沟通的接口通过redis的队列来实现。提取指纹既是待提取峰值队列的消费者,也是待插入指纹队列的生产者,而推送指纹作为插入指纹队列的消费者。每组模块都可以被分布在若干台机器上进行分布式的计算,具有随时扩容、缩容的灵活性。

在峰值提取模块的处理中任何失败或成功都会被记录入MySQL库库以做入库记录,但仅当整个流程全部成功时,该歌曲ID才会被推入待插入指纹队列。在所述推送指纹模块的处理中,虽各处理环节失败不需要记录流水,但也会被服务日志记录,以便后续调试修复。且第一部分的峰值提取组件消费速率是可以大于瞬时最大的生成速率的,但第二部分的插入操作需要对频率有所控制,如果两部分串行进行,则消费速率会慢于生产速率,造成峰值提取队列堆积,而将两部分分开处理既保证了峰值特征提取的高效需求,又保证了线上插入的稳定性可靠性。

下面以对某款音乐APP的音乐检索库进行跟新的过程为例,对本申请中的技术方案进行说明。

假设一开始待提取特征队列中的加急队列和待插入指纹队列中的加急队列为空,则曲库侧将实时话题热度更高的伍佰演唱的歌曲《Last Dance》对应的歌曲ID人工推动到待提取特征队列中的加急队列中,后台设备监测到所述待提取特征队列中的加急队列为非空,从所述待提取特征队列中获取歌曲《Last Dance》对应的歌曲ID,并对歌曲《LastDance》对应的音频数据进行特征提取,得到音频特征数据,然后将该音频特征数据存储到云端,并将所述歌曲《Last Dance》对应的歌曲ID存储到所述待插入指纹队列中的加急队列。

后台设备监测到所述待插入指纹队列中的加急队列为非空,从待插入指纹队列中的加急队列中获取所述歌曲《Last Dance》对应的歌曲ID,并对所述音频特征数据进行编码,得到歌曲《Last Dance》对应的音频指纹,将指纹发送到提供该音乐APP服务的服务器,所述服务器接收到该音频指纹后,将该音频指纹插入到该音乐APP对应的音频指纹检索库中,用户便可以通过该音乐APP中的听歌识曲模块对获取歌曲音频片段进行识别,识别出获取到的歌曲音频片段对应的歌曲为伍佰的歌曲《Last Dance》。

参见图6所示,本申请实施例公开了一种音频指纹检索库更新装置,包括:

第一信息获取模块201,用于在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID;

特征提取模块202,用于对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据;

数据存储模块203,用于将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域;

第二信息获取模块204,用于在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID;

编码模块205,用于对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到所述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述最早存入的目标歌曲ID对应的目标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据;

信息发送模块206,用于将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。

在本申请中,在监测到待提取特征队列为非空时,从所述待提取特征队列中获取目标歌曲ID,然后对所述目标歌曲ID对应的待处理音频数据进行特征提取,得到目标音频特征数据,并将所述目标歌曲ID存储到待插入指纹队列中,并根据所述目标歌曲ID将所述目标音频特征数据存储到预设存储区域,在监测到所述待插入指纹队列为非空时,从所述待插入指纹队列中获取最早存入的目标歌曲ID,然后对所述最早存入的目标歌曲ID对应的目标音频特征数据进行编码,得到述最早存入的目标歌曲ID对应的目标音频指纹,其中,所述最早存入的目标歌曲ID对应的目标音频特征数据为根据所述最早存入的目标歌曲ID从所述预设存储区域获取到的音频特征数据,再将所述目标音频指纹发送到目标线上服务器,以便所述目标线上服务器将所述目标音频指纹插入到音频指纹检索库中。由此可见,本申请中只需要将待更新音频指纹对应的歌曲ID存储到待提取特征队列中,在线程监测到所述待提取特征队列为非空时,便可以实时从所述待提取特征队列中拉取歌曲ID,并对拉取到的歌曲ID对应的音频数据进行处理,得到相应的音频特征数据,在将歌曲ID存储到待插入指纹队列中,将音频特征数据存储到预设存储区域中,这样在线程监测到待插入指纹队列为非空时,便可以实时从待插入指纹队列中拉取待处理的歌曲ID,并对拉取到的歌曲ID对应的音频特征数据进行编码处理之后,得到音频指纹,便可以将得到的音频指纹推送到线上服务器,线上服务器在接收到音频指纹之后便可以将音频指纹插入到音频指纹检索库中,由此实现音频指纹检索库的实时更新。且在得到音频特征数据之后,将歌曲ID存储到待插入指纹队列中,将音频特征数据存储到预设存储区域中,即可进行下一个歌曲ID的拉取以及对应音频数据的特征提取,在监测到待插入指纹队列为非空时,便会进行音频特征数据的编码以及音频指纹的推送,而不是在得到音频特征数据之后还需要等到将音频指纹发送到线上服务器之后,才能从待提取特征队列中拉取一下个歌曲ID的串行处理,这样实现了前后两部分处理之间的解耦,保证了处理的高效性以及稳定性。且线上服务器在接收到音频指纹之后,便可以将接收到的音频指纹插入到音频指纹检索库中,实现了在线情况下更新音频指纹检索库,不影响正常服务,提升了用户体验。

进一步的,所述特征提取模块202,具体用于:

获取所述目标歌曲ID对应的待处理音频数据;

确定所述待处理音频数据对应的频谱数据;

对所述频谱数据进行峰值特征提取,得到所述目标音频特征数据。

进一步的,所述特征提取模块202,具体用于:

利用预设接口和所述目标歌曲ID确定所述待处理音频数据对应的地址信息;

根据所述地址信息获取所述待处理音频数据。

进一步的,所述数据存储模块203,用于:

根据所述目标歌曲ID确定所述目标音频特征数据对应的存储地址,其中,所述存储地址为所述预设存储区域中的地址;

根据所述存储地址将所述目标音频特征数据存储到所述预设存储区域。

具体的,所述第一信息获取模块201,用于:

监测所述待提取特征队列是否为非空,其中,所述待提取特征队列包括第一待提取特征队列和第二待提取特征队列,所述第一待提取特征队列的优先级高于所述第二待提取特征队列的优先级;

当所述第一待提取特征队列和所述第二待提取特征队列均为非空时,从所述第一待提取特征队列中获取所述目标歌曲ID。

具体的,所述第一信息获取模块201,用于:

在所述第一待提取特征队列中的所述目标歌曲ID的数量小于预设数量阈值时,则从所述第一待提取特征队列中获取所述第一待提取特征队列存储的全部目标歌曲ID,并从所述第二待提取特征队列中获取剩余数量的目标歌曲ID,其中,所述剩余数量不超过所述预设数量阈值与所述第一待提取特征队列中存储的目标歌曲ID数量的差值。

具体的,所述数据存储模块203,用于:

根据存储所述目标歌曲ID的待提取特征队列的优先级确定用于存储所述目标歌曲ID的目标待插入指纹队列;

将所述目标歌曲ID存储到所述目标待插入指纹队列中。

进一步的,所述数据存储模块203,用于:

当存储所述目标歌曲ID的待提取特征队列为所述第一待提取特征队列时,则将第一待插入指纹队列确定为所述目标待插入指纹队列;

当存储所述目标歌曲ID的待提取特征队列为所述第二待提取特征队列时,则将第二待插入指纹队列确定为所述目标待插入指纹队列,其中,所述第一待插入指纹队列的优先级高于所述第二待插入指纹队列的优先级。

进一步的,所述第二信息获取模块204,用于:

监测所述第一待插入指纹队列和所述第二待插入指纹队列是否为非空;

当所述第一待插入指纹队列和所述第二待插入指纹队列均为非空,则从所述第一待插入指纹队列中获取所述最早存入的目标歌曲ID。

进一步的,本申请实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备30结构图,图中的内容不能被认为是对本申请的使用范围的任何限制。

图7为本申请实施例提供的一种电子设备30的结构示意图。该电子设备30,具体可以包括:至少一个处理器31、至少一个存储器32、电源33、通信接口34、输入输出接口35和通信总线36。其中,所述存储器32用于存储计算机程序,所述计算机程序由所述处理器31加载并执行,以实现前述任一实施例公开的音频指纹检索库更新方法中的相关步骤。

本实施例中,电源33用于为电子设备30上的各硬件设备提供工作电压;通信接口34能够为电子设备30创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口35,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器32作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统321、计算机程序322等,存储方式可以是短暂存储或者永久存储。

其中,操作系统321用于管理与控制电子设备30上的各硬件设备以及计算机程序322,以实现处理器31对存储器32中数据的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序322除了包括能够用于完成前述任一实施例公开的由电子设备30执行的音频指纹检索库更新方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。

进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的音频指纹检索库更新方法。

其中,关于上述音频指纹检索库更新方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请所提供的一种音频指纹检索库更新方法、装置、设备、介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种音频指纹检索库更新方法、装置、设备及介质
  • 一种指纹库更新方法、装置、设备和存储介质
技术分类

06120112837019