一种音频比对算法
来源:用户上传
作者:王小稳
摘 要:本文介绍了一种基于计算多个音频信号物理特征值相关系数的音频内容比对算法。利用两路音频的时域帧序列、短时过零率序列、谱质心序列和梅尔倒频系数序列,再将这四组参数进行相关性统计,计算出它们的相关性函数,获得最大相关性系数。从而判断两路音频是否内容一致的音频比对算法。是信号处理领域,更进一步涉及音频信号处理领域中的一种基于相似度的音频比对方法。
关键词:音频内容比对 音频比对算法 时域相关系数 过零率相关系数 梅尔倒频系数 谱质心相关系数
中图分类号:TN912.3 文献标识码:A 文章编号:1674-098X(2020)02(a)-0141-02
语言是我们人类的重要交流工具,自然高效、方便准确。对于语音信号处理的研究最早可以追溯到1876年贝尔发明电话。把模拟音频信号转换成电信号,再将电信号转换成模拟信号完成电话的功能。对音频的处理在我们身边无处不在。与我们的生活息息相关。近年来在工作中接触到对音频内容的判别,实时、准确的判断传输链路上的音频内容是否一致,都要靠人工去判别,当播出节目是非汉语节目时,判别起来也是件很困难的事情。为了使我们的工作更简便,有效地减少人为播出事故,更迅速的发现播出音频的异常。为此我们早在十几年前,就研究了几种公开发表的关于音频比对的文章、算法和专利,以便学习研究出一种新的拥有自主知识产权的音频内容比对算法。下面将介绍这种由我们自己研究的音频比对的方法。供大家一起研讨。
1 比对算法简介
本算法的功能是比对从不同设备或相同设备不同通道采集的两路音频信号,判断音频信号内容是否是相同。它是信号处理领域,更进一步涉及音频信号处理领域中的一种基于相似度的音频比对方法,是利用时频分析法计算语音信号物理特征值进行相关性统计的方法。
2 本算法的具体思路
获得两路需要比对的音频信号,对音频信号进行预处理,分别取长度为N的音频采样序列计算两路音频的相关性参数,并计算两路的延迟,然后通过延迟值将两路信号重新对齐,再重新计算两路音频的相关性参数。最后取分别长度为M的音频采样序列,计算相关性来得到两路音频信号的相似度。计算的音频物理特征值有它们的时域帧序列、短时过零率序列、谱质心和梅尔倒频系数序列。再将这四组参数进行相关性统计,计算出它们的相关性函数,获得最大相关性系数。从而判断两路音频是否内容一致。
3 具体步骤
3.1 音频信号预处理
读取两路音频信号数据重采样并取长度为 N的采样序列进行预加重,归一化音频序列;然后对音频信号进行音频帧划分,将其划分为M 个不同的帧。
3.2 提取音频帧的过零率
先计算提取音频帧的包络序列,然后提取音频帧包络序列的过零率。
3.3 提取音频帧的MFCC(梅尔倒频系数)系数
对每一个音频帧进行FFT变换,求得每帧信号的频率谱,根据频率谱求得每个音频帧的幅度谱;再根据音频的参数设计一组Mel滤波器;求得滤波器的输出,并将输出取对数;将上一步中的输出作离散余弦变换(DCT),从而求得MFCC(梅尔倒频系数)系数,最后组成MFCC(梅尔倒频系数)系数序列。
3.4 提取音频帧的谱质心
分别对M个音频帧进行傅里叶变换,将其转换到频域得到M个音频帧频谱;将每个音频帧频谱划分为L个子带,并分别计算频谱子带的质心;将频谱子带质心归一化,组成谱质心序列。
3.5 计算归一化谱质心序列的相关函数
分别对两个音频谱质心序列进行离散傅里叶变换得到序列XA和XB序列;取序列XA的共轭并与序列XB逐元素相乘得到序列XC;对序列XC进行逆离散傅里叶变换得到两路音频的相关函数序列;对相关函数序列重新进行排序,取出序列的后半部分与前半部分重新拼接成新的相关函数序列;对相关函数序列进行归一化处理,并求得最大的相关系数。
3.6 计算音频时域序列的相关函数
根据计算归一化谱质心序列的相关函数的方法求预处理后音频时域序列的相关函数;对相关函数序列进行归一化处理,并求得最大的相关系数。
3.7 计算过零率序列的相关函数
根据计算归一化谱质心序列的相关函数的方法求过零率序列的相关函数;对相关函数序列进行归一化处理,并求得最大的相关系数。
3.8 计算MFCC(梅尔倒频系数)系数序列的相关函数
根据计算归一化谱质心序列的相关函数的方法求MFCC(梅尔倒频系数)系数序列的相关函数;对相关函数序列进行归一化处理,并求的最大的相关系数。
3.9 计算音频信号延迟
记录谱质心序列、过零率序列和MFCC(梅尔倒频系数)序列的相关函数最大位置和中点位置;相关函数最大位置与中点位置的差值乘以音频信号采样频率来求的延迟时间,求三个延迟的平均值即为信号延迟时间。
3.10 重新对齐音频信号
如果两路音频信号存在延迟,剪切延迟时间,将两路信号重新对齐,重新执行3.2~3.7内的步骤;如果两路音频信号不存在延迟,直接执行下一步。
3.11 获得音频信号相关系数
选择谱质心相关系数、时域相关系数、过零率相关系数和MFCC(梅尔倒频系数)相关系数,采用加权的方式求得音频的相关系数。
通过这个算法,我们可以实现对音频内容的判断,把这个算法封装成库文件,应用软件将要比对的两路音频送给库文件的接口,并读取返回的相似度的数值。根据最大的相似度数值判别音频内容是否一致。
4 算法仿真实验
本算法的效果可以通过下面的仿真实验得到进一步证明。
4.1 仿真条件
本发明的仿真平台用Inter(R)Core(TM)i5-8250U 1.6GHz,内存为8GB,运行Windows10专业版的PC机,开发工具为Microsoft Visual Studio2010。
4.2 仿真内容与结果分析
仿真实验是对从设备上不同的两个通道,直接采集的相同音頻信号进行处理,采样频率为:22050Hz,其中一路音频信号相对另一路有延迟。
如图1所示,为利用本文所述的音频比对算法计算的,从设备不同通道中采集相同的两段音频信号,逐段比对的相关系数分布图,从图中可以看出两路音频信号的相关系数基本稳定在0.3~0.6之间,有很强的相关性,可以有效的对音频信号进行比对。实现对音频内容是否一致的判断。
5 结语
实现音频比对的功能有很多不同的方法,尤其是最近一两年来,各种实现的比对算法层出不穷。像音频声纹比对识别技术、基于时域相似度算法、基于频域相似度的算法、还有现在最流行的时频分析法,如Gabor变换、小波变换等等。各有各自的优缺点。这些都是对语音信号处理的研究。音频内容的比对只是其中一个简单的应用。语音信号处理技术正处于蓬勃发展的时期,不断有新产品被研发出来、市场需求逐渐增加,具有良好的应用前景。伴随着人工智能、机器人的发展,语音识别成为热门研究课题,语音的信号处理技术正发挥越来越重要的作用,并且出现了新的研究方向,例如语音检索技术、语音的训练与矫正技术、语种的识别技术、语音的情感处理研究等等。
参考文献
[1] 韩纪庆,张磊,郑铁然.语音信号处理[M].北京:清华大学出版社,2013.
[2] 赵力.语言信号处理[M].北京:机械工业出版社,2018.
[3] 严勤,吕勇.语言信号处理与识别[M].北京:防工业出版社,2015.
转载注明来源:https://www.xzbu.com/1/view-15215743.htm