技术摘要:
本申请涉及一种音频搜索方法、装置、计算机设备和存储介质。所述方法包括:获取音频片段的一级音频指纹;所述一级音频指纹包含哈希对和对应的一级哈希键,按照预设窗长对所述哈希对进行分组,得到哈希对分组;所述哈希对分组包含至少两个所述哈希对;根据所述哈希对分 全部
背景技术:
目前在音频搜索时通常采用音频指纹技术,音频指纹技术是指从音频片段中提取 出音频指纹后,将该音频指纹与音频库中的音频指纹进行对比,从而确定音频片段的音频 信息。 然而,传统的音频指纹技术在进行音频指纹对比时,需要先筛选出候选音频指纹, 然后再将音频片段的音频指纹分别与各候选音频指纹进行精准匹配,通常所筛选出的候选 音频指纹数据量较大,导致采用音频指纹技术进行音频搜索的效率较低。
技术实现要素:
基于此,有必要针对采用音频指纹技术进行音频搜索的效率低的技术问题,提供 一种音频搜索方法、装置、计算机设备和计算机可读存储介质。 一种音频搜索方法,所述方法包括: 获取音频片段的一级音频指纹;所述一级音频指纹包含哈希对和对应的一级哈希键, 所述哈希对为所述音频片段的两个频谱峰值点的组合; 按照预设窗长对所述哈希对进行分组,得到哈希对分组;所述哈希对分组包含至少两 个所述哈希对; 根据所述哈希对分组中哈希对的一级哈希键,计算各所述哈希对分组分别对应的二级 哈希键,获得所述音频片段的二级音频指纹;所述二级音频指纹包括各所述哈希对分组和 对应的各所述二级哈希键; 在二级音频指纹库中,搜索与所述音频片段的二级音频指纹匹配的二级音频指纹,并 输出与所述匹配的二级音频指纹对应的音频文件。 在一个实施例中,所述获取音频片段的一级音频指纹,包括: 提取所述音频片段的频谱特征,确定所述频谱特征的频谱峰值点; 根据所述频谱峰值点构建哈希对; 根据所述哈希对所对应的第一频谱峰值点的第一频率和第一时间、以及所述哈希对所 对应的第二频谱峰值点的第二频率和第二时间,计算各所述哈希对所对应的一级哈希键, 获得包含各所述哈希对和对应的所述一级哈希键的所述音频片段的一级音频指纹。 在一个实施例中,所述根据所述哈希对分组中哈希对的一级哈希键,计算各所述 哈希对分组分别对应的二级哈希键,包括: 获取所述哈希对分组中各哈希对的一级哈希键; 将获取的所述一级哈希键代入哈希公式进行计算,得到各所述哈希对分组分别对应的 二级哈希键;所述哈希公式为: 4 CN 111597379 A 说 明 书 2/15 页 其中, 为第 个哈希对分组对应的二级哈希键, 为第 个哈希对分组包含的哈希对 的个数, 为第 个哈希对分组中的第 个哈希对的一级哈希键,为第 个哈希对所对应的 区分因子。 在一个实施例中,所述输出与所述匹配的二级音频指纹对应的音频文件之后,所 述方法包括: 在一级音频指纹库中,查询所述音频文件的一级音频指纹; 从各所述音频文件的一级音频指纹中,查询与所述音频片段的一级音频指纹匹配的一 级音频指纹,并输出与所述匹配的一级音频指纹对应的音频文件。 在一个实施例中,所述根据所述哈希对分组中哈希对的一级哈希键,计算各所述 哈希对分组分别对应的二级哈希键之后,所述方法还包括: 对所述哈希对分组进行再分组,得到多级哈希对分组;所述多级哈希对分组的级别至 少为三级; 根据所述多级哈希对分组所包含的各哈希对分组的二级哈希键,计算各所述多级哈希 分组对应的多级哈希键,获得所述音频片段的多级音频指纹;所述多级音频指纹包括各所 述多级哈希分组和对应的各所述多级哈希键; 在多级音频指纹库中,查询与所述音频片段的多级音频指纹匹配的多级音频指纹,并 输出与所述匹配的多级音频指纹对应的音频文件。 在一个实施例中,所述在二级音频指纹库中,搜索与所述音频片段的二级音频指 纹匹配的二级音频指纹之前,所述方法还包括: 获取音频文件的音频信号; 根据所述音频信号的频谱峰值点建立包含所述音频文件的一级音频指纹库;所述一级 音频指纹库包含各所述音频文件的哈希对和对应的一级哈希键; 根据各所述音频文件的哈希对和对应的一级哈希键建立包含所述音频文件的二级音 频指纹库。 在一个实施例中,所述根据各所述音频文件的哈希对和对应的一级哈希键建立包 含所述音频文件的二级音频指纹库,包括: 对所述音频文件的哈希对进行分组,得到所述音频文件的哈希对分组; 根据各所述音频文件的哈希对分组中哈希对的一级哈希键,计算各所述音频文件的哈 希对分组分别对应的二级哈希键,获得包含各所述音频文件的哈希对分组和对应的二级哈 希键的二级音频指纹库。 一种音频搜索装置,所述装置包括: 一级音频指纹获取模块,用于获取音频片段的一级音频指纹;所述一级音频指纹包含 哈希对和对应的一级哈希键,所述哈希对为所述音频片段的两个频谱峰值点的组合; 分组模块,用于按照预设窗长对所述哈希对进行分组,得到哈希对分组;所述哈希对分 组包含至少两个所述哈希对; 二级音频指纹获取模块,用于根据所述哈希对分组中哈希对的一级哈希键,计算各所 5 CN 111597379 A 说 明 书 3/15 页 述哈希对分组分别对应的二级哈希键,获得所述音频片段的二级音频指纹;所述二级音频 指纹包括各所述哈希对分组和对应的各所述二级哈希键; 音频查询模块,在二级音频指纹库中,查询与所述音频片段的二级音频指纹匹配的二 级音频指纹,并输出与所述匹配的二级音频指纹对应的音频文件。 在一个实施例中,所述一级音频指纹获取模块,还用于: 提取所述音频片段的频谱特征,确定所述频谱特征的频谱峰值点; 根据所述频谱峰值点构建哈希对; 根据所述哈希对所对应的第一频谱峰值点的第一频率和第一时间、以及所述哈希对所 对应的第二频谱峰值点的第二频率和第二时间,计算各所述哈希对所对应的一级哈希键, 获得包含各所述哈希对和对应的所述一级哈希键的所述音频片段的一级音频指纹。 在一个实施例中,所述二级音频指纹获取模块,还用于: 获取所述哈希对分组中各哈希对的一级哈希键; 将获取的所述一级哈希键代入哈希公式进行计算,得到各所述哈希对分组分别对应的 二级哈希键;所述哈希公式为: 其中, 为第 个哈希对分组对应的二级哈希键,为第 个哈希对分组包含的哈希对的 个数,为第 个哈希对分组中的第 个哈希对的一级哈希键, 为第 个哈希对所对应的区 分因子。 在一个实施例中,所述音频查询模块,还用于: 在一级音频指纹库中,查询所述音频文件的一级音频指纹; 从各所述音频文件的一级音频指纹中,查询与所述音频片段的一级音频指纹匹配的一 级音频指纹,并输出与所述匹配的一级音频指纹对应的音频文件。 在一个实施例中,所述分组模块,还用于: 对所述哈希对分组进行再分组,得到多级哈希对分组;所述多级哈希对分组的级别至 少为三级; 所述二级音频指纹获取模块还用于,根据所述多级哈希对分组所包含的各哈希对分组 的二级哈希键,计算各所述多级哈希分组对应的多级哈希键,获得所述音频片段的多级音 频指纹;所述多级音频指纹包括各所述多级哈希分组和对应的各所述多级哈希键; 所述音频查询模块,还用于在多级音频指纹库中,查询与所述音频片段的多级音频指 纹匹配的多级音频指纹,并输出与所述匹配的多级音频指纹对应的音频文件。 在一个实施例中,所述装置还包括: 音频文件获取模块,获取音频文件的音频信号; 一级音频指纹库建立模块,用于根据所述音频信号的频谱峰值点建立包含所述音频文 件的一级音频指纹库;所述一级音频指纹库包含各所述音频文件的哈希对和对应的一级哈 希键; 二级音频指纹库建立模块,用于根据各所述音频文件的哈希对和对应的一级哈希键建 立包含所述音频文件的二级音频指纹库。 6 CN 111597379 A 说 明 书 4/15 页 在一个实施例中,所述二级音频指纹库建立模块,还用于: 对所述音频文件的哈希对进行分组,得到所述音频文件的哈希对分组; 根据各所述音频文件的哈希对分组中哈希对的一级哈希键,计算各所述音频文件的哈 希对分组分别对应的二级哈希键,获得包含各所述音频文件的哈希对分组和对应的二级哈 希键的二级音频指纹库。 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理 器执行所述计算机程序时实现上述方法的步骤。 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执 行时实现上述的方法的步骤。 上述音频搜索方法、装置、计算机设备和计算机可读存储介质,在获取音频片段的 一级音频指纹之后,其中一级音频指纹包含哈希对和对应的一级哈希键,按照预设窗长对 哈希对进行分组得到哈希对分组,计算各哈希对分组分别对应的二级哈希键,获得音频片 段的二级音频指纹,其中二级音频指纹包括各哈希对分组和对应的各二级哈希键,在二级 音频指纹库中,查询与音频片段的二级音频指纹匹配的二级音频指纹,并输出与匹配的二 级音频指纹对应的音频文件,避免了将音频片段的音频指纹与大量候选音频指纹进行精准 匹配,从而提高音频搜索的效率。 附图说明 图1为一个实施例中音频搜索方法的应用环境图; 图2为一个实施例中音频搜索方法的流程示意图; 图2A为一个实施例中提取的频谱特征图; 图2B为一个实施例中提取的频谱星谱图; 图2C为一个实施例中组合哈希对示意图; 图2D为一个实施例中哈希对示意图; 图3为一个实施例中哈希对分组示意图; 图4为一个实施例构建音频指纹库步骤的流程示意图; 图5为另一个实施例中音频搜索方法的流程示意图; 图6为一个实施例中音频搜索装置的结构框图; 图7为另一个实施例中音频搜索装置的结构框图; 图8为一个实施例中计算机设备的内部结构图; 图9为另一个实施例中计算机设备的内部结构图。