* 意大利米兰大学核算机学系
** 意大利米兰比可卡大学
*** 意法半导体(意大利Agrate)公司
摘要:在曩昔10年里,以人类语言和音频信号为前语的人机交互运用在日常日子的效果越来越重要。设备自身有必要充分运用不同的功用,才干获得最佳的功用,例如,音频定位、主动语音辨认、主动说话人辨认等。本文侧重讨论获得这些成果所需的算法和完好的嵌入式计划即MEMS麦克风阵列所需的硬件架构。
1. 前语
主动语音辨认、语音形式辨认和说话人辨认及承认等运用对噪声十分灵敏,信源定位辨认是音频和语音信号捕捉处理运用的一个要害的预处理功用。特别是根据微机电体系(MEMS) [1][2]的麦克风阵列呈现后,麦克风阵列音频定位计划引起科研企业和开发人员的广泛重视。
现在业界正在运用MEMS麦克风阵列子体系开发嵌入式音频定位、主动语音辨认和主动说话人辨认解决计划,声响辨认定位是咱们辨认承认别人身份的根本功用,当咱们听到有人说话时,会将头转向说话人,检查说话人。
音源定位是主动语音辨认和主动说话人辨认体系的一个重要环节,关于进步语音辨认体系的功用至关重要。麦克风阵列可捕捉从不同方向传来的声响,经过算法运算使麦克风指向某一个特定方向,扩大从该方向捕捉到的音频信号,一起衰减从其它方向捕捉的音频信号,整个动作就像一个智能麦克风。
图 1.综合运用麦克风音源互相关性(CC)、相变(PHAT)和最大相似性处理(ML)技能的音源定位
2. 体系结构
整个体系由以下几个子体系组成:音源方向测定、数据交融、主动语音辨认和主动说话人承认。其间,音频方向测定子体系根据麦克风阵列,运转三个不同的音频方向预算算法;数据交融子体系担任揣度方向,主动语音辨认子体系运用传入的音频信号增强主音源信号强度,衰减主音源周围的其它音频信号。终究,主动说话人承认子体系辨认某些要害词汇,再运用相关特征与说话人匹配。
图 2. 体系结构
假如语音辨认使命没有成功,则反馈给数据交融体系,预算新方向传入的语音,然后驱动麦克风阵列指向该方向。
2.1 语音辨认和说话人辨认
语音特征提取(27 LPC-倒普系数)需求承认语音的端点,将语音分红数个短祯(每祯20 ms),经过一个DTW形式对准算法与一组参阅语音(模板)匹配。然后,运用欧氏距离丈量法进行相似性评价。
图 3. 特征提取、形式匹配和评分是说话人语音辨认承认使命的首要环节
说话人身份评分选用的是动态时刻规整近邻(DTW-KNN)算法的距离丈量办法,即动态时刻规整丈量算法与近邻决议计划算法的兼并算法。这个算法需求运用均方根、过零率、主动相关和倒普线性猜测系数。运用欧氏距离算法核算本钱函数,运用KNN 算法核算最小距离匹配度 k。
3. MEMS麦克风阵列
咱们选用STM32F4微操控器和MEMS麦克风开发一个硬件音频信号同步收集处理子体系,其信号捕捉才能相当于8个采样率高达48 KHz的麦克风 。
图 4. 选用STM32F4微操控器和MEMS麦克风的硬件音频信号同步收集处理子体系
3.1 MEMS技能
MEMS技能的首要特性是在能够同一芯片外表集成微电子和微机械单元,在同一封装内整合不同的功用。这样,曩昔分别由传感器、履行器(例如,射流办理或机械交互)和逻辑、操控单元完结的不同功用,今日能够整合在同一个封装内。从生化剖析,到惯性体系,从机械传感器,到音频和声波传感器, MEMS产品掩盖许多运用领域。
3.2 MEMS麦克风和音频编码
MEMS麦克风尺度尽管比其它技能麦克风小,可是,从物理和机械视点看,却具有规范驻极体麦克风的悉数功用,其核心部件是一个振膜,振膜和固定结构一起组成一个可变电容器。当声波引起振膜变形时,%&&&&&%会发生改变,然后导致电压改变。
被捕捉到的信号的后期处理,即功率扩大和模数转化进程,都是在同一芯片上完结,因而,麦克风输出是高频PDM信号。在脉冲密度调制进程,逻辑1对应一个正 (+A) 脉冲,而逻辑0对应一个负(-A)脉冲。因而,假定输入一个周期的正弦音频,当输入电压在最大正振幅时,输出为一个由“1”组成的脉冲序列;当输入电压在最大负振幅时,输出则是一个由“0”组成的序列。当穿过0振幅时,声波在1和0序列之间快速改变。假如办法正确,PDM可经过数字办法给高品质音频编码,并且完结办法简易,本钱低价。因而,PDM比特流是MEMS麦克风常用的数据输出格局。
另一方面,PCM是一个十分闻名的音频编码规范,以相同的距离对信号振幅定时采样,在数字步进规模内,每个采样被量化至最接近值。决议比特流是否忠诚原模拟信号的是PCM比特流的两个根本特点:采样率,即每秒采样次数;位宽,即每个采样包括的二进制数个数;经过下降采样率(下降十分之一)和进步字长,能够将PDM编码信号转成PCM信号,PDM数据速率与下降十分之一的PCM采样率的比值被称为降采样率。因而,关于N:1降采样率,只需每N个距离采样一次(不考虑剩下的N-1),即可完结下降十分之一的采样进程。
3.3 麦克风阵列
从硬件视点看,这款产品根据STM32F407VGT6高功用微操控器,能够经过8个MEMS麦克风收集信号。STM32F4微操控器根据作业频率最高168 MHz的高功用ARM® Cortex™-M4 32 RISC处理器内核,集成高速嵌入式存储器(闪存容量最高1 MB, SRAM容量最高192KB)以及规范和先进的通讯接口,例如,I2S全双工接口、SPI、 USB FS/HS和以太网。
STM32 F4系列是意法半导体榜首批根据支撑FPv4-SP 浮点扩展运算的ARM Cortex-M4F内核的STM32微操控器,这使得该器材适用于重负荷算法,浮点单元彻底支撑单精度加法、减法、乘法、除法和累加以及均方根运算,还供给定点和浮点数据格局转化和浮点常数指令,彻底兼容ANSI/IEEE Std 754-1985二进制浮点算术规范。为进步ARM架构的数字信号处理和多媒体运用功用,指令集还增加了DSP指令集。新指令是数字信号处理架构常用指令,包括带符号乘加改变(variations on signed multiply–accumulate)、饱满加减和前导零计数。
麦克风阵列经过RJ45以太风接口或USB OTG FS接口衔接其它器材,与其它器材交互是经过可操控根本板设置的DIP开关完结。
如下图所示,每个MEMS麦克风都是由同一个时钟源触发,时钟源由专用振荡器驱动,对每个GPIO端口的一个引脚输出1位PDM 高频信号。输出PDM数据频率与输入时钟同步,因而,DMA操控器以同一频率即音频捕捉频率对GPIO端口进行读操作,然后将1 ms音频数据(每次)保存在存储器缓冲电路。这时,该缓冲器包括麦克风穿插信号,然后软件运用优化的快速解码函数对数据进行解复用处理。终究,PDM 数据经过数字信号处理环节,再进行PDM转PCM处理。
图 6.每个MEMS麦克风都是由同一个时钟源触发,时钟源由专用振荡器驱动,对每个GPIO端口的一个引脚输出1位PDM 高频信号
麦克风传来的 PDM信号经过过滤和十分之一降采样率处理,以获得所需频率和分辨率的信号。麦克风输出的PDM数据频率(麦克风的输入时钟)有必要是体系终究音频输出的倍数,滤波器管道输出是一个16位值,咱们将 [-32768, 32767]视为一个单位增益(0 dB)的输出规模。
原先滤波管道发生的数字音频信号在信号调度前被进一步处理。管道榜首级是一个高通滤波器,首要用于除去信号DC失调。为维护信号质量,该滤波级是运用一个截止频率不在可听频率规模内的 IIR滤波器,管道第二级是一个根据IIR滤波器的低通滤波器。两个滤波器有启用和禁用以及装备功用;可经过外部整数变量操控增益。
图7. 麦克风传来的 PDM信号经过过滤和十分之一降采样率处理,以获得所需频率和分辨率的信号
如上文所述,数据收集有两个比特流解决计划,经过DP开关挑选运用哪一个计划。中选用 USB且在主机USB刺进麦克风阵列时,主机将STM32_MEMS_Microphones视为一个规范的USB音频设备。因而,主机体系无需装置驱动软件。例如, STM32_MEMS_Microphones可直接衔接第三方PC音频收集软件。中选用以太网时,STM32_MEMS_Microphones发送RTP数据包。在网络服务器的以太网设置页对目的地IP、设备单播地址和收集参数进行装备。
4. 定论
音源定位辨认是语音辨认技能中的一个重要的语音预处理环节,对进步音频运用和声控运用功用具有重要意义。音源定位首要用于主动语音辨认、音频形式辨认、说话人发现及辨认。MEMS技能的面世让麦克风阵列能够嵌入在上述运用规划中,履行音频信号预处理进程,为运用级供给最好的信息。
该嵌入式单个说话人及其语音定位辨认计划根据一个集成ARM处理器和一组MEMS麦克风的原型板。开始测验成果证明了这一集成计划的可行性,且体系级模块能够做语音、音频辨认方针板,满意人机、人与周围环境的天然用户界面的功用要求。
参阅文献
[1] F. Riberio, D.A. Florencio, D.E. Ba, Using Reverberation to Improve Range and Elevation Discrimination for Small Array Sound Source Localization, IEEE Transaction on Audio, Speech, and Language Processing, vol. 18, n. 7, September 2010
[2] ST brings MEMS microphones to distant-speech research project, Solid State Technology, Volume 56, Issue 1, 2012