一种检测立体声的方法及其系统与流程
2021-01-28 12:01:50|388|起点商标网
[0001]
本申请涉及广电音频质量监控的领域,尤其是涉及一种检测立体声的方法及其系统。
背景技术:
[0002]
节目录制与制作时离不开双声道立体声或者5.1/7.1声道,双声道立体声或者5.1/7.1声道已经成为所有视音频流媒体的标准。但真实的音频质量则很大程度上取决于节目录制与制作时的数据采集。有些节目为了节省经费,在制作过程中将单声道音频数据直接转成多声道。
[0003]
针对上述中的相关技术,发明人认为这样的做法无疑降低了声音的质量,因为观众无法听出任何立体声的效果。对于音频质量监控来说,这是一个巨大的挑战,因为检测人员无法对所有节目的声音人为做一个判断,因此,一种能够运用于音频监控领域,可以做到检测立体声的方法成为一种重要的需求。
技术实现要素:
[0004]
为了能够在广播监控领域提供一种大规模并行立体声检测方案,本申请提供一种检测立体声的方法及其系统。
[0005]
本申请的目的一提供的一种检测立体声的方法采用如下的技术方案:一种检测立体声的方法,包括以下步骤:a,将输入源的左右声道pcm数据进行分离,各自生成独立的数组;b,将pcm数据统一重采样到48k采样率;c,将左右声道的pcm数据进行浮点归一化,量化范围为-1~1;d,对归一化后的pcm数据进行分帧和加窗处理,每帧数据为2048采样;e,对每帧数据进行fft运算,将时域数据转化为频域数据;f,取fft前1024个复数数据,计算其各个值在复平面的相位角度;g,取fft前1024个复数的模,并分别计算每个值相对于总和的比例w;h,将左右声道各自的1024个相位角相减,再做一次余弦运算,并按步骤g中的比例w进行加权平均;i,加权平均后得出一个-1~1之间的映射值。
[0006]
通过采用上述技术方案,对输入源的左右声道pcm数据进行分离,将左右声道的pcm数据进行浮点归一化,并对数据进行分帧和加窗处理,然后把数据进行fft运算,获得频谱,根据频谱数据计算分别计算左右声道的相位信息,将左右声道的相位偏差映射到-1~1之间,在设定时间段t内相位映射值为1或接近1的比例越高,则说明该声音是非立体声的概率越高,最后以一段时间内的数值统计来判断是否为立体声。
[0007]
可选的,复平面的相位角度的计算方法如下:在复平面上,当复数a满足|a|=1时,由欧拉公式得a=e
jθ
=cos(θ)+jsin(θ),θ
a
即为复数a的相位角,θ
b
为复数b的相位角,
进一步得b=e
jθ
e
jφ
=e
j(θ+φ)
。通过采用上述技术方案,dft转换的频域信号是在复数域,所以每个对应的值都可以计算其相位角。
[0008]
可选的,通过一维离散傅里叶变换dft对原始音频数据进行频域转换,公式如下:其中(0≤k≤n-1),n为总离散采样数,x为时域数据序列,x为频域数据序列。
[0009]
通过采用上述技术方案,通过一维离散傅里叶变换dft对原始音频数据进行频域转换。
[0010]
可选的,频域数据变换回时域数据的方法如下:其中(0≤n≤n-1),n为总离散采样数,x为时域数据序列,x为频域数据序列。
[0011]
通过采用上述技术方案,频域数据还可以变换回时域数据。
[0012]
可选的,声音相位差的评估值计算方法如下:其中w
k
为频域中各个数据的加权值,n为采样数据量的一半,x
k
为频域数据;其中p为音频相位的评估值,p的值域区间为[-1,1],为左右声道的各个频域数据相位角的差分值。
[0013]
通过采用上述技术方案,评估值越接近1,则相位趋近于相同,音频为非立体声的可能性越高,通过声音相位差的评估值计算,得出的评估值越接近1,则相位趋近于相同,音频为非立体声的可能性越高。
[0014]
可选的,步骤i中,多次取设定时间段t内的数值,平均值用于判断是否为立体声。
[0015]
通过采用上述技术方案,多次取平均值可以得到更加精确的数值,从而更加有利于判断该声音是非立体声的概率越高。
[0016]
可选的,所述fft运算可采用微处理器中的快速fft运算。
[0017]
通过采用上述技术方案,fft是dft的算法优化,二者是等价的,相对于dft的计算速度较快,能够分析处理数据。
[0018]
可选的,所述步骤d中,每帧数据为2048采样。
[0019]
通过采用上述技术方案,保证每帧的采样数据足够,利于后续计算的进行。
[0020]
可选的,所述第一采样率为48k采样率。
[0021]
通过采用上述技术方案,保证每帧的采样数据足够,利于后续计算结果的真实可用性。
[0022]
本申请的目的二提供的一种检测立体声的系统采用如下的技术方案:一种检测立体声的系统,包括包括声音处理模块以及处理器,所述声音处理器用于获取输入源的左右声道pcm数据,并将左右声道pcm数据发送至处理器;所述处理器包括:分离数据模块,用于分离所述左右声道pcm数据,生成一个对应于左声道pcm数据的左
声道数组,以及一个对应于右声道pcm数据的右声道数组;重采样模块,用于将pcm数据重采样至48k采样率;浮点归一化模块,用于将左声道数据内的数据以及右声道数组内的数据进行浮点归一化,量化范围为-1~1;分帧加窗模块,用于对归一化后的pcm数据进行分帧和加窗处理,每帧数据为2048采样;fft运算模块,用于对每帧数据进行fft运算,将时域数据转化为频域数据;相位角度计算模块,用于取fft前1024个复数数据,计算其各个值在复平面的相位角度;比例计算模块,用于取fft前1024个复数的模,并分别计算每个值相对于总和的比例w;相位角计算模块,用于将左右声道各自的1024个相位角相减,再做一次余弦运算,并按步骤g中的比例w进行加权平均;以及,映射模块,用于在加权平均后得出一个-1~1之间的映射值。
[0023]
通过采用上述技术方案,分离数据模块对输入源的左右声道pcm数据进行分离,浮点归一化模块将左右声道的pcm数据进行浮点归一化,分帧加窗模块对数据进行分帧和加窗处理,fft运算模块对数据进行fft运算,获得频谱,相位角计算模块根据频谱数据计算分别计算左右声道的相位信息,将左右声道的相位偏差映射到-1~1之间,在设定时间段t内相位映射值为1或接近1的比例越高,则说明该声音是非立体声的概率越高,最后以一段时间内的数值统计来判断是否为立体声。
[0024]
综上所述,本申请包括以下至少一种有益技术效果:1.通过相位分析来检测立体声,可大规模执行,便于检测广播监控领域的立体声;2.采用快速fft运算将时域数据转换为频域数据,提高了计算机中fft处理的速度。
附图说明
[0025]
图1是本申请实施例的方法步骤流程图;图2是本申请实施例中,复平面相位角的示意图;图3是本申请实施例中,一维时域声音信号的切片;图4是本申请实施例中,将一维时域声音信号的切片经过频域转换得到的图像;图5是本申请实施例的系统框图。
[0026]
附图标记:1、声音处理模块;2、处理器;3、分离数据模块;4、重采样模块;5、浮点归一化模块;6、分帧加窗模块;7、fft运算模块;8、相位角度计算模块;9、比例计算模块;10、相位角计算模块;11、映射模块。
具体实施方式
[0027]
以下结合附图1-4对本申请作进一步详细说明。
[0028]
本申请实施例公开一种检测立体声的方法。参照图1,一种检测立体声的方法,,该方法包含以下步骤:a,通过麦克风采集输入源的声音至数据处理器的音源信号输入端,将输入源的左右声道pcm数据进行分离,各自生成独立的数组;b,将pcm数据统一重采样到48k采样率;c,将左右声道的pcm数据进行浮点归一化,量化范围为-1~1;
d,对归一化后的pcm进行分帧处理,每帧数据为2048采样。
[0029]
e,对每帧数据进行fft运算,fft运算可采用微处理器中的快速fft运算,将时域数据转化为频域数据;f,取fft前1024个复数数据,计算其各个值在复平面的相位角度;g,取fft前1024个复数的模,并分别计算每个值相对于总和的比例w;h,将左右声道各自的1024个相位角相减,再做一次余弦运算,并按步骤g中的比例进行加权平均;从横向和纵向两个方面对音频数据进行分析比较。
[0030]
i,加权平均后将得到一个-1~1之间的映射值,在设定时间段t内相位映射值为1或接近1的比例越高,则说明该声音是非立体声的概率越高。
[0031]
其中,关于复平面相位角的计算:参照图2,在复平面上,当复数a满足|a|=1时,由欧拉公式得a=e
jθ
=cos(θ)+jsin(θ),如图,θ
a
即为负数a的相位角,θ
b
为负数b的相位角,进一步得b=e
jθ
e
jφ
=e
j(θ+φ)
。
[0032]
关于音频信号频域转换的方式:通过一维离散傅里叶变换dft对原始音频数据进行频域转换公式如下:其中(0≤k≤n-1)。也可以通过下面的公式将频域数据变换回时域数据,其中(0≤n≤n-1);快速傅里叶变换fft是dft的常用快速算法,其结果可以认为与dft等效。
[0033]
上述公式中,n为总离散采样数,x为时域数据序列,x为频域数据序列。参照图3,是一典型一维时域声音信号的切片,经过频域转换,可以在显示屏得到图4的图像,即可以看出是2个正弦周期信号的叠加。经过dft转换的频域信号是在复数域的,所以每个对应的值都可以计算其相位角。
[0034]
快速傅里叶变换fft:采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数n越多,fft算法计算量的节省就越显著。
[0035]
离散傅里叶变换dft:是傅里叶变换在时域和频域上都呈现离散的形式,将时域信号的采样变换为在离散时间傅里叶变换(dtft)频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作dft,也应当将其看作经过周期延拓成为周期信号再作变换。在实际应用中通常采用快速傅里叶变换以高效计算dft。
[0036]
关于声音相位差的评估值计算:其中wk为频域中各个数据的加权值,n为采样数据量的一半,x
k
为频域数据其中p为音频相位的评估值,p的值域区间为[-1,1],值越接近1,则相位趋近于相同,音频为非立体声的可能性越高。为左右声道的各个频域数据相位角的差分值。
[0037]
步骤i中,多次取设定时间段t内的数值,平均值用于判断是否为立体声数据处理可在客户端、终端,也可以在plc运行。
[0038]
客户端:
客户端可采用运行有安卓系统或者ios系统的智能设备,智能设备内设有gps、蓝牙、wifi以及gprs等通信模组,智能设备内还设有用于显示数据以及接收输入的触摸屏。
[0039]
终端:终端可采用安卓系统或者ios系统的智能设备、mcu单片机、plc或者fpga及它们外围电路组成的控制中心,控制中心数据连接有gps、蓝牙、wifi以及gprs等通信模组,控制中心上设有接收通信信号的引脚,并通过引脚数据连接有兼容同样通信协议的传感器或者连有多个传感器的其它控制中心,通信协议可为iic、iis、spi、uart或者can等现场通信协议。
[0040]
本申请实施例一种检测立体声的方法的实施原理为:对输入源的左右声道pcm数据进行分离,将左右声道的pcm数据进行浮点归一化,并对数据进行分帧和加窗处理,然后把数据进行fft运算,获得频谱,根据频谱数据计算分别计算左右声道的相位信息,将左右声道的相位偏差映射到-1~1之间,最后以一段时间内的数值统计来判断是否为立体声。
[0041]
本申请实施例公开一种检测立体声的系统,如图5所示,包括声音处理模块以及处理器,其特征在于:所述声音处理器用于获取输入源的左右声道pcm数据,并将左右声道pcm数据发送至处理器。
[0042]
处理器包括:分离数据模块,用于分离所述左右声道pcm数据,生成一个对应于左声道pcm数据的左声道数组,以及一个对应于右声道pcm数据的右声道数组。
[0043]
重采样模块,用于将pcm数据重采样至48k采样率。
[0044]
浮点归一化模块,用于将左声道数据内的数据以及右声道数组内的数据进行浮点归一化,量化范围为-1~1。
[0045]
分帧加窗模块,用于对归一化后的pcm数据进行分帧和加窗处理,每帧数据为2048采样。
[0046]
fft运算模块,用于对每帧数据进行fft运算,将时域数据转化为频域数据。
[0047]
相位角度计算模块,用于取fft前1024个复数数据,计算其各个值在复平面的相位角度。
[0048]
比例计算模块,用于取fft前1024个复数的模,并分别计算每个值相对于总和的比例w。
[0049]
相位角计算模块,用于将左右声道各自的1024个相位角相减,再做一次余弦运算,并按步骤g中的比例w进行加权平均。
[0050]
以及,映射模块,用于在加权平均后得出一个-1~1之间的映射值。
[0051]
分离数据模块对输入源的左右声道pcm数据进行分离,浮点归一化模块将左右声道的pcm数据进行浮点归一化,分帧加窗模块对数据进行分帧和加窗处理,fft运算模块对数据进行fft运算,获得频谱,相位角计算模块根据频谱数据计算分别计算左右声道的相位信息,将左右声道的相位偏差映射到-1~1之间,在设定时间段t内相位映射值为1或接近1的比例越高,则说明该声音是非立体声的概率越高,最后以一段时间内的数值统计来判断是否为立体声。
[0052]
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips