首页 > 乐器声学 专利正文
基于智能手机的风噪声的判断方法、装置以及电子设备与流程

时间:2022-02-24 阅读: 作者:专利查询

基于智能手机的风噪声的判断方法、装置以及电子设备与流程

1.本发明涉及风噪声检测领域,特别涉及一种风噪声的判断方法、装置以及电子设备。


背景技术:

2.在移动设备录制音频时,除了声波会引起麦克风振动外,麦克风周围不确定的风也会引起麦克风的不规则振动,从而减低语音等有效信息的清晰度。
3.熵在信息论中代表着随机事件的不确定程度,一个系统越是有序则熵越小,越是无序则熵越大。在传统的语音信号处理领域中,熵被作为区分语音信号和噪声信号的特征。风信号作为一种典型的噪音信号,具有很强的不确定度,故可以用熵来区分风信号和语音信号,但熵作为一种特征来检测风信号的存在性尚未被应用。
4.移动设备在录制视频或者音频时,风噪声会对录制结果产生比较大的影响,特别是对于一些人通过感官判断不出来的风噪声,然而常见的测量仪器有翼状风速仪、风杯风速仪、超声波测风仪等。但这些都需要引入额外的硬件设备,缺乏通用性。在不添加外部设备时,只利用移动设备通过软件计算和判断出风存在性的方法,对语音增强等有着重要的意义。


技术实现要素:

5.为了解决上述问题,本发明提供一种能够仅仅通过移动设备自带的麦克风来测量风噪声的方法。
6.为了实现上述目的,本发明提供的技术方案是一种基于智能手机的风噪声的判断方法,包括:
7.获取麦克风一段连续时间内收集的数据;
8.对所述数据进行加窗处理;
9.对每个窗口内的数据计算香农熵的值,得出香农熵序列;
10.将所述香农熵序列中的值与设定阈值进行对比从而确定是否存在风噪声。
11.在上述判断方法中,进一步的,所述香农熵的值由公式(1)计算得出
[0012][0013]
其中,其中p(x)=p{x=x},即x=x的概率。
[0014]
在上述判断方法中,进一步的,
[0015]
p(x)=c(x)/s
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0016]
其中,c(x)为值x在窗口期出现的次数,s为窗口内的数值个数;
[0017]
在上述判断方法中,作为优选的一种技术方案,所述窗口长度为0.5s,窗口滑动步长为0.01s。
[0018]
在上述判断方法中,作为优选的一种技术方案,所述麦克风在收集并储存数据时,
使用两个mdata数组,每个数组存放一段时间的数据,当一个mdata数组存满,记录此刻的unix时间戳,同时用另一个数组存,并将unix时间戳和数组的数据存入文件中。
[0019]
在上述判断方法中,进一步的,将所述香农熵序列中的值与设定阈值进行对比从而确定是否存在风噪声,进一步包括:
[0020]
若香农熵的值大于设定阈值则判断为设备麦克风周围存在风;
[0021]
若香农熵的值小于设定阈值则判断为设备麦克风周围不存在风。
[0022]
在上述判断方法中,作为优选的一种技术方案,在采样率为22050时,所述设定阈值为11

13。
[0023]
第二方面,本发明提供一种基于智能手机的风噪声的判断装置,包括:
[0024]
获取单元,用于获取麦克风一段连续时间内收集的数据;
[0025]
处理单元,用于对所述数据进行加窗处理;
[0026]
计算单元,用于对每个窗口内的数据计算香农熵的值;
[0027]
对比单元,用于将所述香农熵序列中的值与设定阈值进行对比从而确定是否存在风噪声。
[0028]
第三方面,本发明提供一种电子设备,包括:一个或多个处理器;存储器;其中,所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行上述任意一项所述的基于智能手机的风噪声的判断方法。
[0029]
本发明相对于现有技术的有益效果是:该判断方法通过对移动设备自带的麦克风获取的数据进行加窗处理,进而计算数据的香农熵,通过香农熵与设定阈值的比较来判断移动设备的周围是否存在风噪声,不需要使用额外的设备,这样还可以保证移动设备录制视频或者音频的质量。
附图说明
[0030]
图1是本发明提供的一种基于智能手机的风噪声的判断方法的流程图;
[0031]
图2是只有风噪声时的熵值的折线图;
[0032]
图3是有风噪声和语音时的熵值的折线图;
[0033]
图4是有风噪声和背景噪声时的熵值的折线图;
[0034]
图5是本发明提供的一种基于智能手机的风噪声的判断方法的流程图。
具体实施方式
[0035]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]
如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
[0037]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0038]
参照图1,本实施例提供一种基于智能手机的风噪声的判断方法,包括以下步骤:
[0039]
s10:获取麦克风一段连续时间内收集的数据;所述麦克风为智能手机的麦克风;
[0040]
具体的,在本实施中,通过oboe库调用android的native层(本地服务),再调用设备麦克风进行音频录制,从而实现低延迟的数据采集。存储数据时,使用两个mdata数组,每个数组可以存放一分钟的数据。当一个数组存满,记录此刻的unix时间戳,同时用另一个数组存。将时间戳和数组的数据存入文件中。文件名的时间是通过java.util.date()获得系统当前的时间和日期,即开始记录数据的时间。写入文件的函数每500ms被唤醒一次。当采集时间不足一分钟时,将提示“数据采集时间过短,未生成文件”。保存的文件以“年











时长.txt”的文件名保存,文件每一行记录了一分钟的数据。
[0041]
在此需要说明的是,该麦克风为移动设备上自带的麦克风。
[0042]
s20:对所述数据进行加窗处理;
[0043]
在本实施例中,采样率为22050,选取窗口长度为0.5s,窗口滑动步长为0.01s。
[0044]
s30:对每个窗口内的数据计算香农熵的值,得出香农熵序列;
[0045]
具体的,对于一个选定的窗口,首先对离散化的数据进行计数统计,即得出一个包含所有出现过的数值的集合,然后用频率代替概率的方法计算出所有的p(x),即用公式(2)计算p(x)
[0046]
p(x)=c(x)/s
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0047]
其中,c(x)为值x在窗口期出现的次数,s为窗口内的数值个数;
[0048]
最后,用公式(1)计算香农熵的值
[0049][0050]
其中,其中p(x)=p{x=x},即x=x的概率。
[0051]
s40:将所述香农熵序列中的值与设定阈值进行对比从而确定是否存在风噪声。
[0052]
具体的,若香农熵的值大于设定阈值则判断为设备麦克风周围存在风;若香农熵的值小于设定阈值则判断为设备麦克风周围不存在风。
[0053]
在此需要说明的是,设定阈值为11

13,在本实施中,采用12。
[0054]
实验中,共采集了四组音频数据,每组数据时长为20分钟,采样模式为双通道,采样频率为22050hz。数据分别包含纯风噪、风噪与语音、风噪与背景噪音等三种情况,其中纯风噪数据两组。我们分别对三类数据在时域上求其熵随时间变化的折线图。我们采用长度为1s,步长0.01s的窗口作为求熵的基本单位,分别求其顶部麦克风、底部麦克风和二者相减后的值的熵。
[0055]
参照图2

4,图中,横坐标的时间是0.01秒1刻度,6000刻度代表1分钟,另外,最上方为移动设备底部麦克风的数据,中间为顶部麦克风的数据,底部为顶部加上底部麦克风的数据。具体的,在有风时,三种情况下的熵的值都稳定在13附近,无风时,熵值迅速下降;在无风时,参照图2,纯风噪数据的熵稳定在11附近,;参照图3,带语音的风噪数据的熵在10.5

11.5波动,参照图4,带背景噪音的风噪数据的熵在11

12波动。同时,在有风转无风时,熵的值的变化非常迅速,能够很快从13跌落到12一下,因此合理的阈值因设置12

12.5之间,这里我们选择12作为阈值。
[0056]
在另外一实施例中,本发明提供一种基于智能手机的风噪声的判断装置,包括:
[0057]
获取单元100,用于获取麦克风一段连续时间内收集的数据;在此需要说明的是,由于具体的获取方式以及过程在上述一种风噪声的判断方法的步骤s10中已经详细阐述,故在此不再赘述。
[0058]
处理单元200,用于对所述数据进行加窗处理;在此需要说明的是,由于具体的处理方式以及过程在上述一种风噪声的判断方法的步骤s20中已经详细阐述,故在此不再赘述。
[0059]
计算单元300,用于对每个窗口内的数据计算香农熵的值;在此需要说明的是,由于具体的计算方式以及过程在上述一种风噪声的判断方法的步骤s30中已经详细阐述,故在此不再赘述。
[0060]
对比单元400,用于将所述香农熵序列中的值与设定阈值进行对比从而确定是否存在风噪声,在此需要说明的是,由于具体的对比方式以及过程在上述一种风噪声的判断方法的步骤s40中已经详细阐述,故在此不再赘述。。
[0061]
另外,本技术实施例提供一种电子设备,包括:一个或多个处理器;一个或多个存储器;一个或多个应用程序;以及一个或多个计算机程序,上述各器件可以通过一个或多个通信总线连接。其中,该一个或多个计算机程序被存储在上述存储器中并被配置为被该一个或多个处理器执行,该一个或多个计算机程序包括指令,上述指令可以用于执行上述应实施例中图1所示的步骤s10

s40。
[0062]
应当理解的是电子设备中还可以包括显示屏、触摸传感器等器件,本技术实施例对此不做任何限制。
[0063]
另外,本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种基于智能手机的风噪声的判断方法的部分或全部步骤。
[0064]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0065]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read

only memory)、随机存取存储器
(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0066]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read

only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
[0067]
以上参照附图描述了根据本发明的实施例的用于风噪声的判断方法的示例性流程图。应指出的是,以上描述中包括的大量细节仅是对本发明的示例性说明,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,且各步骤之间的顺序、包含、功能等关系可以与所描述和图示的不同。