基于Android移动平台的单双通道助听器实现

2016-03-15 02:29马金龙,曾庆宁,龙超
桂林电子科技大学学报 2016年1期
关键词:移动平台助听器



基于Android移动平台的单双通道助听器实现

引文格式: 马金龙,曾庆宁,龙超,等.基于Android移动平台的单双通道助听器实现[J].桂林电子科技大学学报,2016,36(1):5-8.

马金龙,曾庆宁,龙超,谢先明

(桂林电子科技大学 信息与通信学院,广西 桂林541004)

摘要:为了在嘈杂环境下给弱听患者提供更好的助听效果,设计了一种基于Android移动平台的单、双通道助听器应用。该助听器通过Android系统提供的音频组件调用设备的麦克风进行数据采集并缓存,利用单、双通道语音增强算法对缓存的数据进行处理并送入相应音频组件进行播放。测试结果表明,在Android移动平台通过单、双通道消噪功能可从移动设备耳机听到清晰的增强后语音,实现对环境噪声的良好滤除。

关键词:移动平台;助听器;语音增强

中老年人往往出现不同程度的听力损失,但世界卫生组织的调查表明,中国听力障碍患者的助听器配置比例低于5%[1]。助听器的声音采集分为单麦克风和麦克风阵列。单麦克风采集助听器在安静的环境中给患者提供较好的听觉效果,但在嘈杂环境下增强效果急剧下降;麦克风阵列为嘈杂环境下语音增强处理提供良好的解决方案,其利用阵元间信号的相位差异,在复杂噪声环境下为听损患者提供较好的增强效果和可懂度[2]。

Android移动设备通常配置1~2个麦克风,在高端的设备中麦克风数量甚至配置3个以上,以达到更好的通话和音视频录制效果。结合Android设备的麦克风分布特点和助听器市场的巨大需求[3],设计了一种基于Android移动平台的单、双通道助听器应用,通过对麦克风采集的音频数据进行语音增强,达到有效滤除环境噪声的目的。

1语音增强模型

1.1单通道语音增强模型

谱减法是最早提出的降噪算法之一,其假设噪声为加性噪声并从带噪语音谱中减去噪声估计谱,从而得到纯净的语音信号谱[4],同时通过语音活动检测算法(voice activity detection,简称VAD)在目标语音缺失期间,对噪声谱进行估计和更新[5]。

假设y(n)为受到噪声污染的输入信号,由纯净语音信号x(n)和加性噪声d(n)组成,

(1)

(2)

将Y(ω)以极坐标形式表示:

(3)

(4)

因此,纯净语音信号谱的估计为:

(5)

由于增强的信号幅度谱可能因错误估计噪声谱而为负值,对增强的信号谱做半波整流处理,即将负的谱分量置零:

(6)

通过式(6)得到最终增强后的单通道语音,其中噪声估计采用了VAD检测,在非语音段对噪声进行更新。单通道谱减法流程如图1所示。

图1 单通道谱减法流程Fig.1 The flow chart of single channel spectrum subtraction algorithm

1.2双通道语音增强模型

在双通道信号采集过程中,由于语音抵达2个麦克风存在时间差,时间差通过两通道间语音段广义互相关时延估计求得,其互相关值达到最大时的τ即为时间差[6]。利用通道间的时间差可对两路信号进行时间对齐,对齐后得到的信号模型为:

(7)

(8)

将2个麦克风接收的带噪语音信号x1(n)和x2(n)作为2个自适应滤波器的期望响应,把延时信号x1(n-T)作为第2个通道自适应滤波器的输入信号,延时信号x2(n-T)作为第1个通道自适应滤波器的输入。双通道消噪算法流程如图2所示。

“有钱人也卖里程啊。”粒粒一边装钱包,一边小声嘀咕一句。她以为只有自己这样的穷人才会巴巴地在网上买里程积分,或者将多余的积分里程卖出去。

图2 双通道消噪算法流程Fig.2 The flow chart of dual-channel denoise algorithm

采用LMS算法对期望信号分别在2个通道中进行估计,最后对输出结果做平均处理得到双通道增强后的语音yout,

(9)

与单通道消噪算法相比,使用延时信号x2(n-T)作为x1(n)通道的输入,减少了期望语音信号之间的相关性,同时削弱通道间噪声的相关性,提高了增强处理后信号的信噪比[7]。

2Android音频资源及麦克风调用

AudioRecord和AudioTrack是Android系统中获取和播放音频流的重要类,放置在Android.media包中。与MediaRecorder和MediaPlayer类不同,AudioRecord和AudioTrack类在获取和播放音频数据流时无须通过文件保存和读取,可动态地获取和播放音频流[7]。

2.1Android音频相关组件

在Android应用程序中,Manifest主要对该应用程序的设定进行描述并通知系统。因此,Android系统使用AudioRecord,需要在Manifest.xml文件中进行声明,以获得系统的许可。通过创建AudioRecord类的对象可从麦克风获取实时的音频数据流,采集的数据流保存到缓存,然后读取缓存数据并利用语音增强算法处理,将处理后的数据写入AudioTrack类的对象,实现实时的语音增强输出。创建AudioRecord类和AudioTrack类的主要代码为:

staticfinalintchannelConfiguration=AudioFormat.CHANNEL_CONFIGURATION_MONO

//定义声道

staticfinalintaudioEncoding=AudioFormat.ENCODING_PCM_16BIT//定义编码格式

audioRecord=newAudioRecord(MediaRecorder.AudioSource.MIC,frequency,channelConfiguration,audioEncoding,recBufSize)

//创建AudioRecord对象

audioTrack=newAudioTrack(AudioManager.STREAM_MUSIC,frequency,channelconfiguration,audioEncoding,playBufSize,AudioTrack.MODE_STREAM)//创建AudioTrack对象

在助听器应用的开发过程中,通过MediaRecorder.AudioSource选项控制音频数据的来源。在其参数中选择MIC和MONO单声道录音,则可配置系统采集位于话筒的单麦克风输入数据;若参数中选择CAMCORDER和STEREO立体声录音,则可同时采集话筒及设备顶端的双麦克风输入数据。

2.2主要移动设备的麦克风统计

Android设备位于话筒的麦克风是单通道消噪算法的信号来源。在很多高端移动设备中,引入了“双麦克风降噪”技术,以优化通话效果,因而设备拥有2个以上的麦克风作为信号输入源。为了解Android设备的麦克风分布情况,凸显选择单、双通道降噪的必要性,统计了主要移动设备的麦克风位置及数量,如表1所示。考虑苹果公司率先在iOS移动设备应用了多麦克风降噪技术,统计包含了iOS移动设备。

表1 主要移动设备的麦克风数量与位置

3单、双通道助听器的实现

在单声道采样频率为8kHz下,AudioRecord单帧读取的默认缓存时长为0.04s,即320个采样点。为更好地对每帧进行初始噪声值估计及VAD检测,将缓存大小设置为1280个数据样点,实际试听表明在该缓存大小下,可在消噪处理和声音延迟之间获得较好的折中效果。

在消噪过程中,从缓存读取音频数据并送到算法中进行运算,需要采用FFT、IFFT以及VAD算法[8]的Java实现,这是算法处理的必要步骤,也是助听器声音处理并传输到耳机过程中产生延迟的主要原因。

在双通道消噪过程中,用户通过交互界面输入麦克风之间的距离,并调用广义互相关时延估计算法计算通道之间的时延,然后利用双通道的LMS算法得到增强后的输出语音。在立体声PCM编码格式的缓存中,16bit的音频数据分高、低位交叉存储,因此在读取其数据时需要避免通道数据混淆[9]。

以算法和系统资源为基础,基于Android移动平台的助听器应用界面如图3所示。其包括6个功能键和1个滚动条,其中“边录边放”功能可测试软件是否正常工作,正常则说话时可在耳机中听到清晰且略有延迟的声音。“单通道消噪”功能可适用于大部分智能设备,采用手机话筒位置麦克风进行消噪处理;“双通道消噪”功能适用于2个以上麦克风的智能设备,用户可通过交互对话框设置麦克风的间距,以获取更佳的去噪效果。

图3 基于Android移动平台的助听器应用界面Fig.3 The interface of hearing aids applicationbased on Android mobile platform

为避免因喇叭播放的声音被麦克风循环采集而出现啸叫,使用时需要佩戴耳机。若用户点击单通道消噪按钮,则直接进入实时采集数据并利用谱减法进行消噪,当用户所处环境较为嘈杂时,耳机所输出的

声音质量会有明显地提升;若用户所持设备具有2个麦克风采集装置,则可点击双通道消噪按钮,弹出界面要求用户输入2个麦克风之间的距离,然后进入双通道消噪流程。

4结束语

以Android平台为基础,结合系统音频资源及主要移动设备厂商的麦克风分布,设计了基于Android移动平台的单、双通道助听器应用。该应用利用Android移动平台为听损患者提供了一个简易助听方案,但未实现重度听损患者所需的频响补偿、宽动态范围压缩等功能,暂不能作为专业助听器的替代方案。

参考文献:

[1]赖卿,夏文磊,曹萍.中国老年人群助听器基本情况调查报告[J].数字化用户,2013,13(3):115-116.

[2]林静然.基于麦克风阵列的语音增强算法研究[D].成都:电子科技大学,2007:1-8.

[3]李宁.Android开发权威指南[M].北京:人民邮电出版社,2011:11-95.

[4]LOIZOUPC.Speechenhancement:theoryandpractice[M].Florida:CRCPress,2013:75-109.

[5]郑展恒,曾庆宁,张少兵.一种语音端点检测方法的研究[J].桂林电子科技大学学报,2008,28(1):23-26.

[6]马少春,刘庆华,张越峰.基于MCZT的二次相关时延估计算法[J].桂林电子科技大学学报,2014,34(5):349-353.

[7]钟金荣,梁宇,林嘉宇.一种双通道语音增强方法[J].计算机工程与科学,2012,34(5):172-177.

[8]李兴华.Java开发实战经典[M].北京,清华大学出版社,2009:137-151.

[9]邓翔宇.语音PCM的Huffman编码研究与实现[J].自动化与仪器仪表,2010,10(2):121-122.

编辑:曹寿平

Single and dual-channel hearing aids based on Android mobile platform

MA Jinglong, ZENG Qingning, LONG Chao, XIE Xianming

(School of Information and Communication Engineering, Guilin University of Electronic Technology, Guilin 541004, China)

Abstract:In order to provide better hearing effect for the hearing patients in a noisy environment, a single and dual-channel hearing aids based on Android mobile platform was designed. The audio module of Android system was utilized to invoke and cache the speech data from microphone, and then the speech data was sent to the audio module after processing with the single and dual-channel algorithm. The test results show that user can hear clearly enhanced speech from the headset through the signal and dual-channel noise cancellation function, the noise is eliminated effectively.

Key words:Android mobile platform; hearing aids; speech enhancement

中图分类号:TN912.3

文献标志码:A

文章编号:1673-808X(2016)01-0005-04

通信作者:曾庆宁(1963-),男,广西桂林人,教授,博士,研究方向为语音、医学信号处理。E-mail:qingningzeng@126.com

基金项目:国家自然科学基金(61461011,41204179);广西自然科学基金(2014GXNSFBA118273,2012GXNSFAA053232);桂林电子科技大学研究生教育创新计划(GDYCSZ201456)

收稿日期:2015-08-25

猜你喜欢
移动平台助听器
220年前的助听器:科技的力量、社会的进步
关于助听器您需要了解的知识
《梁东兄置助听器得佳句,余和之》
助听器会不会越戴越聋
基于移动式培训评估系统的培训闭环管理研究与探索
基于移动平台的电力营销系统应用探析
数字化校园中统一移动平台的实践与探索
电子商务企业营销观念浅析
浅析移动互联网营销
眼镜助听器