CN108021635A - 一种音频相似度的确定方法、装置和存储介质 - Google Patents
一种音频相似度的确定方法、装置和存储介质 Download PDFInfo
- Publication number
- CN108021635A CN108021635A CN201711204365.6A CN201711204365A CN108021635A CN 108021635 A CN108021635 A CN 108021635A CN 201711204365 A CN201711204365 A CN 201711204365A CN 108021635 A CN108021635 A CN 108021635A
- Authority
- CN
- China
- Prior art keywords
- data
- audio
- distributed intelligence
- filtered
- obtains
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Abstract
本发明实施例公开了一种音频相似度的确定方法、装置和存储介质;本发明实施例可以分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,然后分别确定其短时能量分布,并基于得到的短时能量分布情况计算第一音频数据和第二音频数据的相似度;该方案既可以有效地且准确地计算出相似度,而且,也可以适用于多数应用场景,提高了方案的适用性。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种音频相似度的确定方法、装置和存储介质。
背景技术
音频数据,指的是数字化的声音数据,而音频相似度,在这里则指的是两段音频数据在语调、以及语气上的相似度。基于音频相似度,人们可以对音频数据进行预设的一些处理,比如判断配音是否合适、模仿是否到位,歌曲是否跑调,等等。
在现有技术中,一般会利用预设模型从需要比较的两个音频文件中,分别提取出音频数据的乐器数字接口(MIDI,Musical Instrument Digital Interface)特征文件,比如,可以先按照某种算法提取原始音频文件的MIDI特征文件,当用户上传一段录音后,再通过相同的算法提取该录音的MIDI特征文件,然后将这两个音频文件的MIDI特征文件进行对比,并基于对比结果进行打分,等等。其中,分数越高则相似度越高,反之则相似度越低。
在对现有技术的研究和实践过程中,本发明的发明人发现,由于MIDI特征文件主要表现了音频在各个采样点的音高和频率,因此,对于歌曲而言,MIDI特征会比较明显,而对于较短的录音,比如一句台词,则无法提取有效的MIDI特征文件,所以,在某些特定的场景,如配音等场景下,现有方案并不适用,即现有方案的适用性较窄。
发明内容
本发明实施例提供一种音频相似度的确定方法、装置和存储介质,可以在满足相似度计算的准确性的前提下,提高方案的适用性。
本发明实施例提供一种音频相似度的确定方法,包括:
获取第一音频数据和第二音频数据;
分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据;
分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、以及第二滤波后数据对应的第二分布信息;
基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度。
相应的,本发明实施例还提供一种音频相似度的确定装置,包括:
获取单元,用于获取第一音频数据和第二音频数据;
滤波单元,用于分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据;
确定单元,用于分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、以及第二滤波后数据对应的第二分布信息;
计算单元,用于基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度。
此外,本发明实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种音频相似度的确定方法中的步骤。
本发明实施例可以分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,然后分别确定其短时能量分布,并基于得到的短时能量分布情况计算第一音频数据和第二音频数据的相似度;由于各种音频数据,比如歌曲或语音信号等的短时能量随着时间变化会比较明显,而短时能量可以有效地反映出信号幅度的大小、以及有声/无声等,因此,即便该音频数据为语音信号,通过该方案也可以有效地计算出两段音频数据的相似度,所以,相对于现有方案而言,该方案既可以有效地且准确地计算出相似度,而且,也可以适用于多数应用场景,大大提高了方案的适用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的音频相似度的确定方法的场景示意图;
图1b是本发明实施例提供的音频相似度的确定方法的流程图;
图2a是本发明实施例提供的音频相似度的确定方法的另一流程图;
图2b是本发明实施例中音频文件的获取界面示意图;
图2c是本发明实施例提供的一音频数据的采样结果的示意图;
图2d是本发明实施例中对采样结果进行归一化处理后所得到的结果的示意图;
图2e是本发明实施例中对归一化结果进行滤波后的效果示意图;
图2f是本发明实施例中汉明窗的示意图;
图2g是本发明实施例提供的音频相似度的确定方法中原始音频的短时能量分布示例图;
图2h是本发明实施例提供的音频相似度的确定方法中原始音频去除静音片段的示例图;
图2I是本发明实施例提供的音频相似度的确定方法中原始音频的有效分布信息的示例图;
图2J是本发明实施例提供的音频相似度的确定方法中用户音频的有效分布信息的示例图;
图2k是本发明实施例中用户录音评分的界面示意图;
图3a是本发明实施例提供的音频相似度的确定装置的结构示意图;
图3b是本发明实施例提供的音频相似度的确定装置的另一结构示意图;
图4是本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种音频相似度的确定方法、装置和存储介质。
其中,该音频相似度的确定装置具体可以集成在服务器等设备中,其可以忽略音色的干扰,通过提取音频数据的短时能量分布,从短时能量分布的角度来计算两端音频数据之间的相似度。之所以采用短时能量分布,是因为语音信号和噪声信号的主要区别在于它们的能量,语音段的能量比噪音段的大,语音段的能量是噪声段能量和语音声波能量的和,所以在噪声比较小的情况下,计算输入的音频数据(即输入信号)的短时能量就能通过设置阈值把语音段和背景噪音段区分开。短时能量可以看作是语音信号的平方经过了一个线性滤波器的输出。短时能量可以有效地判断信号幅度的大小,并可以用于进行有声/无声的判断。特别是语音信号,其短时能量随着时间变化会比较明显,所以,通过对短时能量的分析可以很好地反映出语音信号的幅度变化,进而可以判断出两端音频数据如语音信号之间的相似度。
例如,以该音频相似度的确定装置具体集成在服务器中为例,参见图1a,服务器在获取到第一音频数据和第二音频数据后,可以分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一滤波后数据和第二滤波后数据,然后,分别确定第一滤波后数据和第二滤波后数据的短时能量分布,并基于得到的第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度,比如,具体可以计算该第一分布信息和第二分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
其中,第一音频数据和第二音频数据的获取方式可以有多种,比如具体可以从原始音频文件(比如某角色的原配音文件)中提取第一音频数据,以及从终端发送的用户音频文件(比如用户所录制的关于该角色的配音文件)中提取第二音频数据,等等。
以下将分别进行详细说明。
实施例一、
在本实施例中,将从音频相似度的确定装置的角度进行描述,该音频相似度的确定装置具体可以集成在服务器等设备中。
一种音频相似度的确定方法,包括:获取第一音频数据和第二音频数据;分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、和第二音频数据对应的第二滤波后数据,以及分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、和第二滤波后数据对应的第二分布信息;基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度。
如图1b所示,该音频相似度的确定方法的流程具体可以如下:
101、获取第一音频数据和第二音频数据。
例如,具体可以获取第一音频文件,从该第一音频文件中提取该第一音频数据,以及获取第二音频文件,从该第二音频文件中提取第二音频数据,等等。
可选的,为了降低干扰,减少由于干扰所导致的音频文件间的差异,提高计算的准确性,在提取音频数据时,可以对音频文件进行转码处理,并对参数的格式进行统一;即可选的,步骤“获取第一音频数据和第二音频数据”可以包括:
获取第一音频文件,按照预设转码策略对第一音频文件进行转码处理,并按照预设参数设置规则对转码后的第一音频文件中的预设参数进行设置,从设置后的第一音频文件中提取第一音频数据;
以及,获取第二音频文件,按照预设转码策略对第二音频文件进行转码处理,并按照预设参数设置规则对转码后的第二音频文件中的预设参数进行设置,从设置后的第二音频文件中提取第二音频数据。
其中,预设转码策略和预设参数设置规则可以根据实际应用的需求进行设置,比如,具体可以将音频文件(包括第一音频文件和第二音频文件)转换为wav(一种声音文件格式)无压缩的格式,将参数设置为:采样频率44100、码率96k、以及单声道,等等。
例如,以第一音频文件为某角色配音的原始音频文件,第二音频文件为用户所录制的关于该角色的用户音频文件为例,则此时,具体可以分别将原始音频文件和用户音频文件转换为wav无压缩的格式,然后,将转换了格式后的原始音频文件和用户音频文件的采样频率设置为44100、码率设置为96k、以及设置为单声道,等等,再然后,从设置了参数后的原始音频文件中提取音频数据,得到第一音频数据,以及从设置了参数后的用户音频文件提取音频数据,得到第二音频数据。
102、分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据。例如,具体可以如下:
(1)分别对第一音频数据和第二音频数据进行采样,得到第一音频数据对应的第一采样点集合、以及第二音频数据对应的第二采样点集合,具体可以如下:
A1、对第一音频数据进行采样,得到第一采样点集合。
其中,采样的方式可以根据实际应用的需求而定,比如,可以以每16位读取一次带符号数作为一次采样点来进行采样,并将得到的采样点添加至同一集合中,得到第一采样点集合。
又比如,还可以以每8位读取一次带符号数作为一次采样点来进行采样,并将得到的采样点添加至同一集合中,得到第一采样点集合,以此类推,等等。
A2、对第二音频数据进行采样,得到第二采样点集合。
与第一音频数据的采样类似,对第二音频数据进行采样的方式也可以有多种,比如,可以以每16位读取一次带符号数作为一次采样点来进行采样,并将得到的采样点添加至同一集合中,得到第二采样点集合。又比如,还可以以每8位读取一次带符号数作为一次采样点来进行采样,并将得到的采样点添加至同一集合中,得到第二采样点集合,以此类推,等等,具体可以根据实际应用的需求进行设置。
需说明的是,其中,步骤A1和A2的执行可以不分先后。
(2)分别对第一采样点集合中所有采样点和第二采样点集合中所有采样点进行归一化处理,得到第一采样点集合对应的第一处理后数据、以及第二采样点集合对应的第二处理后数据;例如,具体可以如下:
B1、对第一采样点集合中所有采样点进行归一化处理,得到第一处理后数据。
例如,具体可以计算该第一采样点集合中所有采样点的绝对值最大值(也称为最大数值,即max-value),然后,通过该绝对值最大值对第一采样点集合中所有采样点进行归一化处理,得到第一处理后数据。
其中,归一化处理指的是将这些采样点的信号转换为统一的标准模式,比如,由于各采样点对应的幅值分布会比较广,所以,可以通过归一化处理将这些采样点的幅值调整到预设区间之间,等等。即步骤“通过该绝对值最大值对第一采样点集合中所有采样点进行归一化处理,得到第一处理后数据”具体可以为:
根据该绝对值最大值将第一采样点集合中所有采样点的幅值调整到预设区间之间,得到第一处理后数据。
其中,该预设区间可以根据实际应用的需求进行设置,比如,以该预设区间具体为[-1,1]为例,则具体可以采用下列公式对第一采样点集合中所有采样点进行归一化处理,如下:
其中,xt(i)为第i个采样点原始数据归一化后的幅值,其幅值的取值范围可以为[-1,1],而x(i)则是第i个采样点原始数据的幅值,该幅值的取值范围一般可以为[-32768,32767]。
根据上述归一化处理公式对第一采样点集合中所有采样点的幅值进行调整后,便可以得到第一处理后数据x(n)。
B2、对第二采样点集合中所有采样点进行归一化处理,得到第二处理后数据。
例如,具体可以计算该第二采样点集合中所有采样点的绝对值最大值(也称为最大数值,即max-value),然后,通过该绝对值最大值对第二采样点集合中所有采样点进行归一化处理,得到第二处理后数据。
其中,归一化处理指的是将这些采样点的信号转换为统一的标准模式,比如,由于各采样点对应的幅值分布会比较广,所以,可以通过归一化处理将这些采样点的幅值调整到预设区间之间,等等。即步骤“通过该绝对值最大值对第二采样点集合中所有采样点进行归一化处理,得到第二处理后数据”具体可以为:
根据该绝对值最大值将第二采样点集合中所有采样点的幅值调整到预设区间之间,得到第二处理后数据。
其中,该预设区间可以根据实际应用的需求进行设置,比如,以该预设区间具体为[-1,1]为例,则具体可以采用下列公式对第二采样点集合中所有采样点进行归一化处理,如下:
其中,xt(i)为第i个采样点原始数据归一化后的幅值,其幅值的取值范围可以为[-1,1],而x(i)则是第i个采样点原始数据的幅值,该幅值的取值范围一般可以为[-32768,32767]。
根据上述归一化处理公式对第二采样点集合中所有采样点的幅值进行调整后,便可以得到第二处理后数据,由于此处所采用的归一化处理公式与步骤102中的相同,因此,在本步骤中,也用x(n)来表示第二处理后数据,应当理解的是,此处的本发明实施例各个公式的参数,具有通用性,而并不仅仅只是指某个具体的数据,比如,此处的x(n)指的是根据上述归一化处理公式对某个采样点集合中所有采样点的幅值进行调整后所得到的数据,而并不仅仅特指第一处理后数据或第二处理后数据,后续的y(n)等参数与此类似,后续不再做赘述。
需说明的是,其中,步骤B1和B2的执行可以不分先后。
(3)分别采用高通滤波器对第一处理后数据和第二处理后数据进行滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据。例如,具体可以如下:
C1、采用高通滤波器对第一处理后数据进行滤波,得到第一滤波后数据。
例如,具体可以直接采用一阶高通滤波器,比如采用一个6dB/倍频的一阶高通滤波器对第一处理后数据进行滤波,得到第一滤波后数据。
此外,由于语音信号(比如第一处理后数据)的平均功率谱受声门激励和口鼻辐射的影响,语音信号从嘴唇辐射后,高频端大约在800Hz以上有6dB/倍频的衰减,因此,可选的,在对语音信号进行滤波之前,还可以对语音信号加以提升,其中,该提升处理即称为“预加重”。预加重的目的是为了提升高频部分,弱化低频,使信号频谱变得平坦,以便后续进行频谱分析和声道参数的分析。也就是说,步骤“采用高通滤波器对第一处理后数据进行滤波,得到第一滤波后数据”具体可以如下:
对第一处理后数据进行预加重,采用高通滤波器对预加重后的第一处理后数据进行滤波,得到第一滤波后数据。
例如,具体可以采用一阶高通滤波器,比如采用一个6dB/倍频的一阶高通滤波器对第一处理后数据进行预加重,并采用该一阶高通滤波器对预加重后的第一处理后数据进行滤波,得到第一滤波后数据,用公式表示即为:
y(n)=1.0*x(n)-u*x(n-1)
其中,在该步骤中,y(n)为第一滤波后数据,x(n)为第一处理后数据,u为预加重系数。u的取值可以根据实际应用的需求而定,u的取值范围为[0.9,1.0],比如,具体可以为0.9375,等等。
C2、采用高通滤波器对第二处理后数据进行滤波,得到第二滤波后数据。
例如,具体可以直接采用一阶高通滤波器,比如采用一个6dB/倍频的一阶高通滤波器对第二处理后数据进行滤波,得到第二滤波后数据。
可选的,为了提升高频部分,弱化低频,使信号频谱变得平坦,以便后续进行频谱分析和声道参数的分析,还可以对第二处理后数据进行预加重;即步骤“采用高通滤波器对第二处理后数据进行滤波,得到第二滤波后数据”可以包括:
对第二处理后数据进行预加重,采用高通滤波器对预加重后的第二处理后数据进行滤波,得到第二滤波后数据。
例如,具体可以采用一阶高通滤波器,比如采用一个6dB/倍频的一阶高通滤波器对第二处理后数据进行预加重,并采用该一阶高通滤波器对预加重后的第二处理后数据进行滤波,得到第二滤波后数据,用公式表示即为:
y(n)=1.0*x(n)-u*x(n-1)
其中,在该步骤中,y(n)为第二滤波后数据,x(n)为第二处理后数据,u为预加重系数。u的取值可以根据实际应用的需求而定,u的取值范围为[0.9,1.0],比如,具体可以为0.9375,等等。
需说明的是,其中,步骤C1和C2的执行可以不分先后。
103、分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、以及第二滤波后数据对应的第二分布信息;例如,具体可以如下:
(1)确定第一滤波后数据的短时能量分布,得到第一分布信息。
可选的,由于第一滤波后数据很长,较难一次性处理完,所以,可以将第一滤波后数据进行分段处理。比如,具体可以对第一滤波后数据进行分段,分别确定每一分段的数据的短时能量分布,统计所有分段的数据的短时能量分布,得到第一分布信息,等等。
可选的,鉴于分段后的数据没有明显的周期性,不方便做后续求卷积,所以,在分段时,可以采用哈明(hamming)窗来进行分段,这样,分段得到的数据便有了明显的周期性,其中,一个窗内数据就代表一个周期。即步骤“确定第一滤波后数据的短时能量分布,得到第一分布信息”具体可以如下:
获取汉明窗函数,对第一滤波后数据进行点乘运算,将运算得到的结果与该汉明窗函数进行卷积,得到第一分布信息。
其中,对于某一音频数据y(n)(比如第一滤波数据)的第n帧信号yn(m)而言,其满足如下公式的关系:
yn(m)=w(n-m)y(m)
其中,0≤m≤N-1
其中,n=0,1T,2T,……,并且,N为帧长,T为帧移长度。
若第n帧信号yn(m)的短时能量用于en表示,则yn(m)的短时能量用公式表示即为:
因此,该音频数据y(n)(比如第一滤波数据)的短时能量En为:
其中,h(n-m)即为汉明窗函数(简称汉明窗)。
需说明的是,加上汉明窗之后,窗内中间的数据会体现出来,两侧的数据会丢失,所以,在做卷积时,可以每次只移动1/3或1/2个窗,这样,被前一帧或前两帧丢失的数据又可以重新在窗内得到体现,从而可以达到避免数据丢失的目的。
(2)确定第二滤波后数据的短时能量分布,得到第二分布信息。
与处理第一滤波后数据类似,鉴于第二滤波后数据很长,较难一次性处理完,因此,可以将第二滤波后数据进行分段处理。比如,具体可以对第二滤波后数据进行分段,分别确定每一分段的数据的短时能量分布,统计所有分段的数据的短时能量分布,得到第二分布信息,等等。
可选的,为了使得分段得到的数据有明显的周期性,便于做后续求卷积,可以采用哈明(hamming)窗来进行分段,其中,一个窗内数据就代表一个周期。即步骤“确定第二滤波后数据的短时能量分布,得到第二分布信息”具体可以如下:
获取汉明窗函数(该汉明窗函数与处理第一滤波后数据的汉明窗函数一致),对第二滤波后数据进行点乘运算,将运算得到的结果与该汉明窗函数进行卷积,得到第二分布信息。用公式表示即为:
其中,y(n)为第二滤波后数据,h(n-m)即为汉明窗函数(简称汉明窗),该公式的具体分析过程可参见步骤102,在此不再赘述。
需说明的是,与处理第一滤波后数据类似,加上汉明窗之后,为了避免数据丢失,在做卷积时,可以每次只移动1/3或1/2个窗,使得被前一帧或前两帧丢失的数据又可以重新在窗内得到体现。
还需说明的是,在步骤103中,步骤(1)和(2)的执行可以不分先后。
104、基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度。
由于第一分布信息和第二分布信息均为数据矩阵,因此,具体可以通过计算两个数据矩阵之间的余弦相似度来得到第一音频数据和第二音频数据的相似度,所谓余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度的一种计算方法。即步骤“基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度”可以包括:
计算该第一分布信息和第二分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
需说明的是,由于第一音频数据和第二音频数据的长度可能不一致,因此,为了便于后续计算第一分布信息和第二分布信息的余弦相似度,可以第一音频数据和第二音频数据二者中较短的一方的末尾加0,以保持第一音频数据和第二音频数据的采样点的数量的一致。
其中,余弦相似度公式如下:
A为第一音频数据的短时能量分布的向量,即第一分布信息的向量;B为第二音频数据的短时能量分布的向量,即第二分布信息的向量,而Similarity则为第一音频数据和第二音频数据的相似度,在本发明实施例中主要为这两段音频数据在语调语气上的相似度(忽略了音色的干扰)。
可选的,由于大部分录音在开头和/或末尾一般会有很长一段的静音片段,这一静音片段对于计算相似度来说意义不大,因此,为了减少运算量,提高运算效率,可以在计算之前,将这一静音片段去除;即可选的,在步骤“计算该第一分布信息和第二分布信息的余弦相似度”之前,该音频相似度的确定方法还可以包括:
去除第一分布信息的首尾静音片段,得到第一有效分布信息;以及去除第二分布信息的首尾静音片段,得到第二有效分布信息。
则此时,该步骤“计算该第一分布信息和第二分布信息的余弦相似度”,具体可以为:计算该第一有效分布信息和第二有效分布信息的余弦相似度。
其中,该首尾静音片段为音频数据首部和尾部中能量值低于预设阈值的采样点,该预设阈值可以根据实际应用的需求进行设置,比如,可以设置能量值低于0.025的采样点为静音,然后,通过该阈值对音频首尾进行扫描,以去除首尾静音片段,得到有效的短时能量分布,等等,在此不再赘述。
由上可知,本实施例可以分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,然后分别确定其短时能量分布,并基于得到的短时能量分布情况计算第一音频数据和第二音频数据的相似度;由于各种音频数据,比如歌曲或语音信号等的短时能量随着时间变化会比较明显,而短时能量可以有效地反映出信号幅度的大小、以及有声/无声等,因此,即便该音频数据为语音信号,通过该方案也可以有效地计算出两段音频数据的相似度,所以,相对于现有方案而言,该方案既可以有效地且准确地计算出相似度,而且,也可以适用于多数应用场景,大大提高了方案的适用性。
实施例二、
根据前面实施例所实施例的方法,以下将举例作进一步详细说明。
在本实施例中,将以该音频相似度的确定装置具体集成在服务器中,其第一音频文件为原始音频文件(即原始配音文件),第二音频文件为用户音频文件为例进行说明。
如图2a所示,一种音频相似度的确定方法,具体流程可以如下:
201、服务器获取原始音频文件,从原始音频文件中提取第一音频数据,以及获取用户音频文件,从该用户音频文件中提取第二音频数据。
例如,服务器在获取到原始音频文件后,可以按照预设转码策略对原始音频文件进行转码处理,比如将该原始音频文件转换为wav无压缩的格式,并按照预设参数设置规则对转码后的原始音频文件中的预设参数进行设置,比如将原始音频文件的采样频率设置为44100、码率设置为96k、以及将声道设置为单声道,等等,然后,从设置参数后的原始音频文件中提取第一音频数据。
同理,服务器在获取到用户音频文件后,也可以按照预设转码策略对用户音频文件进行转码处理,比如将该用户音频文件转换为wav无压缩的格式,并按照预设参数设置规则对转码后的用户音频文件中的预设参数进行设置,比如将用户音频文件的采样频率设置为44100、码率设置为96k、以及将声道设置为单声道,等等,然后,从设置参数后的用户音频文件中提取第二音频数据。
其中,预设转码策略和预设参数设置规则可以根据实际应用的需求进行设置,在此不再赘述。例如,其中,转码指令具体可以如下:
./ffmpeg–y–i local_file–ar 44100–ac 1–acodec pcm_s16le wav_file |
其中,该原始音频文件和用户音频文件的获取可以根据实际应用场景的需求而定,比如,以该原始音频文件具体为某游戏K中A角色的原始配音为例,则此时,具体可以从本地存储或其他存储设备中获取该A角色的原始配音,得到原始音频文件;而该用户音频文件则可以通过接收用户录制的语音来得到。比如,参见图2b,用户可以通过点击界面中的“点击录音”,并按照界面中的台词提示“剧本开始了,猎杀时刻开始了啦啦啦”进行录音,服务器在接收到该用户录音后,将该用户录音保存为用户音频文件。
可选的,为了便于用户可以更好地进行配音,在该界面中还可以提供“原始音频文件”的收听接口,比如参见图2b中的“听原音”触发键,用户可以通过点击或滑动该触发键来收听该角色A的原配音文件,在此不再赘述。
202、服务器对第一音频数据进行归一化处理,得到第一处理后数据,然后执行步骤203。
例如,具体可以如下:
(1)服务器对第一音频数据进行采样,得到第一采样点集合。
其中,采样的方式可以根据实际应用的需求而定,比如,可以以每16位读取一次带符号数作为一次采样点来进行采样,并将得到的采样点添加至同一集合中,得到第一采样点集合。
其中,图2c为对某一音频数据,以每16位读取一次带符号数作为一次采样点来进行采样而得到的采样结果的示意图。
(2)服务器对第一采样点集合中所有采样点进行归一化处理,得到第一处理后数据。
例如,具体可以计算该第一采样点集合中所有采样点的绝对值最大值(也称为最大数值,即max-value),然后,根据该绝对值最大值将第一采样点集合中所有采样点的幅值调整到预设区间之间,得到第一处理后数据。
其中,该预设区间可以根据实际应用的需求进行设置,比如,以该预设区间具体为[-1,1]为例,则具体可以采用下列公式对第一采样点集合中所有采样点进行归一化处理,如下:
其中,xt(i)为第i个采样点原始数据归一化后的幅值,其幅值的取值范围可以为[-1,1],而x(i)则是第i个采样点原始数据的幅值,该幅值的取值范围一般可以为[-32768,32767]。
根据上述归一化处理公式对第一采样点集合中所有采样点的幅值进行调整后,便可以得到第一处理后数据x(n),比如,参见图2d,该图为对图2b中的采样点进行归一化处理后所得到的结果的示意图。
203、服务器采用高通滤波器对第一处理后数据进行滤波,得到第一滤波后数据,然后执行步骤204。
由于语音信号(比如第一处理后数据)的平均功率谱受声门激励和口鼻辐射的影响,语音信号从嘴唇辐射后,高频端大约在800Hz以上有6dB/倍频的衰减,因此,可以采用一个一阶高通滤波器(如6dB/倍频的一阶高通滤波器)对第一处理后数据进行预加重(可以弱化低频,使信号频谱变得平坦,以便后续进行频谱分析和声道参数的分析)后,采用该高通滤波器,比如采用6dB/倍频的一阶高通滤波器对预加重后的第一处理后数据进行滤波,得到第一滤波后数据。用公式表示即为:
y(n)=1.0*x(n)-u*x(n-1)
其中,在该步骤中,y(n)为第一滤波后数据,x(n)为第一处理后数据,u为预加重系数。u的取值可以根据实际应用的需求而定,u的取值范围为[0.9,1.0],比如,具体可以为0.9375,等等。
例如,参见图2e,该图为对图2c中的归一化结果进行滤波后的效果示意图(即滤波结果)。
204、服务器确定第一滤波后数据的短时能量分布,得到第一分布信息。
可选的,由于第一滤波后数据很长,较难一次性处理完,所以,可以将第一滤波后数据进行分段处理。比如,服务器具体可以对第一滤波后数据进行分段,然后,分别确定每一分段的数据的短时能量分布,并统计所有分段的数据的短时能量分布,得到第一分布信息,等等。
可选的,鉴于分段后的数据没有明显的周期性,不方便做后续求卷积,所以,在分段时,可以采用哈明(hamming)窗来进行分段,这样,分段得到的数据便有了明显的周期性,其中,一个窗内数据就代表一个周期。即步骤“服务器确定第一滤波后数据的短时能量分布,得到第一分布信息”具体可以如下:
服务器获取汉明窗函数,对第一滤波后数据进行点乘运算,将运算得到的结果与该汉明窗函数进行卷积,得到第一分布信息,用公式表示即为:
其中,h(n-m)即为汉明窗函数,yn(m)为某一音频数据y(n)(比如第一滤波数据)的第n帧信号,yn(m)满足如下公式的关系:
yn(m)=w(n-m)ym
其中,0≤m≤N-1
其中,n=0,1T,2T,……,并且,N为帧长,T为帧移长度。
该短时能量分布公式的具体推导过程可参见前面的实施例,在此不再赘述。
其中,汉明窗函数具体可以根据实际应用的需求而定,比如,可以采用如下汉明窗函数:
其中,h(n,a)为汉明窗在第n帧上采用汉明窗参数a后的值,在本发明实施例中称为汉明窗函数,PI为圆周率,M为窗体大小,a为常量,其取值可以根据实际应用的需求而定,比如,a可以取值为0.46,等等。
当a=0.46时,其汉明窗的效果可以如图2f所示,此外,采用该汉明窗对图2e中的滤波后数据进行计算后,得到的关于该滤波后数据的短时能量的分布可以如图2g所示(若该滤波后数据为第一滤波后数据,则图2g所示为第一分布信息,若该滤波后数据为第二滤波后数据,则图2g所示为第二分布信息)。
需说明的是,加上汉明窗之后,窗内中间的数据会体现出来,两侧的数据会丢失,所以,在做卷积时,可以每次只移动1/3或1/2个窗,这样,被前一帧或前两帧丢失的数据又可以重新在窗内得到体现,从而可以达到避免数据丢失的目的。
此外,还需说明的是,在得到原始音频文件对应的第一分布信息,可以保存该第一分布信息,这样,若后续需要计算其他用户音频文件与该原始音频文件的相似度时,便可以直接调用该第一分布信息,而无需再进行计算,可以减少计算资源的占用,提高计算效率。
205、服务器对第二音频数据进行归一化处理,得到第二处理后数据,然后执行步骤206。
例如,具体可以如下:
(1)服务器对第二音频数据进行采样,得到第二采样点集合。
与第一音频数据的采样类似,对第二音频数据进行采样的方式也可以有多种,比如,可以以每16位读取一次带符号数作为一次采样点来进行采样,并将得到的采样点添加至同一集合中,得到第二采样点集合,具体可参见图2c以及步骤202,在此不再赘述。
(2)对第二采样点集合中所有采样点进行归一化处理,得到第二处理后数据。
例如,具体可以计算该第二采样点集合中所有采样点的绝对值最大值(也称为最大数值,即max-value),然后,根据该绝对值最大值将第二采样点集合中所有采样点的幅值调整到预设区间之间,得到第二处理后数据。
其中,该预设区间可以根据实际应用的需求进行设置,比如,以该预设区间具体为[-1,1]为例,则具体可以采用下列公式对第二采样点集合中所有采样点进行归一化处理,如下:
其中,xt(i)为第i个采样点原始数据归一化后的幅值,其幅值的取值范围可以为[-1,1],而x(i)则是第i个采样点原始数据的幅值,该幅值的取值范围一般可以为[-32768,32767]。
根据上述归一化处理公式对第二采样点集合中所有采样点的幅值进行调整后,便可以得到第二处理后数据,具体可参见图2d和步骤202,在此不再赘述。
需说明的是,由于此处所采用的归一化处理公式与步骤202中的相同,因此,在本步骤中,也用x(n)来表示第二处理后数据。
206、服务器采用高通滤波器对第二处理后数据进行滤波,得到第二滤波后数据。
例如,该滤波方式与对第一处理后数据进行滤波类似(参见步骤203),即具体可以直接采用一阶高通滤波器,比如采用一个6dB/倍频的一阶高通滤波器对第一处理后数据进行滤波,得到第二滤波后数据。
由于语音信号(比如第二处理后数据)的平均功率谱受声门激励和口鼻辐射的影响,语音信号从嘴唇辐射后,高频端大约在800Hz以上有6dB/倍频的衰减,因此,可以采用一个一阶高通滤波器(如6dB/倍频的一阶高通滤波器)对第二处理后数据进行预加重(可以弱化低频,使信号频谱变得平坦,以便后续进行频谱分析和声道参数的分析)后,采用该高通滤波器,比如采用6dB/倍频的一阶高通滤波器对预加重后的第二处理后数据进行滤波,得到第二滤波后数据。用公式表示即为:
y(n)=1.0*x(n)-u*x(n-1)
其中,在该步骤中,y(n)为第二滤波后数据,x(n)为第二处理后数据,u为预加重系数。u的取值可以根据实际应用的需求而定,u的取值范围为[0.9,1.0],比如,具体可以为0.9375,等等,具体可参见图2e,在此不再赘述。
其中,步骤202和205的执行可以不分先后。
207、服务器确定第二滤波后数据的短时能量分布,得到第二分布信息。
与处理第一滤波后数据类似,鉴于第二滤波后数据很长,较难一次性处理完,因此,可以将第二滤波后数据进行分段处理。比如,具体可以对第二滤波后数据进行分段,分别确定每一分段的数据的短时能量分布,统计所有分段的数据的短时能量分布,得到第二分布信息,等等。
可选的,为了使得分段得到的数据有明显的周期性,便于做后续求卷积,可以采用哈明(hamming)窗来进行分段,其中,一个窗内数据就代表一个周期。即步骤“服务器确定第二滤波后数据的短时能量分布,得到第二分布信息”具体可以如下:
服务器获取汉明窗函数,对第二滤波后数据进行点乘运算,将运算得到的结果与该汉明窗函数进行卷积,得到第二分布信息。用公式表示即为:
其中,y(n)为第二滤波后数据,h(n-m)即为汉明窗函数(简称汉明窗),该公式的具体分析过程可参见步骤204,在此不再赘述。
需说明的是,与处理第一滤波后数据类似,加上汉明窗之后,为了避免数据丢失,在做卷积时,可以每次只移动1/3或1/2个窗,使得被前一帧或前两帧丢失的数据又可以重新在窗内得到体现。
208、服务器去除第一分布信息的首尾静音片段,得到第一有效分布信息;以及去除第二分布信息的首尾静音片段,得到第二有效分布信息。
其中,该首尾静音片段为音频数据首部和尾部中能量值低于预设阈值的采样点,该预设阈值可以根据实际应用的需求进行设置,比如,可以设置能量值低于0.025的采样点为静音,然后,通过该阈值对音频首尾进行扫描,以去除首尾静音片段,得到有效的短时能量分布,等等,比如,参见图2h,图中矩形线框内所标注的部分即为静音片段,可以去除。去除了第一分布信息的首尾静音片段,便可得到第一有效分布信息,比如,如图2I所示;同理,去除了第二分布信息的首尾静音片段,便可得到第二有效分布信息,比如,如图2J所示。
209、服务器计算该第一有效分布信息和第二有效分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
需说明的是,由于第一音频数据和第二音频数据的长度可能不一致,因此,为了便于后续计算第一分布信息和第二分布信息的余弦相似度,可以第一音频数据和第二音频数据二者中较短的一方的末尾加0,以保持第一音频数据和第二音频数据的采样点的数量的一致。
其中,余弦相似度公式如下:
其中,A为第一音频数据的短时能量分布的向量,即第一分布信息的向量;B为第二音频数据的短时能量分布的向量,即第二分布信息的向量,而Similarity则为第一音频数据和第二音频数据的相似度,在本发明实施例中主要为这两段音频数据在语调语气上的相似度(忽略了音色的干扰)。
可选的,在得到第一音频数据和第二音频数据的相似度之后,还可以根据实际应用的需求作进一步处理,比如,基于该相似度对第二音频文件(即用户音频文件)进行评分,比如,还是以步骤201中的游戏配音为例,参见图2k,当用户触发“点击录音”,并完成录音后,终端可以在后台对该“录音”(即用户音频文件)与原始音频文件的相似度进行计算,在计算过程中,可以在终端界面上显示相应的计算进度(比如62%),以及提示信息,比如“紧张计算中……”,等等,以提醒用户进行等待;在得到用户音频文件和原始音频文件的相似度后,可以在终端界面上对该相似度进行显示,可选的,还可以基于该相似度计算出相应的评分,具体评分标准可以根据实际应用场景而定,在此不再赘述。
由上可知,本实施例可以分别从原始音频文件和用户音频文件中提取出第一音频数据和第二音频数据,然后,分别对这两个音频数据进行归一化处理和高通滤波,然后分别确定其短时能量分布,并基于得到的短时能量分布情况计算第一音频数据和第二音频数据的相似度;由于各种音频数据,比如歌曲或语音信号等的短时能量随着时间变化会比较明显,而短时能量可以有效地反映出信号幅度的大小、以及有声/无声等,因此,即便该音频数据为语音信号,通过该方案也可以有效地计算出两段音频数据的相似度,所以,相对于现有方案而言,该方案既可以有效地且准确地计算出相似度,而且,也可以适用于多数应用场景,大大提高了方案的适用性。
实施例三、
为了更好地实施以上方法,本发明实施例还提供一种音频相似度的确定装置,该音频相似度的确定装置具体可以集成在服务器等设备中。
例如,如图3a所示,该音频相似度的确定装置可以包括获取单元301、第一处理单元302、第二处理单元303、以及计算单元304,如下:
(1)获取单元301;
获取单元301,用于获取第一音频数据和第二音频数据。
例如,获取单元301,具体可以用于获取第一音频文件,从该第一音频文件中提取该第一音频数据,以及获取第二音频文件,从该第二音频文件中提取第二音频数据,等等。
可选的,为了降低干扰,减少由于干扰所导致的音频文件间的差异,提高计算的准确性,在提取音频数据时,可以对音频文件进行转码处理,并对参数的格式进行统一,即:
获取单元301,具体可以用于获取第一音频文件,按照预设转码策略对第一音频文件进行转码处理,并按照预设参数设置规则对转码后的第一音频文件中的预设参数进行设置,从设置后的第一音频文件中提取第一音频数据。
以及,获取单元301,具体可以用于获取第二音频文件,按照预设转码策略对第二音频文件进行转码处理,并按照预设参数设置规则对转码后的第二音频文件中的预设参数进行设置,从设置后的第二音频文件中提取第二音频数据。
其中,预设转码策略和预设参数设置规则可以根据实际应用的需求进行设置,比如,具体可以将音频文件转换为wav无压缩的格式,将参数设置为:采样频率44100、码率96k、以及单声道,等等。
(2)滤波单元302;
滤波单元302,用于分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据。
例如,该滤波单元302可以包括采样子单元、归一化子单元和滤波子单元,具体可以如下:
采样子单元,可以用于分别对第一音频数据和第二音频数据进行采样,得到第一音频数据对应的第一采样点集合、以及第二音频数据对应的第二采样点集合。
例如,该采样子单元,具体可以用于对第一音频数据进行采样,得到第一采样点集合,以及对第二音频数据进行采样,得到第二采样点集合。
其中,采样的方式可以根据实际应用的需求而定,比如,可以以每16位读取一次带符号数作为一次采样点来对第一音频数据进行采样,并将得到的采样点添加至同一集合中,得到第一采样点集合;同理,可以以每16位读取一次带符号数作为一次采样点来对第二音频数据进行采样,并将得到的采样点添加至同一集合中,得到第二采样点集合,等等。需说明的是,其中,对第一音频数据和第二音频数据的采样方式应保持一致。
归一化子单元,可以用于分别对第一采样点集合中所有采样点和第二采样点集合中所有采样点进行归一化处理,得到第一采样点集合对应的第一处理后数据、以及第二采样点集合对应的第二处理后数据。
例如,归一化子单元,具体可以用于计算该第一采样点集合中所有采样点的绝对值最大值(max-value),根据该绝对值最大值将第一采样点集合中所有采样点的幅值调整到预设区间之间,得到第一处理后数据;以及计算该第二采样点集合中所有采样点的绝对值最大值(max-value),根据该绝对值最大值将第二采样点集合中所有采样点的幅值调整到预设区间之间,得到第二处理后数据。
其中,该预设区间可以根据实际应用的需求进行设置,比如,该预设区间具体可以设置为[-1,1],详见前面的方法实施例,在此不再赘述。
滤波子单元,可以用于分别采用高通滤波器对第一处理后数据和第二处理后数据进行滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据。
例如,滤波子单元,具体可以用于对第一处理后数据进行预加重,采用高通滤波器对预加重后的第一处理后数据进行滤波,得到第一滤波后数据;以及对第二处理后数据进行预加重,采用高通滤波器对预加重后的第二处理后数据进行滤波,得到第二音频数据对应的第二滤波后数据,等等。
(3)确定单元303;
确定单元303,用于分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、以及第二滤波后数据对应的第二分布信息。
例如,确定单元,具体可以用于获取汉明窗函数;对第一滤波后数据进行点乘运算,将运算得到的结果(即对第一滤波后数据进行点乘运算得到的结果)与所述汉明窗函数进行卷积,得到第二滤波后数据对应的第一分布信息;以及对第二滤波后数据进行点乘运算,将运算得到的结果(即对第二滤波后数据进行点乘运算得到的结果)与所述汉明窗函数进行卷积,得到第二滤波后数据对应的第二分布信息。
需说明的是,加上汉明窗之后,为了避免数据丢失,在做卷积时,可以每次只移动1/3或1/2个窗,使得被前一帧或前两帧丢失的数据又可以重新在窗内得到体现。
(4)计算单元304;
计算单元304,用于基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度。
由于第一分布信息和第二分布信息均为数据矩阵,因此,具体可以通过计算两个数据矩阵之间的余弦相似度来得到第一音频数据和第二音频数据的相似度,即:
该计算单元304,具体可以用于计算该第一分布信息和第二分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
需说明的是,由于第一音频数据和第二音频数据的长度可能不一致,因此,为了便于后续计算第一分布信息和第二分布信息的余弦相似度,可以第一音频数据和第二音频数据二者中较短的一方的末尾加0,以保持第一音频数据和第二音频数据的采样点的数量的一致。
可选的,由于大部分录音在开头和/或末尾一般会有很长一段的静音片段,这一静音片段对于计算相似度来说意义不大,因此,为了减少运算量,提高运算效率,可以在计算之前,将这一静音片段去除;即可选的,如图3b所示,该音频相似度的确定装置还可以包括截取单元305,如下:
该截取单元305,用于去除第一分布信息的首尾静音片段,得到第一有效分布信息,以及去除第二分布信息的首尾静音片段,得到第二有效分布信息。
则此时,计算单元304,具体可以用于计算该第一有效分布信息和第二有效分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
其中,该首尾静音片段为音频数据首部和尾部中能量值低于预设阈值的采样点,该预设阈值可以根据实际应用的需求进行设置,比如,可以设置能量值低于0.025的采样点为静音,然后,通过该阈值对音频首尾进行扫描,以去除首尾静音片段,得到有效的短时能量分布,等等,在此不再赘述。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,详见前面的方法实施例,在此不再赘述。
由上可知,本实施例的音频相似度的确定装置可以由滤波单元302分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,然后由确定单元303分别确定其短时能量分布,并由计算单元304基于得到的短时能量分布情况计算第一音频数据和第二音频数据的相似度;由于各种音频数据,比如歌曲或语音信号等的短时能量随着时间变化会比较明显,而短时能量可以有效地反映出信号幅度的大小、以及有声/无声等,因此,即便该音频数据为语音信号,通过该方案也可以有效地计算出两段音频数据的相似度,所以,相对于现有方案而言,该方案既可以有效地且准确地计算出相似度,而且,也可以适用于多数应用场景,大大提高了方案的适用性。
实施例四、
本发明实施例还提供一种服务器,如图4所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取第一音频数据和第二音频数据;分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、和第二音频数据对应的第二滤波后数据,以及分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、和第二滤波后数据对应的第二分布信息,基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度。
例如,具体可以分别对第一音频数据和第二音频数据进行采样,得到第一音频数据对应的第一采样点集合、以及第二音频数据对应的第二采样点集合,然后,分别对第一采样点集合中所有采样点和第二采样点集合中所有采样点进行归一化处理,得到第一采样点集合对应的第一处理后数据、以及第二采样点集合对应的第二处理后数据,并分别采用高通滤波器对第一处理后数据和第二处理后数据进行滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据,再然后,获取汉明窗函数,对第一滤波后数据进行点乘运算,将运算得到的结果与该汉明窗函数进行卷积,得到第一分布信息,以及,对第二滤波后数据进行点乘运算,将运算得到的结果与该汉明窗函数进行卷积,得到第二分布信息。
可选的,由于大部分录音在开头和/或末尾一般会有很长一段的静音片段,这一静音片段对于计算相似度来说意义不大,因此,为了减少运算量,提高运算效率,可以在计算之前,将这一静音片段去除;即处理器401还可以运行存储在存储器402中的应用程序,从而实现各种功能:
去除第一分布信息的首尾静音片段,得到第一有效分布信息;以及去除第二分布信息的首尾静音片段,得到第二有效分布信息,计算该第一有效分布信息和第二有效分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
其中,该首尾静音片段为音频数据首部和尾部中能量值低于预设阈值的采样点,该预设阈值可以根据实际应用的需求进行设置,比如,可以设置能量值低于0.025的采样点为静音,然后,通过该阈值对音频首尾进行扫描,以去除首尾静音片段,得到有效的短时能量分布,等等,在此不再赘述。
以上各个操作的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的服务器可以分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,然后分别确定其短时能量分布,并基于得到的短时能量分布情况计算第一音频数据和第二音频数据的相似度;由于各种音频数据,比如歌曲或语音信号等的短时能量随着时间变化会比较明显,而短时能量可以有效地反映出信号幅度的大小、以及有声/无声等,因此,即便该音频数据为语音信号,通过该方案也可以有效地计算出两段音频数据的相似度,所以,相对于现有方案而言,该方案既可以有效地且准确地计算出相似度,而且,也可以适用于多数应用场景,大大提高了方案的适用性。
实施例五、
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种音频相似度的确定方法中的步骤。例如,该指令可以执行如下步骤:
获取第一音频数据和第二音频数据;分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、和第二音频数据对应的第二滤波后数据,以及分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、和第二滤波后数据对应的第二分布信息;基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度。
例如,具体可以分别对第一音频数据和第二音频数据进行采样,得到第一音频数据对应的第一采样点集合、以及第二音频数据对应的第二采样点集合,然后,分别对第一采样点集合中所有采样点和第二采样点集合中所有采样点进行归一化处理,得到第一采样点集合对应的第一处理后数据、以及第二采样点集合对应的第二处理后数据,并分别采用高通滤波器对第一处理后数据和第二处理后数据进行滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据,再然后,获取汉明窗函数,对第一滤波后数据进行点乘运算,将运算得到的结果与该汉明窗函数进行卷积,得到第一分布信息,以及,对第二滤波后数据进行点乘运算,将运算得到的结果与该汉明窗函数进行卷积,得到第二分布信息。
可选的,由于大部分录音在开头和/或末尾一般会有很长一段的静音片段,这一静音片段对于计算相似度来说意义不大,因此,为了减少运算量,提高运算效率,可以在计算之前,将这一静音片段去除;即该指令还可以执行如下步骤:
去除第一分布信息的首尾静音片段,得到第一有效分布信息;以及去除第二分布信息的首尾静音片段,得到第二有效分布信息,计算该第一有效分布信息和第二有效分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
其中,该首尾静音片段为音频数据首部和尾部中能量值低于预设阈值的采样点,该预设阈值可以根据实际应用的需求进行设置,比如,可以设置能量值低于0.025的采样点为静音,然后,通过该阈值对音频首尾进行扫描,以去除首尾静音片段,得到有效的短时能量分布,等等,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种音频相似度的确定方法中的步骤,因此,可以实现本发明实施例所提供的任一种音频相似度的确定方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种音频相似度的确定方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种音频相似度的确定方法,其特征在于,包括:
获取第一音频数据和第二音频数据;
分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据;
分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、以及第二滤波后数据对应的第二分布信息;
基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度。
2.根据权利要求1所述的方法,其特征在于,所述分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据,包括:
分别对第一音频数据和第二音频数据进行采样,得到第一音频数据对应的第一采样点集合、以及第二音频数据对应的第二采样点集合;
分别对第一采样点集合中所有采样点和第二采样点集合中所有采样点进行归一化处理,得到第一采样点集合对应的第一处理后数据、以及第二采样点集合对应的第二处理后数据;
分别采用高通滤波器对第一处理后数据和第二处理后数据进行滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据。
3.根据权利要求2所述的方法,其特征在于,所述分别对第一采样点集合中所有采样点和第二采样点集合中所有采样点进行归一化处理,得到第一采样点集合对应的第一处理后数据、以及第二采样点集合对应的第二处理后数据,包括:
计算所述第一采样点集合中所有采样点的绝对值最大值,根据所述绝对值最大值将第一采样点集合中所有采样点的幅值调整到预设区间之间,得到第一采样点集合对应的第一处理后数据;
计算所述第二采样点集合中所有采样点的绝对值最大值,根据所述绝对值最大值将第二采样点集合中所有采样点的幅值调整到预设区间之间,得到第二采样点集合对应的第二处理后数据。
4.根据权利要求2所述的方法,其特征在于,所述分别采用高通滤波器对第一处理后数据和第二处理后数据进行滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据,包括:
对第一处理后数据进行预加重,采用高通滤波器对预加重后的第一处理后数据进行滤波,得到第一音频数据对应的第一滤波后数据;
对第二处理后数据进行预加重,采用高通滤波器对预加重后的第二处理后数据进行滤波,得到第二音频数据对应的第二滤波后数据。
5.根据权利要求1所述的方法,其特征在于,所述分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、以及第二滤波后数据对应的第二分布信息,包括:
获取汉明窗函数;
对第一滤波后数据进行点乘运算,将运算得到的结果与所述汉明窗函数进行卷积,得到第二滤波后数据对应的第一分布信息;
对第二滤波后数据进行点乘运算,将运算得到的结果与所述汉明窗函数进行卷积,得到第二滤波后数据对应的第二分布信息。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度,包括:
计算所述第一分布信息和第二分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
7.根据权利要求6所述的方法,其特征在于,所述计算所述第一分布信息和第二分布信息的余弦相似度之前,还包括:
去除第一分布信息的首尾静音片段,得到第一有效分布信息,所述首尾静音片段为音频数据首部和尾部中能量值低于预设阈值的采样点;
去除第二分布信息的首尾静音片段,得到第二有效分布信息;
所述计算所述第一分布信息和第二分布信息的余弦相似度,具体为:计算所述第一有效分布信息和第二有效分布信息的余弦相似度。
8.一种音频相似度的确定装置,其特征在于,包括:
获取单元,用于获取第一音频数据和第二音频数据;
滤波单元,用于分别对第一音频数据和第二音频数据进行归一化处理和高通滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据;
确定单元,用于分别确定第一滤波后数据和第二滤波后数据的短时能量分布,得到第一滤波后数据对应的第一分布信息、以及第二滤波后数据对应的第二分布信息;
计算单元,用于基于第一分布信息和第二分布信息计算第一音频数据和第二音频数据的相似度。
9.根据权利要求8所述的装置,其特征在于,所述滤波单元包括采样子单元、归一化子单元和滤波子单元;
采样子单元,用于分别对第一音频数据和第二音频数据进行采样,得到第一音频数据对应的第一采样点集合、以及第二音频数据对应的第二采样点集合;
归一化子单元,用于分别对第一采样点集合中所有采样点和第二采样点集合中所有采样点进行归一化处理,得到第一采样点集合对应的第一处理后数据、以及第二采样点集合对应的第二处理后数据;
滤波子单元,用于分别采用高通滤波器对第一处理后数据和第二处理后数据进行滤波,得到第一音频数据对应的第一滤波后数据、以及第二音频数据对应的第二滤波后数据。
10.根据权利要求9所述的装置,其特征在于,所述归一化子单元,具体用于:
计算所述第一采样点集合中所有采样点的绝对值最大值,根据所述绝对值最大值将第一采样点集合中所有采样点的幅值调整到预设区间之间,得到第一采样点集合对应的第一处理后数据;
计算所述第二采样点集合中所有采样点的绝对值最大值,根据所述绝对值最大值将第二采样点集合中所有采样点的幅值调整到预设区间之间,得到第二采样点集合对应的第二处理后数据。
11.根据权利要求9所述的装置,其特征在于,所述滤波子单元,具体用于:
对第一处理后数据进行预加重,采用高通滤波器对预加重后的第一处理后数据进行滤波,得到第一音频数据对应的第一滤波后数据;
对第二处理后数据进行预加重,采用高通滤波器对预加重后的第二处理后数据进行滤波,得到第二音频数据对应的第二滤波后数据。
12.根据权利要求8所述的装置,其特征在于,
所述确定单元,具体用于获取汉明窗函数;对第一滤波后数据进行点乘运算,将运算得到的结果与所述汉明窗函数进行卷积,得到第二滤波后数据对应的第一分布信息;对第二滤波后数据进行点乘运算,将运算得到的结果与所述汉明窗函数进行卷积,得到第二滤波后数据对应的第二分布信息。
13.根据权利要求8至12任一项所述的装置,其特征在于,
所述计算单元,具体用于计算所述第一分布信息和第二分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
14.根据权利要求13所述的装置,其特征在于,还包括截取单元;
所述截取单元,用于去除第一分布信息的首尾静音片段,得到第一有效分布信息,以及去除第二分布信息的首尾静音片段,得到第二有效分布信息,所述首尾静音片段为音频数据首部和尾部中能量值低于预设阈值的采样点;
所述计算单元,具体用于计算所述第一有效分布信息和第二有效分布信息的余弦相似度,得到第一音频数据和第二音频数据的相似度。
15.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的音频相似度的确定方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711204365.6A CN108021635A (zh) | 2017-11-27 | 2017-11-27 | 一种音频相似度的确定方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711204365.6A CN108021635A (zh) | 2017-11-27 | 2017-11-27 | 一种音频相似度的确定方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108021635A true CN108021635A (zh) | 2018-05-11 |
Family
ID=62077504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711204365.6A Pending CN108021635A (zh) | 2017-11-27 | 2017-11-27 | 一种音频相似度的确定方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108021635A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846106A (zh) * | 2018-06-21 | 2018-11-20 | 深圳大普微电子科技有限公司 | 一种判断多个音频中是否存在相同音频的方法和装置 |
CN109710798A (zh) * | 2018-12-28 | 2019-05-03 | 北京金山安全软件有限公司 | 曲目演奏考评方法和装置 |
CN110211610A (zh) * | 2019-06-20 | 2019-09-06 | 平安科技(深圳)有限公司 | 评估音频信号损失的方法、装置及存储介质 |
CN111359209A (zh) * | 2020-02-28 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置和终端 |
CN111863041A (zh) * | 2020-07-17 | 2020-10-30 | 东软集团股份有限公司 | 一种声音信号处理方法、装置及设备 |
CN112434263A (zh) * | 2020-10-15 | 2021-03-02 | 杭州安存网络科技有限公司 | 提取音频文件的相似片段的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177722A (zh) * | 2013-03-08 | 2013-06-26 | 北京理工大学 | 一种基于音色相似度的歌曲检索方法 |
CN103559232A (zh) * | 2013-10-24 | 2014-02-05 | 中南大学 | 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 |
CN103854646A (zh) * | 2014-03-27 | 2014-06-11 | 成都康赛信息技术有限公司 | 一种实现数字音频自动分类的方法 |
CN105810213A (zh) * | 2014-12-30 | 2016-07-27 | 浙江大华技术股份有限公司 | 一种典型异常声音检测方法及装置 |
-
2017
- 2017-11-27 CN CN201711204365.6A patent/CN108021635A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177722A (zh) * | 2013-03-08 | 2013-06-26 | 北京理工大学 | 一种基于音色相似度的歌曲检索方法 |
CN103559232A (zh) * | 2013-10-24 | 2014-02-05 | 中南大学 | 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法 |
CN103854646A (zh) * | 2014-03-27 | 2014-06-11 | 成都康赛信息技术有限公司 | 一种实现数字音频自动分类的方法 |
CN105810213A (zh) * | 2014-12-30 | 2016-07-27 | 浙江大华技术股份有限公司 | 一种典型异常声音检测方法及装置 |
Non-Patent Citations (2)
Title |
---|
易克初等: "《语音信号处理》", 30 June 2000, 国防工业出版社 * |
王超: "基于模糊综合评价的语音评测模型的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846106A (zh) * | 2018-06-21 | 2018-11-20 | 深圳大普微电子科技有限公司 | 一种判断多个音频中是否存在相同音频的方法和装置 |
CN109710798A (zh) * | 2018-12-28 | 2019-05-03 | 北京金山安全软件有限公司 | 曲目演奏考评方法和装置 |
CN110211610A (zh) * | 2019-06-20 | 2019-09-06 | 平安科技(深圳)有限公司 | 评估音频信号损失的方法、装置及存储介质 |
CN111359209A (zh) * | 2020-02-28 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置和终端 |
CN111863041A (zh) * | 2020-07-17 | 2020-10-30 | 东软集团股份有限公司 | 一种声音信号处理方法、装置及设备 |
CN112434263A (zh) * | 2020-10-15 | 2021-03-02 | 杭州安存网络科技有限公司 | 提取音频文件的相似片段的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108021635A (zh) | 一种音频相似度的确定方法、装置和存储介质 | |
CN107274906A (zh) | 语音信息处理方法、装置、终端及存储介质 | |
CN105741835B (zh) | 一种音频信息处理方法及终端 | |
CN110536215A (zh) | 音频信号处理的方法、装置、计算设置及存储介质 | |
CN104091603B (zh) | 基于基频的端点检测系统及其计算方法 | |
CN105810213A (zh) | 一种典型异常声音检测方法及装置 | |
US9424743B2 (en) | Real-time traffic detection | |
CN107274916A (zh) | 基于声纹信息对音频/视频文件进行操作的方法及装置 | |
CN110880329A (zh) | 一种音频识别方法及设备、存储介质 | |
CN107045867B (zh) | 自动作曲方法、装置和终端设备 | |
CN109256138A (zh) | 身份验证方法、终端设备及计算机可读存储介质 | |
CN111508524B (zh) | 语音来源设备的识别方法和系统 | |
CN107274911A (zh) | 一种基于声音特征的相似度分析方法 | |
CN106375780A (zh) | 一种多媒体文件生成方法及其设备 | |
CN113707173B (zh) | 基于音频切分的语音分离方法、装置、设备及存储介质 | |
CN106548786A (zh) | 一种音频数据的检测方法及系统 | |
CN109065043A (zh) | 一种命令词识别方法及计算机存储介质 | |
CN108764114B (zh) | 一种信号识别方法及其设备、存储介质、终端 | |
CN105845143A (zh) | 基于支持向量机的说话人确认方法及其系统 | |
CN115910097A (zh) | 一种高压断路器潜伏性故障可听声信号识别方法及系统 | |
CN110378190A (zh) | 基于主题识别的视频内容检测系统及检测方法 | |
CN114067829A (zh) | 一种电抗器故障诊断方法、装置、计算机设备及存储介质 | |
CN113539243A (zh) | 语音分类模型的训练方法、语音分类方法及相关装置 | |
CN111445924A (zh) | 基于自回归模型系数检测定位语音片段内平滑处理的方法 | |
CN108010533A (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 |