语音识别(20201030)——麦克风阵列(采集语音信号)

目录

麦克风阵列的原理

麦克风阵列是由位于空间不同位置的一组全方位麦克风按照一定的形状规则形成的阵列。它是一种对空间传输的声音信号进行空间采样的装置。采集的信号包含其空间位置信息。根据声源到麦克风阵列的距离,阵列可以分为近场模型和远场模型。根据麦克风阵列的拓扑结构,可以将其分为线阵、面阵、体阵等。

[En]

Microphone array is an array formed by a group of omni-directional microphones located in different positions in space according to certain shape rules. it is a kind of device for spatial sampling of spatially transmitted sound signals. the collected signal contains its spatial location information. According to the distance between the sound source and the microphone array, the array can be divided into near-field model and far-field model. According to the topology of microphone array, it can be divided into linear array, planar array, volume array and so on.

麦克风阵列的功能

语音识别(20201030)——麦克风阵列(采集语音信号)

; 麦克风阵列解决噪声干扰

存在的干扰

语音识别(20201030)——麦克风阵列(采集语音信号)

; 算法

语音识别(20201030)——麦克风阵列(采集语音信号)

1.多通道降混响算法(室内)

语音识别(20201030)——麦克风阵列(采集语音信号)

经典去混响的方法:
1.形成拾音波束来减少反射声
2.基于反卷积的去混响方法

; 2.多通道点干扰抑制算法(室外)

语音识别(20201030)——麦克风阵列(采集语音信号)

3.多通道目标说话人提取算法(声纹,不适用)

语音识别(20201030)——麦克风阵列(采集语音信号)

; 麦克风阵列常用技术

1.自动增益控制(AGC:Automatic Gain Control)

定义:

自动增益控制是限幅输出的一种,它利用线性放大和压缩放大的有效组合对助昕器的输出信号进行调整。
当输入微弱信号时,线性放大电路工作以保证输出信号的强度。

[En]

When the weak signal is input, the linear amplifying circuit works to ensure the strength of the output signal.

当输入信号达到一定强度时,启动压缩放大电路以降低输出幅度。

[En]

When the input signal reaches a certain strength, the compression amplifier circuit is started to reduce the output amplitude.

主要作用:

AGC功能可以通过改变输入输出压缩比例自动控制增益的幅度。也就是对语音的响度做出调整。

2.自动噪声抑制(ANS,Automatic Noise Suppression)

作用:

ANS可探测出背景固定频率的杂音并消除背景噪音,例如:风扇、空调声自动滤除。呈现出与会者清晰的声音。

原理和实现

将实时采样的数字信号进行频谱分析,这样我们就能分析背景噪声相应的强度和频谱分布,然后根据这个模型就能设计一个滤波器,当有人讲话的时候,同时做信号分析,根据分析,ANS就能分析出讲话者的频谱,那么根据这些背景噪音和讲话者的频谱,这个滤波器根据两个信号的对比实时的改变,让讲话者声音频谱通过,对背景噪声的频谱进行抑制,降低其能量,比如说降低15到20个分贝,就很明显可以感觉体验到噪音抑制的效果。

噪声

噪声的种类很多,包括稳态白噪声、不稳定脉冲噪声和波动噪声。在语音应用中,稳定的背景噪声是最普遍、技术最成熟、效果最好的。

[En]

There are many kinds of noise, including stable white noise, unstable impulse noise and fluctuating noise. in speech applications, stable background noise is the most common, the technology is the most mature, and the effect is the best.

噪声抑制的关键是提取噪声的频谱,然后根据噪声的频谱进行逆补偿运算,从而得到降噪后的语音。

[En]

The key of noise suppression is to extract the spectrum of noise, and then make a reverse compensation operation according to the spectrum of noise, so as to get the speech after noise reduction.

噪声抑制的一般流程

语音识别(20201030)——麦克风阵列(采集语音信号)

首先,将这一小段背景声音分成帧,并按照帧的顺序进行分组。每组中的帧数可以是10或其他值,组数一般不小于5,然后对每组背景噪声数据帧进行傅立叶变换,得到每组背景噪声数据帧的频谱,然后对每组频谱进行平均,得到背景噪声的频谱。

[En]

First of all, this small segment of background sound is divided into frames and grouped according to the order of frames. The number of frames in each group can be 10 or other values, and the number of groups is generally not less than 5. Then the frequency spectrum of each group of background noise data frames is obtained by Fourier transform, and then the frequency spectrum of background noise is obtained by averaging each spectrum.

在获得噪声频谱后,降噪过程非常简单。图像左侧的红色部分是噪声频谱,黑线是有效语音信号的频谱。从含噪语音的频谱中减去噪声频谱,得到含噪语音的频谱,然后通过傅立叶逆将其转换回时间域,得到去噪后的语音数据。

[En]

After the noise spectrum is obtained, the process of noise reduction is very simple. The red part on the left side of the image above is the noise spectrum, and the black line is the spectrum of the effective speech signal. The spectrum of the noisy speech is obtained by subtracting the noise spectrum from the spectrum of the noisy speech, and then converted back to the time domain by Fourier inversion to get the speech data after noise reduction.

; 实际应用当中,降噪的自适应的过程

在实际应用中,用于降噪的噪声频谱通常不是一成不变的,而是随着降噪过程的不断修改,即降噪过程是自适应的。这样做的原因是:

[En]

In practical applications, the noise spectrum used in noise reduction is usually not immutable, but is continuously modified with the process of noise reduction, that is, the process of noise reduction is adaptive. The reasons for this are:

1)一方面是语音数据前部的静音长度有时不够长,背景噪声数据不足导致得到的噪声频谱往往不够准确,
2)另一方面,背景噪声往往不是绝对稳定的,而是渐变的甚至会突变到另一种稳定的背景噪声。

这些原因需要对降噪过程中使用的噪声频谱进行及时校正,才能获得更好的降噪效果。对噪声谱进行校正的方法是在后续音频中使用静音和重复噪声谱提取算法得到新的噪声谱,用于对降噪时使用的噪声谱进行修正。因此,在降噪过程中,如何判断静音仍然是降噪过程中的常用方法。噪声频谱校正的方法要么是对新旧频谱进行加权平均,要么是用新的噪声频谱完全取代使用中的噪声频谱。

[En]

These reasons require timely correction of the noise spectrum used in the process of noise reduction in order to get a better noise reduction effect. The method to correct the noise spectrum is to use the mute and repetitive noise spectrum extraction algorithm in the subsequent audio to get a new noise spectrum, which is used to modify the noise spectrum used in noise reduction. Therefore, in the process of noise reduction, how to judge silence is still used in the process of noise reduction. The method of noise spectrum correction is either weighted averaging the new and old spectrum, or using the new noise spectrum to completely replace the noise spectrum in use.

3.回声消除(AEC,Acoustic Echo Canceller)

定义

就是在Mic采集到声音之后,将本地音箱播放出来的声音从Mic采集的声音数据中消除掉,使得Mic录制的声音只有本地用户说话的声音。

回声

回声是指通过扬声器播放远端扬声器的声音,包括其反射的声音,然后由近端麦克风采集并传回远端。回声的主要情况包括:模拟手机免提模式、手机免提模式、车载蓝牙电话等。

[En]

Echo means that the voice of the far-end speaker is played through the loudspeaker, including its reflected sound, and then collected by the near-end microphone and transmitted back to the far end. The main situations of acoustic echo include: analog phone hands-free mode, mobile phone hands-free mode, car Bluetooth phone and so on.

在即时通讯人机语音交互中,需要进行双方或多方的实时语音交流,在要求较高的场合,通常都是采用外置音箱放音,这样必然会产生回音,即一方说话后,通过对方的音箱放音,然后又被对方的Mic采集到回传给自己。如果不对回音进行处理,将会影响通话质量和用户体验,更严重的还会形成震荡,产生啸叫。(例如在手机打游戏的时候,如果你们两个在同一个房间,开两个麦的话,就会产生这种现象)

传统的回声消除

传统的回声消除都是采用硬件方式,在硬件电路上集成DSP处理芯片,如我们常用的固定电话、手机等都有专门的回音消除处理电路,而采用软件方式实现回声消除一直存在技术难点,包括国内应用最广泛的QQ超级语音,便是采用国外的GIPS技术。

难点:喇叭播放的音乐一般为立体声,甚至是环绕立体声,因此需要真正的多通道回声消除技术。设备的喇叭和麦克风一般距离很近,使用者距离较远;麦克风信号的信噪比很低(一般在-10dB~-30dB)。

声学回声消除

回声消除已成为在即时消息中提供全双工语音的标准方法。声学回声抵消是一种通过消除或去除本地麦克风中拾取的远程音频信号来防止远程声音返回的处理方法。这种音频的去除是通过数字信号处理来完成的。回波抵消技术是数字信号处理的典型应用之一。

[En]

Echo cancellation has become the standard method of providing full-duplex voice in instant messaging. Acoustic echo cancellation is a processing method to prevent the remote sound from returning by eliminating or removing the remote audio signal picked up in the local microphone. The removal of this kind of audio is done by digital signal processing. Echo cancellation technology is one of the typical applications of digital signal processing.

原理及其实现

回声抵消的基本原理是基于扬声器信号与其产生的多径回声之间的相关性,建立远端信号的语音模型,并利用该模型对回声进行估计,并不断修正滤波器的系数。使估计值更接近真实的回声。然后,从麦克风的输入信号中减去回声估计值,达到消除回声的目的。

[En]

The basic principle of echo cancellation is based on the correlation between the loudspeaker signal and the multi-path echo generated by it, establish the speech model of the remote signal, use it to estimate the echo, and constantly modify the coefficient of the filter. make the estimated value closer to the real echo. Then, the echo estimate is subtracted from the input signal of the microphone to achieve the purpose of eliminating the echo.

语音活动检测(VAD,Voice Activity Detection)

定义

语音活动检测(Voice Activity Detection,VAD)又称语音端点检测,语音边界检,是指在噪声环境中检测语音的存在与否,通常用于语音编码、语音增强等语音处理系统中,起到降低语音编码率、节省通信带宽、减少移动设备能耗、提高识别率等作用。早先具有代表性的VAD方法有ITU-T的G.729 Annex B

音频端点检测

音频端点检测是从连续的语音流中检测出有效的语音段。它包括两个方面:检测有效语音的起点,即前终点;检测有效语音的终点,即后终点。

[En]

Audio endpoint detection is to detect effective speech segments from continuous speech streams. It includes two aspects: detecting the starting point of effective speech, that is, the front endpoint, and detecting the end point of effective speech, that is, the post-endpoint.

在语音应用中检测语音端点是必要的。首先,在语音存储或传输的背景下,将有效语音与连续语音流分离是非常简单的,这可以减少存储或传输的数据量。其次,在一些应用场景中,使用端点检测可以简化人机交互,例如在录音场景中,语音后的端点检测可以省去结束录音的操作。

[En]

It is necessary to detect voice endpoints in voice applications. First of all, it is very simple to separate effective voice from continuous voice streams in the context of voice storage or transmission, which can reduce the amount of data stored or transmitted. Secondly, in some application scenarios, the use of endpoint detection can simplify human-computer interaction, for example, in the recording scene, endpoint detection after voice can omit the operation of ending recording.

4.声源定位

麦克风阵列可以自动检测声源的位置并跟踪扬声器。声源位置信息不仅可以用于智能交互,还可以用于后续的空间滤波,以增强目标方向。

[En]

The microphone array can automatically detect the position of the sound source and track the speaker. The sound source location information can be used not only for intelligent interaction, but also for subsequent spatial filtering to enhance the target direction.

计算

利用麦克风阵列可以实现声源到达方向估计(direction-of-arrival (DOA) estimation),DOA估计的其中一种方法是计算到达不同阵元间的时间差

第一步:估计延时
第二步:计算角度

语音识别(20201030)——麦克风阵列(采集语音信号)

; 波束形成(DBF)

DBF是Digital Beam Forming的缩写,译为数字波束形成 或数字波束合成。

DOA估计是为了确定信号的方位,从接收数据中测出信号方向,不管信号是有用信号还是干扰信号,在DOA估计方向图中都表现为峰值,而此峰值并不是实际阵列输出功率;波束形成是传统滤波的空域拓展,其根本目的是有效提取有用信号并抑制噪声和干扰,在方向图中表现为有用信号方向形成峰值、干扰方向形成零陷,可以认为DOA估计为波束形成的前端处理,确定期望信号和干扰方向后,阵列对期望信号方向形成波束并在干扰方向形成零陷。

线性麦克风阵列 环形麦克风阵列

线性麦克风阵列

加性麦克风阵列( Additive Microphone Array)
数组的输出是每个元素的加权和。

[En]

The output of the array is the weighted sum of each element.

最优波束方向可调
结构简单、方便布局
适用于车载、家电等场合

语音识别(20201030)——麦克风阵列(采集语音信号)

差分麦克风阵列( Differential Microphone Array )
阵列的输出是两个麦克风之间的加权减法

[En]

The output of the array is the weighted subtraction between the two microphones

最佳光束方向只能在末端方向。

[En]

The optimal beam direction can only be in the end direction.

适用于耳机通话等场合

语音识别(20201030)——麦克风阵列(采集语音信号)

语音识别(20201030)——麦克风阵列(采集语音信号)
语音识别(20201030)——麦克风阵列(采集语音信号)

; 平面麦克风阵列

实现平面360度等效拾音
麦克风越多,空间分割越细,语音增强降噪效果越好。

[En]

The more microphones, the finer the space division, and the better the effect of speech enhancement and noise reduction.

广泛应用于智能音箱和交互式机器人

[En]

Widely used in intelligent speakers and interactive robots

语音识别(20201030)——麦克风阵列(采集语音信号)
语音识别(20201030)——麦克风阵列(采集语音信号)

立体麦克风阵列

真正实现全空间360度无损拾音
解决了面阵高度俯仰角信号响应性差的问题。

[En]

The problem of poor response of plane array height pitch angle signal is solved.

语音识别(20201030)——麦克风阵列(采集语音信号)

; 麦克风选择需要关注的指标

语音识别(20201030)——麦克风阵列(采集语音信号)

麦克风阵列连接开发板

一个样例

语音识别(20201030)——麦克风阵列(采集语音信号)

1 产品概述
科大讯飞 XFM10621 模块是一款基于 6 麦克风阵列的语音前端解决方案。模块利用麦克
风阵列的空域滤波特性,通过对唤醒人的角度定位,形成定向拾音波束,并对波束以外的噪
进行声音抑制,以确保高质量的录音。

[En]

Sound suppression is carried out to ensure high recording quality.

产品主要有以下特性:
6 麦克环形麦克风阵列
360 度声源定位
语音唤醒
回声消除
语音打断
去混响

2 功能描述
远场拾音
采用远场识别和降噪技术,使拾音距离达到5米。

[En]

The far-field identification and noise reduction technology are used to make the sound pick-up distance up to 5 meters.

语音唤醒
用户通过说出关键词,可以将模块从休眠状态唤醒。唤醒后,会有 WAKE_UP 标
记录位输出。(默认关键词为“犀牛犀牛”)

[En]

Record bit output. (the default key word is “rhinoceros rhinoceros”)

声源定位
模块利用 6 个麦克风阵列,实现 360° 语音信号采集,并能通过声源定位来确定目
标说话人的方向。
回声消除
在播放和录音同时进行的场景中,该模块可以通过回声消除技术屏蔽扬声器的声音。

[En]

In the scene where playback and recording are carried out at the same time, the module can shield the sound of the loudspeaker through echo cancellation technology.

只接收用户的声音。(回声消除原理见附录)

[En]

Only receive the voice of the user. (see Appendix for the principle of echo cancellation)

语音打断
当设备播放时,它仍然可以唤醒并达到中断效果。

[En]

When the equipment broadcasts, it can still wake up and achieve the interrupting effect.

科大讯飞模块XFM10621是一款基于6麦克风阵列的语音前端解决方案。模块利用麦克风阵列的空域滤波特性,通过对唤醒人的角度定位,形成定向拾音波束,并对波束以外的噪声进行抑制,提升远场拾音质量、保证识别效果。
功能: 360度声源定位、降噪、回声消除、 语音唤醒

6 麦环形阵列形成 6 个拾音波束(波束 0~5),各自对应 60°范围,如图 15 所示。当通过唤醒确定声源角度(算法内部自动确定声源方向的一个拾音波束进行拾音)或指定一个拾音波束进行拾音时,阵列算法会增强波束范围内的声音,削弱波束外的声音,以增强录音信噪比。如指定波束 1 进行拾音,由于每个波束的范围为 60°,所以 30° ~90°范围内录音得到增强,波束 1 范围外的声音会被减弱。

实现过程:
如图所示, 模块接收外部的声音和回声消除参考信号作为输入,进行降噪 处理后,通过 Line-out 和 IIS 接口输出模拟和数字音频。 被唤醒后通过 WakeUp 指示灯闪烁, 语音增强开发板通过 UART( TTL 电平) 与开发板进行通信。
语音输出是麦克风阵列通过算法实现语音增强及回声消除后的语音模拟信 号, 可以直接接到 ARM 开发板或者电脑的语音输入接口。
音乐输出是指 ARM 开发板或者电脑输出的音乐或者合成语音信号,本开发 板内部集成了喇叭功放,可以驱动两个 4 欧姆 3 瓦的喇叭(如果选择立体声输出 请接两个喇叭,普通测试请选择单声道输出)。同时内部将音乐出入信号接到语 音增强的回声消除信号接口,可以将播放的音乐滤掉,不会对其录音。

Original: https://blog.csdn.net/ironman321/article/details/109386147
Author: lies@
Title: 语音识别(20201030)——麦克风阵列(采集语音信号)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524687/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球