一种实现麦克风阵列硬件状态检测的方法技术

技术编号:20370466 阅读:90 留言:0更新日期:2019-02-16 20:37
本发明专利技术公开了一种实现麦克风阵列硬件状态检测的方法,通过android设备播放测试音频,利用alsa采集音频数据,对数据做算法处理,实时更新测试结果,达到检测麦克风硬件状态的目的。解决对额外检测设备的依赖,依靠自身完成录音,数据剥离,麦克风检测算法,结果反馈。实现了数字化,自动化的检测形式,更加直观反馈麦克风详细信息,高效地完成检测任务。麦克风检测效率的提高,可以使时间、人力成本得到减少。且本专利提供的方案,利用了android平台的优势,在自身设备上实现了麦克风硬件检测。其拓展性也决定了可以将此方案应用到其他不同的平台。

A Method of Realizing Hardware State Detection of Microphone Array

The invention discloses a method for realizing the state detection of microphone array hardware. The test audio is played by Android device, the audio data is collected by alsa, the data is processed by algorithm, and the test results are updated in real time to achieve the purpose of detecting the microphone hardware state. Solve the dependence on additional detection equipment, rely on their own completion of recording, data stripping, microphone detection algorithm, results feedback. It realizes digitalization and automation of the detection form, more intuitive feedback of microphone details, and efficiently completes the detection task. The improvement of microphone detection efficiency can reduce the time and manpower cost. And the scheme provided by this patent makes use of the advantage of Android platform and realizes microphone hardware detection on its own devices. Its expansibility also determines that this scheme can be applied to other different platforms.

【技术实现步骤摘要】
一种实现麦克风阵列硬件状态检测的方法
本专利技术涉及音频采集和处理
,尤其涉及一种实现麦克风阵列硬件状态检测的方法。
技术介绍
随着智能家居从概念趋于成熟,配备语音控制技术的家居越来越多的出现在人们的生活中。从近处语音语音识别,到中场语音识别,再到远场语音识别,都离不开语音采集技术和麦克风硬件的高速发展。保证麦克风阵列的质量、正常的工作状态,对于语音识别来说也就显得尤为重要。目前的远场麦克风阵列领域中,麦克风检查的方式可以大体总结为两种。.1.播放测试音频,利用麦克风阵列拾音,并存储音频文件。二次播放录音数据、波形测试实现对麦克风质量的检测评估。2..麦克风听筒回环测试。以上所述检查方式均有不可避免的缺陷。其中,测试音频播放,二次录音检测除去麦克风录音的时间,需要大量额外的工作。并且需要专门的额外设备支持。麦克风听筒回环测试则不完全适用于远场麦克风阵列的检测,效率及准确度也无法得到提升。若能将音频播放,拾音,检测,结果显示集中于一体,麦克风检查的效率能得到可观的提升,并且无需额外设备的支撑。
技术实现思路
本专利技术的目的就在于为了解决上述问题而提供一种实现麦克风阵列硬件状态检测的方法,通过android设备播放测试音频,利用alsa采集音频数据,对数据做算法处理,实时更新测试结果,达到检测麦克风硬件状态的目的。也可拓展至其他平台。本专利技术通过以下技术方案来实现上述目的:一种实现麦克风阵列硬件状态检测的方法,包括以下步骤:步骤一、配置麦克风检测服务;步骤二、通过扬声器播放检测音频文件:步骤三、打开麦克风通道进行音频采样;a)采样数据由short型指针存储,其中前8位两两对应各个麦克风数据;b)采样8K数据,分离麦克风数据,分别用short型数组存储,记为mic1[],mic2[],mic3[],mic4[],长度为512;c)每个麦克风累加当前数据数组每一位的平方,记为length1,length2,length3,length4。d)累计5次,即5*8K数据,计算五次数据中,各个mic在c)步骤的length除以512的累计和,记为N1,N2,N3,N4;e)对N1,N2,N3,N4求5次采样的平均数再开方,结果为当前五次采样的平均能量值,向上返回该结果,并将未开方的结果“记为n1,n2,n3,n4”用作相对分贝值的计算;f)对e)中保留结果n1,n2,n3,n4取10为底的对数乘以10,结果为当前各个麦克风的分贝值db1,db2,db3,db4,求出最大分贝max及其对应的mic,最小分贝min及其对应的mic,平均分贝ave。计算max-min>average_db/6时的时候如果有max_db-average_db>average_db-min_db;则max对应的mic记录为异常,反之若max_db-average_db<average_db-min_db,则min对应的mic记录为异常。若db1,db2,db3,db4中有任意数值为0,也记录为异常;保留所有异常对应的mic标签,向上返回db1,db2,db3,db4;g)向上返回异常信息,标注出检测未通过的麦克风标签;步骤四、麦克风检测服务:服务对下层返回的信息做区分,在应用页面上实时更新平均能量和相对分贝值,检测完毕后,更新检测结果;步骤五、停止播放音频,检测过程结束。更进一步的方案是:所述步骤三中,打开声卡设备节点,拾取麦克风采集的各路通道数据;并在底层检测服务中,直接实时将采集的录音数据提供给算法。更进一步的方案是:所述步骤三中,设置为为四路麦克风,按四个麦克风数据采集时的排列方式将数据进行剥离,采集时用的short型存储,则每个short的前两位为第一个麦克风的数据,三四位为第二个麦克风数据,五六位为第三个麦克风数据,七八位为第四个麦克风数据,都由shot型存储,剩余的八位由于不需要,直接丢弃。更进一步的方案是:本专利技术的的TV设备内置androidTV,可实现自身播放音频,无需借助其他设备。本专利技术的有益效果在于:本专利技术的一种实现麦克风阵列硬件状态检测的方法,解决对额外检测设备的依赖,依靠自身完成录音,数据剥离,麦克风检测算法,结果反馈。实现了数字化,自动化的检测形式,更加直观反馈麦克风详细信息,高效地完成检测任务。通过android设备播放测试音频,利用alsa采集音频数据,对数据做算法处理,实时更新测试结果,达到检测麦克风硬件状态的目的。麦克风检测效率的提高,可以使时间、人力成本得到减少。且本专利提供的方案,利用了android平台的优势,在自身设备上实现了麦克风硬件检测。其拓展性也决定了可以将此方案应用到其他不同的平台。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。如图1所示,一种实现麦克风阵列硬件状态检测的方法,包括以下步骤:步骤一、配置麦克风检测服务;步骤二、通过扬声器播放检测音频文件:步骤三、打开麦克风通道进行音频采样;a)采样数据由short型指针存储,其中前8位两两对应各个麦克风数据;b)采样8K数据,分离麦克风数据,分别用short型数组存储,记为mic1[],mic2[],mic3[],mic4[],长度为512;c)每个麦克风累加当前数据数组每一位的平方,记为length1,length2,length3,length4。d)累计5次,即5*8K数据,计算五次数据中,各个mic在c)步骤的length除以512的累计和,记为N1,N2,N3,N4;e)对N1,N2,N3,N4求5次采样的平均数再开方,结果为当前五次采样的平均能量值,向上返回该结果,并将未开方的结果“记为n1,n2,n3,n4”用作相对分贝值的计算;f)对e)中保留结果n1,n2,n3,n4取10为底的对数乘以10,结果为当前各个麦克风的分贝值db1,db2,db3,db4,求出最大分贝max及其对应的mic,最小分贝min及其对应的mic,平均分贝ave。计算max-min>average_db/6时的时候如果有max_db-average_db>average_db-min_db;则max对应的mic记录为异常,反之若max_db-average_db<average_db-min_db,则min对应的mic记录为异常。若db1,db2,db3,db4中有任意数值为0,也记录为异常;保留所有异常对应的mic标签,向上返回db1,db2,db3,db4;g)向上返回异常信息,标注出检测未通过的麦克风标签;步骤四、麦克风检测服务:服务对下层返回的信息做区分,在应用页面上实时更新平均能量和相对分贝值,检测完毕后,更新检测结果;步骤五、停止播放本文档来自技高网...

【技术保护点】
1.一种实现麦克风阵列硬件状态检测的方法,其特征在于,包括以下步骤:步骤一、配置麦克风检测服务;步骤二、通过扬声器播放检测音频文件:步骤三、打开麦克风通道进行音频采样;a)采样数据由short型指针存储,其中前8位两两对应各个麦克风数据;b)采样8K数据,分离麦克风数据,分别用short型数组存储,记为mic1[],mic2[],mic3[],mic4[],长度为512;c)每个麦克风累加当前数据数组每一位的平方,记为length1,length2,length3,length4。d)累计5次,即5*8K数据,计算五次数据中,各个mic在c)步骤的length除以512的累计和,记为N1,N2,N3,N4;e)对N1,N2,N3,N4求5次采样的平均数再开方,结果为当前五次采样的平均能量值,向上返回该结果,并将未开方的结果“记为n1,n2,n3,n4”用作相对分贝值的计算;f)对e)中保留结果n1,n2,n3,n4取10为底的对数乘以10,结果为当前各个麦克风的分贝值db1,db2,db3,db4,求出最大分贝max及其对应的mic,最小分贝min及其对应的mic,平均分贝ave。计算max‑min>average_db/6时的时候如果有max_db‑average_db>average_db‑min_db;则max对应的mic记录为异常,反之若max_db‑average_db<average_db‑min_db,则min对应的mic记录为异常。若db1,db2,db3,db4中有任意数值为0,也记录为异常;保留所有异常对应的mic标签,向上返回db1,db2,db3,db4;g)向上返回异常信息,标注出检测未通过的麦克风标签;步骤四、麦克风检测服务:服务对下层返回的信息做区分,在应用页面上实时更新平均能量和相对分贝值,检测完毕后,更新检测结果;步骤五、停止播放音频,检测过程结束。...

【技术特征摘要】
1.一种实现麦克风阵列硬件状态检测的方法,其特征在于,包括以下步骤:步骤一、配置麦克风检测服务;步骤二、通过扬声器播放检测音频文件:步骤三、打开麦克风通道进行音频采样;a)采样数据由short型指针存储,其中前8位两两对应各个麦克风数据;b)采样8K数据,分离麦克风数据,分别用short型数组存储,记为mic1[],mic2[],mic3[],mic4[],长度为512;c)每个麦克风累加当前数据数组每一位的平方,记为length1,length2,length3,length4。d)累计5次,即5*8K数据,计算五次数据中,各个mic在c)步骤的length除以512的累计和,记为N1,N2,N3,N4;e)对N1,N2,N3,N4求5次采样的平均数再开方,结果为当前五次采样的平均能量值,向上返回该结果,并将未开方的结果“记为n1,n2,n3,n4”用作相对分贝值的计算;f)对e)中保留结果n1,n2,n3,n4取10为底的对数乘以10,结果为当前各个麦克风的分贝值db1,db2,db3,db4,求出最大分贝max及其对应的mic,最小分贝min及其对应的mic,平均分贝ave。计算max-min>average_db/6时的时候如果有max_db-average_db>average_db-min_db;则max对应的mic记录为异...

【专利技术属性】
技术研发人员:刘岱鑫吴占伟
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1