音频指纹提取方法、装置、计算机设备和存储介质与流程

文档序号:25863672发布日期:2021-07-13 16:21阅读:153来源:国知局
音频指纹提取方法、装置、计算机设备和存储介质与流程

本申请涉及音频指纹技术领域,特别是涉及一种音频指纹提取方法、装置、计算机设备和存储介质。



背景技术:

随着音频指纹技术的发展,当前已被广泛用于音乐识别、版权内容监播等等领域。通过音频指纹技术可以将音频信号中独一无二的特征信息提取出来,用于海量声音样本的识别、搜索和定位服务,音频指纹技术是一种可以自动识别音频内容的技术。

音频指纹技术会从音频信号中提取出噪声鲁棒性的特征,传统的音频指纹技术虽然具备噪声鲁棒性,但仅限于微弱的噪声音频与目标音频重叠的情况。在存在噪声音频的干扰信号时,不仅包含与目标音频重叠的叠加噪声,还包含与目标音频并列的噪声的情况,在噪声音频较强且与目标音频未叠加的比例较高时,即噪声音频与目标音频并列的情况下,传统的音频指纹技术无法保证其噪声鲁棒性,噪声音频对音频指纹识别的结果影响非常大。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高噪声鲁棒性的音频指纹提取方法、装置、计算机设备和存储介质。

一种音频指纹提取方法,所述方法包括:

获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频;

获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图;

根据更新星谱图,得到音频特征哈希数据;

根据音频特征哈希数据,得到音频指纹。

在其中一个实施例中,音频信号包括目标音频和噪声音频;获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频包括:

获取音频信号,基于语音端点检测深度学习模型,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频和目标音频,语音端点检测深度学习模型通过音频训练数据构建。

在其中一个实施例中,更新星谱图为目标音频对应的星谱图;语音端点检测深度学习模型的训练过程包括:

获取携带有分类标签的音频训练数据,音频训练数据包括目标音频训练数据和噪声音频训练数据;

获取初始的语音端点检测深度学习模型,根据音频训练数据,通过语音端点检测算法对初始的语音端点检测深度学习模型进行训练,得到语音端点检测深度学习模型。

在其中一个实施例中,获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图之前,还包括:

对目标音频进行语音增强处理,语音增强处理包括基于谱减法的语音增强处理以及基于深度学习算法的语音增强处理中的任意一种。

在其中一个实施例中,获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图包括:

基于音频指纹算法,提取音频信号对应的星谱图,星谱图上的星点沿时间轴分布;

沿时间轴对星谱图中各时刻的星点进行检测;

当检测到星点对应的音频信号为噪声音频时,清除噪声音频对应的星点,得到更新星谱图。

在其中一个实施例中,音频特征哈希数据包括音频特征哈希表;根据更新星谱图,得到音频特征哈希数据包括:

根据目标音频对应的更新星谱图中的任意两个星点,构成哈希键;

根据哈希键以及哈希键对应的哈希值,构建音频特征哈希表。

在其中一个实施例中,根据哈希键以及哈希键对应的哈希值,构建音频特征哈希表包括:

根据任意两个星点在时间轴上的时间偏差,确定哈希键对应的哈希值;

根据哈希键以及哈希键对应的哈希值,得到哈希对;

根据哈希对,构建音频特征哈希表。

一种音频指纹提取装置,所述装置包括:

音频信号获取模块,用于获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频;

噪声音频清除模块,用于获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图;

音频数据处理模块,用于根据更新星谱图,得到音频特征哈希数据;

音频指纹生成模块,用于根据音频特征哈希数据,得到音频指纹。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频;

获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图;

根据更新星谱图,得到音频特征哈希数据;

根据音频特征哈希数据,得到音频指纹。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频;

获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图;

根据更新星谱图,得到音频特征哈希数据;

根据音频特征哈希数据,得到音频指纹。

上述音频指纹提取方法、装置、计算机设备和存储介质,通过获取音频信号;对音频信号进行语音端点检测处理,识别音频信号中的噪声音频;能够有效识别噪声音频便于后续去除噪声音频得到更为准确的音频信号。通过获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到对应的更新星谱图;能够有效去除噪声音频,得到准确的星谱图。通过根据更新星谱图,构建音频特征哈希数据;能够得到去除噪声音频之后的音频特征哈希数据。通过根据音频特征哈希数据,能够得到音频信号中准确的音频指纹,能够有效抵御噪声音频对音频指纹提取的影响,提高了噪声鲁棒性。

附图说明

图1为一个实施例中音频指纹提取方法的应用环境图;

图2为一个实施例中音频指纹提取方法的流程示意图;

图3为又一个实施例中音频指纹提取方法的流程示意图;

图4为另一个实施例中音频指纹提取方法的流程示意图;

图5为一个实施例中音频指纹提取方法构建语音端点检测深度学习模型步骤的流程示意图;

图6为再一个实施例中音频指纹提取方法的流程示意图;

图7为又一个实施例中音频指纹提取方法的流程示意图;

图8为另一个实施例中音频指纹提取方法的流程示意图;

图9为一个实施例中音频指纹提取装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的音频指纹提取方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104获取终端102发送的音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频;获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图;根据更新星谱图,得到音频特征哈希数据;根据音频特征哈希数据,得到音频指纹。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种音频指纹提取方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤202,获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频。

其中,音频信号可以为带有语音、音乐和音效的有规律的声波的频率、幅度变化信息载体的数据。语音端点检测处理为通过vad(voiceactivitydetection)技术进行的处理,以下简称vad处理,在获取的音频信号中,会包含所需要的目标音频以及不相关的噪声音频,噪声音频是在音频信号中的干扰信号,会对所需要的目标音频造成干扰。在干扰叠加的噪声音频中包括与目标音频重叠的噪声音频和与目标音频并列的噪声音频等。通过vad处理不仅可以识别重叠噪声,还可以识别并列噪声。

具体地,当服务器获取到音频信号,会对音频信号进行基于语音端点检测算法的语音端点检测处理,通过语音端点检测处理后的音频,可以识别出在音频信号中干扰叠加的噪声音频,而在音频信号中不为噪声音频的部分即对应所需要的目标音频。

步骤204,获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图。

其中,星谱图(constellation)为从音频信号中提取出噪声鲁棒性的特征。噪声鲁棒性是指抵御噪声影响的能力。星谱图由星点组成,在星谱图中分布有星点。

具体地,服务器获取音频信号对应的星谱图,星谱图是通过将音频信号经过傅里叶变换得到音频的频谱图,然后在频谱图中每一帧的信号中选取具有噪声鲁棒性的点而组成的。其中,选取具有噪声鲁棒性的点即为星谱图中的星点,横轴代表时间,纵轴代表频率。选点的方式有很多种,比如共振峰点,或者沿频率轴划分几个频率区间,在每个区间中选取能量最大的点等。服务器通过将识别为噪声音频的片段对应的星谱图全部置零,只保留识别为目标音频的星谱图的点,用以清除噪声音频在星谱图中对应的星点。此时在音频信号对应的星谱图中只剩下目标音频对应的星点,得到目标音频对应的更新星谱图。例如,可以是在星谱图上沿时间轴进行检索,如果检测到当前时刻对应的vad处理的识别结果为噪声音频,则删除该时刻的所有星点,最终得到目标音频对应的更新星谱图。

步骤206,根据更新星谱图,得到音频特征哈希数据。

其中,更新星谱图是只存在目标音频的星点对应的更新星谱图,音频特征哈希数据是基于音频指纹算法得到的,音频哈希数据是与目标音频的音频信号对应的哈希数据,音频特征哈希数据用以表征音频指纹。

具体地,服务器根据更新星谱图中的星点,得到音频特征哈希数据,例如,可以是通过更新星谱图中的任意两个星点,得到哈希键以及哈希值,根据哈希键以及哈希值,构成哈希表。

步骤208,根据音频特征哈希数据,得到音频指纹。

其中,哈希数据可以是哈希表,音频指纹是指音频信号中独一无二的数字特征以标识符的形式来体现,用以音频的匹配和比对,例如用于识别海量的声音样本或跟踪定位样本在数据库中的位置。音频指纹实质上是与音频信号相关联的标识符。以哈希表为例。具体地,服务器根据所构建的音频特征哈希表,得到目标音频对应的音频指纹。

上述音频指纹提取方法中,通过获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频;能够有效识别噪声音频便于后续去除噪声音频得到更为准确的音频信号。通过获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到对应的更新星谱图;能够有效去除噪声音频,得到准确的星谱图。通过根据更新星谱图,构建音频特征哈希数据;能够得到去除噪声音频之后的音频特征哈希数据。通过根据音频特征哈希数据,能够得到音频信号中准确的音频指纹,能够有效抵御噪声音频对音频指纹提取的影响,提高了噪声鲁棒性。

在一个实施例中,如图3所示,音频信号包括目标音频和噪声音频,步骤202,获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频包括:

步骤302,获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频和目标音频。

其中,语音端点检测处理为通过vad(voiceactivitydetection)技术进行的处理,以下简称vad处理。vad处理可以是基于信号处理的vad算法进行vad处理,还可以是通过收集目标音频类型和噪声音频类型的数据,形成训练数据训练一个vad深度学习模型进行vad处理等,通过训练的vad深度学习模型进行处理的音频数据会更为准确以及更具备噪声鲁棒性。并且通过vad处理后再进行后续的基于音频指纹算法的处理也会使音频更具备噪声鲁棒性。具体地,服务器获取音频信号,对音频信号进行vad处理,音频信号包括目标音频和噪声音频,通过vad处理对音频信号中的目标音频和噪声音频进行识别,识别得到音频信号中的噪声音频和目标音频。

通过获取音频信号,对音频信号进行语音端点检测处理,能够达到准确的区分音频信号中的噪声音频和目标音频,对噪声音频和目标音频进行识别,能够实现在后续去除噪声音频后得到更为准确的音频信号。通过获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到对应的更新星谱图;能够有效去除噪声音频,得到准确的星谱图。通过根据更新星谱图,构建音频特征哈希数据;能够得到去除噪声音频之后的音频特征哈希数据。通过根据音频特征哈希数据,能够得到音频信号中准确的音频指纹,能够有效抵御噪声音频对音频指纹提取的影响,提高了噪声鲁棒性。

步骤204,获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图之前,还包括:

步骤304,对目标音频进行语音增强处理,语音增强处理包括基于谱减法的语音增强处理以及基于深度学习算法的语音增强处理中的任意一种。

其中,语音增强处理是指在音频信号中增强所需的目标音频。具体地,通过vad处理之后识别得到音频信号中的噪声音频和目标音频,然后将音频信号中的目标音频采用语音增强处理进行增强,语音增强处理可以采用包括基于谱减法的语音增强处理以及基于深度学习算法的语音增强处理中的任意一种。谱减法即为通过采用带噪信号的频谱减去噪声信号的频谱的一种方法,基于谱减法的语音增强处理可以是将估计的噪声音频的功率谱并将其从音频信号为嘈杂语音的语音中减去。噪声信号即为音频信号的噪声音频对应的信号。基于深度学习算法的语音增强处理可以为训练一个语音增强的深度学习网络,将嘈杂语音输入深度学习网络中,得到增强后的语音输出。例如,在一段音频信号中,不仅含有噪声叠加的语音,还含有全部都是噪声的音频,在有噪声音频与目标音频叠加的部分,通过谱减法或深度学习算法进行目标音频的语音增强。此外,语音增强处理可以但不限于是包括基于谱减法的语音增强处理以及基于深度学习算法的语音增强处理中的任意一种,还可以包括基于其他语音增强算法的语音增强处理中的任意一种。

本实施例中,通过对目标音频进行语音增强处理,能够对音频信号中的目标音频进行增强,更有利于区分音频信号中存在叠加情况的目标音频和噪声音频,能够在后续星谱图中对音频信号进行更准确的处理,提取出来的星谱图也更为准确。

在一个实施例中,如图4所示,步骤202,获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频包括:

步骤402,获取音频信号,基于语音端点检测深度学习模型,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频和目标音频,语音端点检测深度学习模型通过音频训练数据构建。

其中,语音端点检测是一种从一段语音(纯净或带噪)信号中标识出语音片段与非语音片段的检测,语音片段可以是音频信号中的目标音频,而非语言片段可以是噪声音频。语音端点检测深度学习模型是通过获取收集的目标音频类型和噪声音频类型的数据,形成训练数据训练得到的一个vad深度学习模型。

具体地,服务器获取到音频信号,音频信号中包括噪声音频和目标音频,需要将音频信号中的噪声音频和目标音频进行识别。基于语音端点检测深度学习模型,对音频信号进行语音端点检测处理,首先将音频信号中的片段的特征提取出来,然后进行语音片段和非语音片段的识别。最终得到目标音频和噪声音频,语音端点检测深度学习模型通过音频训练数据构建。

本实施例中,通过获取音频信号,基于语音端点检测深度学习模型,对音频信号进行语音端点检测处理,得到噪声音频,语音端点检测深度学习模型通过音频训练数据构建。能够有效识别噪声音频便于后续去除噪声音频得到更为准确的音频信号。然后通过获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到对应的更新星谱图;能够有效去除噪声音频,得到准确的星谱图。通过根据更新星谱图,构建音频特征哈希数据;能够得到去除噪声音频之后的音频特征哈希数据。通过根据音频特征哈希数据,能够得到音频信号中准确的音频指纹,能够有效抵御噪声音频对音频指纹提取的影响,提高了噪声鲁棒性。

在一个实施例中,如图5所示,更新星谱图为目标音频对应的星谱图;语音端点检测深度学习模型的训练过程包括:

步骤502,获取携带有分类标签的音频训练数据,音频训练数据包括目标音频训练数据和噪声音频训练数据。

其中,音频训练数据用于输入模型进行训练的音频数据,目标音频训练数据为目标音频类型的训练数据,噪声音频训练数据为噪声音频类型的训练数据。目标音频训练数据和噪声音频训练数据携带有不同的分类标签,分类标签有利于后续的模型训练。

具体地,服务器获取到携带有分类标签的音频训练数据,音频训练数据包括目标音频训练数据和噪声音频训练数据。例如,目标音频类型训练数据可以是人工客服电话通话音频中的人工客服的声音,通过获取收集到的大量的不含任何其他噪声的人工客服音频,以及对应的噪声音频类型训练数据,噪声音频类型训练数据可以是大量常见的电话通话噪声比如电话的嘟嘟声、彩铃、环境中的噪声比如鸣笛声等,将目标音频类型的训练数据和噪声音频类型的训练数据组合在一起形成音频训练数据。组合方式可以但不限于是采取拼接、叠加等方式,对于不同的音频训练数据还将进行分类,可以标记分类标签,不同的音频训练数据携带有对应的不同分类标签,分类标签用于标记每条语音的每一语音帧对应的是人工客服语音还是噪声。

步骤504,获取初始的语音端点检测深度学习模型,根据音频训练数据,通过语音端点检测算法对初始的语音端点检测深度学习模型进行训练,得到语音端点检测深度学习模型。

其中,语音端点检测深度学习模型是基于语音端点检测算法进行训练的,语音端点检测可以理解采集音频信号的时候从一段音频的开始端到结束端进行检测处理。语音端点检测算法是指通过算法对音频信号首先进行端点检测来进行特征的提取,端点检测还包括可以识别开始端和结束端。算法可以但不限于是短时能量算法或是过零率算法等,短时能量算法为计算一帧语音信号能量的算法。过零率算法为计算一帧语音时域信号穿过0(时间轴)的次数的算法。语音端点检测深度学习模型是指通过训练之后得到的一个可以预测未知数据标签的模型,即可以有效识别目标音频类型与噪声音频类型。

具体地,在预处理阶段基于语音端点检测算法对音频信号进行处理提出音频信号的特征处理,根据预处理的结果获取相关特征的初始的语音端点检测深度学习模型。此外,还需进行分类,分类即为上述的标签分类,得到携带有不同的分类标签的目标音频训练数据和噪声音频训练数据。根据携带有不同的分类标签的目标音频训练数据和噪声音频训练数据,通过对初始的语音端点检测深度学习模型进行训练,训练可以是在目标音频中添加噪声音频的对抗训练,通过对抗训练来有效识别,得到语音端点检测深度学习模型。例如,通过vad深度学习模型来训练学习识别一段输入的语音哪些语音帧是人工客服的声音,哪些语音帧是噪声。音频训练数据为上述获取到的目标音频类型的训练数据和噪声音频类型的训练数据,目标音频类型训练数据为不含任何其他噪声的人工客服音频,噪声音频类型训练数据为大量常见的电话通话噪声比如电话的嘟嘟声、彩铃、环境中的噪声比如鸣笛声等。

本实施例中,通过获取携带有分类标签的音频训练数据,音频训练数据包括目标音频训练数据和噪声音频训练数据,获取初始的语音端点检测深度学习模型,根据音频训练数据,通过语音端点检测算法对初始的语音端点检测深度学习模型进行训练,得到语音端点检测深度学习模型,能够通过得到的语音端点检测深度学习模型,基于语音端点检测深度学习模型,对音频信号进行语音端点检测处理,得到噪声音频,能够有效识别噪声音频和目标音频,便于后续去除噪声音频得到更为准确的保留目标音频的音频信号。然后通过获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到目标音频对应的更新星谱图;能够有效去除噪声音频,得到准确的星谱图。通过根据更新星谱图,构建音频特征哈希数据;能够得到去除噪声音频之后目标音频对应的音频特征哈希数据。通过根据音频特征哈希数据,能够得到音频信号中准确的音频指纹,能够有效抵御噪声音频对音频指纹提取的影响,提高了噪声鲁棒性。

在一个实施例中,如图6所示,步骤204,获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图包括:

步骤602,基于音频指纹算法,提取音频信号对应的星谱图,星谱图上的星点沿时间轴分布。

其中,星谱图上对应有星点,星谱图是由星点组成的。基于音频指纹算法提取音频信号中的特征即为星谱图。具体地,服务器通过将音频信号经过傅里叶变换后,得到音频信号对应的频谱图,然后在频谱图中基于每一帧的信号,选取噪声鲁棒的点,由一系列具有噪声鲁棒性的点组成星谱图,其中具有噪声鲁棒性的点即为星谱图中的星点,坐标轴代表时间即为时间轴,纵轴代表的是音频信号的频率。选点的方式有很多种,例如可以选取共振峰点,或者沿频率轴划分几个频率区间,在每个区间中选取能量最大的点等。

步骤604,沿时间轴对星谱图中各时刻的星点进行检测。

其中,星谱图上的坐标轴代表时间即为时间轴,星谱图上的星点是沿时间轴分布的,纵轴代表的是音频信号的频率。每一时刻对应有星点。具体地,服务器沿时间轴对星谱图中各时刻的星点一一进行检测。

步骤606,当检测到星点对应的音频信号为噪声音频时,清除噪声音频对应的星点,得到更新星谱图。

具体地,根据vad处理的识别结果,在星谱图上将识别为噪声音频的片段对应的星点全部置零清除,只保留识别为目标音频的星谱图的星点,当全部检测完毕时,得到仅包含目标音频对应的更新星谱图。

本实施例中,通过获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到对应的更新星谱图;能够有效去除噪声音频,得到准确的星谱图。通过根据更新星谱图,构建音频特征哈希数据;能够得到去除噪声音频之后的音频特征哈希数据。通过根据音频特征哈希数据,能够得到音频信号中准确的音频指纹,能够有效抵御噪声音频对音频指纹提取的影响,提高了噪声鲁棒性。

在一个实施例中,如图7所示,音频特征哈希数据包括音频特征哈希表;步骤206,根据更新星谱图,得到音频特征哈希数据包括:

步骤702,根据目标音频对应的更新星谱图中的任意两个星点,构成哈希键。

具体地,通过组合的方式将更新星谱图中的任意两个星点组成一个key,即为哈希键,哈希键是用于构建哈希表的。

步骤704,根据哈希键以及哈希键对应的哈希值,构建音频特征哈希表。

其中,每一个哈希键对应有一个哈希值,哈希值是哈希键的value,哈希值是由构成哈希键的两个星点的频率以及在时间轴上的时间偏差得到的。具体地,通过根据哈希键以及哈希键对应的哈希值,构建由key-value组成的音频特征哈希表。哈希数据可以是哈希表,即步骤208,根据音频特征哈希数据,得到音频指纹包括:步骤706,根据音频特征哈希表,得到音频指纹。

本实施例中,通过根据目标音频对应的更新星谱图中的任意两个星点,构成哈希键,根据哈希键以及哈希键对应的哈希值,构建音频特征哈希表。能够得到去除噪声音频之后的目标音频对应的音频特征哈希数据。通过根据目标音频对应的音频特征哈希数据,能够得到音频信号中准确的音频指纹,能够有效抵御噪声音频对音频指纹提取的影响,提高了噪声鲁棒性。

在一个实施例中,如图8所示,步骤704,根据哈希键以及哈希键对应的哈希值,构建音频特征哈希表包括:

步骤802,根据任意两个星点在时间轴上的时间偏差,确定哈希键对应的哈希值。

其中,两个星点在时间轴上的时间偏差,即为两个星点对应的频率点对应的时间偏差。具体地,哈希键对应的哈希值由两个星点的频率(f1和f2)以及两者在时间轴上的时间偏差(δt)构成,并且f1/f2可以采用m比特(例如10比特)量化的方式进行表示,δt可以采用n比特(如12比特)量化的方式进行表示,那么哈希键对应的哈希值可以采用2*m+n比特进行表示。

步骤804,根据哈希键以及哈希键对应的哈希值,得到哈希对。

其中,一个哈希对是一个哈希键以及对应的哈希值组成的,哈希对可以表示为key-value。具体地,根据哈希键以及哈希键对应的哈希值,得到哈希对,例如,哈希键key可以采用一个32比特的整数进行表示。每个哈希键对应的哈希值value,是当前音频信号中两个星点对应的频率点在音频信号上的时间偏差。

步骤806,根据哈希对,构建音频特征哈希表。

其中,音频特征哈希数据可以是音频特征哈希表,音频特征哈希表是表征音频特征的哈希表,由音频特征对应的哈希对key-value组成。具体地,根据音频信号中目标音频对应的更新星谱图上所有的任意两个星点,构成哈希键以及哈希值,得到全部的哈希对,通过该音频信号中目标音频对应的全部哈希对构建音频特征哈希表。

本实施例中,通过根据任意两个星点在时间轴上的时间偏差,确定哈希键对应的哈希值,根据哈希键以及哈希键对应的哈希值,得到哈希对。根据哈希对,构建音频特征哈希数据。能够得到去除噪声音频之后的目标音频对应的音频特征哈希数据。通过根据目标音频对应的音频特征哈希数据,能够得到音频信号中准确的音频指纹,能够有效抵御噪声音频对音频指纹提取的影响,提高了噪声鲁棒性。

在一个应用实例中,本申请还提供一种应用场景,该应用场景应用上述的音频指纹提取方法。具体地,该音频指纹提取方法在该应用场景的应用如下:

服务器获取终端采集的携带有分类标签的音频训练数据,音频训练数据包括目标音频训练数据和噪声音频训练数据;然后服务器获取初始的vad深度学习模型,根据音频训练数据,通过vad算法对初始的vad深度学习模型进行训练,得到vad深度学习模型。

服务器获取到终端上传的音频信号,基于上述得到的vad深度学习模型,对音频信号进行vad处理,得到噪声音频和目标音频。然后对目标音频进行基于谱减法的语音增强处理或是基于深度学习算法的语音增强处理。

服务器基于音频指纹算法,提取音频信号对应的星谱图,所述星谱图通过由音频信号经过傅里叶变换后,得到音频信号对应的频谱图,然后在频谱图中基于每一帧的信号,选取噪声鲁棒的点,由一系列具有噪声鲁棒性的点组成。其中具有噪声鲁棒性的点即为星谱图中的星点,坐标轴代表时间即为时间轴,纵轴代表的是音频信号的频率。因此,星谱图上的星点沿时间轴分布。通过沿时间轴对星谱图中各时刻的星点进行检测;当检测到星点对应的音频信号为噪声音频时,清除噪声音频对应的星点,得到目标音频对应的更新星谱图。

服务器根据目标音频对应的更新星谱图中的任意两个星点,构成哈希键key;然后根据任意两个星点在时间轴上的时间偏差,确定哈希键对应的哈希值value;根据哈希键以及哈希键对应的哈希值,得到哈希对key-value;根据哈希对key-value,构建音频特征哈希表。

服务器根据所构建的音频特征哈希表,得到音频指纹。具体地,音频指纹是指音频信号中独一无二的数字特征以标识符的形式来体现,用以音频的匹配和比对,例如用于识别海量的声音样本或跟踪定位样本在数据库中的位置。音频指纹实质上是与音频信号相关联的标识符。服务器根据所构建的音频特征哈希表,得到目标音频对应的音频指纹。

本实施例中,通过获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频和噪声音频;需要注意的是,在需要优化的应用场景中,音频信号存在有叠加的噪声音频,叠加的噪声音频包含有与目标音频重叠的噪声音以及与目标音频并列的噪声音频,通过语音端点检测处理能够有效识别噪声音频包含的与目标音频重叠的噪声音以及与目标音频并列的噪声音频,便于后续去除噪声音频得到更为准确的音频信号。通过获取音频信号对应的星谱图,星谱图中的星点为选取的具有噪声鲁棒性的点。通过清除噪声音频在星谱图中对应的星点,得到对应的更新星谱图;能够有效去除噪声音频,提高噪声鲁棒性,得到准确的星谱图。通过根据更新星谱图,构建音频特征哈希数据;能够得到去除噪声音频之后的音频特征哈希数据。通过根据音频特征哈希数据,能够得到音频信号中准确的音频指纹,能够有效抵御噪声音频对音频指纹提取的影响,提高了噪声鲁棒性。

应该理解的是,虽然上述实施例各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图9所示,提供了一种音频指纹提取装置,包括:音频信号获取模块902、噪声音频清除模块904、音频数据处理模块906和音频指纹生成模块908,其中:

音频信号获取模块902,用于获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频;

噪声音频清除模块904,用于获取音频信号对应的星谱图,清除噪声音频在星谱图中对应的星点,得到更新星谱图;

音频数据处理模块906,用于根据更新星谱图,得到音频特征哈希数据;

音频指纹生成模块908,用于根据音频特征哈希数据,得到音频指纹。

在其中一个实施例中,音频信号获取模块还用于获取音频信号,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频和目标音频。

在其中一个实施例中,音频指纹提取装置还包括语音增强处理模块,语音增强处理模块还用于对目标音频进行语音增强处理,语音增强处理包括基于谱减法的语音增强处理以及基于深度学习算法的语音增强处理中的任意一种。

在其中一个实施例中,音频信号获取模块还用于获取音频信号,基于语音端点检测深度学习模型,对音频信号进行语音端点检测处理,识别音频信号中的噪声音频和目标音频,语音端点检测深度学习模型通过音频训练数据构建。

在其中一个实施例中,音频指纹提取装置模型训练模块,模型训练模块用于获取携带有分类标签的音频训练数据,音频训练数据包括目标音频训练数据和噪声音频训练数据;获取初始的语音端点检测深度学习模型,根据音频训练数据,通过语音端点检测算法对初始的语音端点检测深度学习模型进行训练,得到语音端点检测深度学习模型。

在其中一个实施例中,噪声音频清除模块还用于基于音频指纹算法,提取音频信号对应的星谱图,星谱图上的星点沿时间轴分布;沿时间轴对星谱图中各时刻的星点进行检测;当检测到星点对应的音频信号为噪声音频时,清除噪声音频对应的星点,得到更新星谱图。

在其中一个实施例中,音频数据处理模块还用于根据目标音频对应的更新星谱图中的任意两个星点,构成哈希键;根据哈希键以及哈希键对应的哈希值,构建音频特征哈希表。

在其中一个实施例中,音频数据处理模块还用于根据任意两个星点在时间轴上的时间偏差,确定哈希键对应的哈希值;根据哈希键以及哈希键对应的哈希值,得到哈希对;根据哈希对,构建音频特征哈希表。

关于音频指纹提取装置的具体限定可以参见上文中对于音频指纹提取方法的限定,在此不再赘述。上述音频指纹提取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储音频训练数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种音频指纹提取方法。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1