一种敲击麦克风阵列模拟按键操作的方法技术

技术编号:19176537 阅读:24 留言:0更新日期:2018-10-17 00:13
本发明专利技术提供一种敲击麦克风阵列模拟按键操作的方法,包括S1、设置并初始化敲击事件开始标志位及计时器;S2、以10ms数据作为基本处理单元,读取麦克风的采集数据;S3、检测采集数据是否满足敲击信号的变化特性,若满足,则进入S4;若不满足,在数据序列的末尾添加‘0’,并进入S5;S4、计算采集数据的过零率,根据过零率判断采集数据是否为敲击信号,如果是,在数据序列的末尾添加‘1’;如果否,在数据序列的末尾添加‘0’;S5、截取出一次完整的敲击事件;S6、根据截取的敲击事件从映射列表中搜索对应的期望操作,并执行该期望操作。通过本发明专利技术方法来实现通过敲击麦克风完成用户期望执行的功能,可有效的克服以往通过遥控器操作所带来的不便。

A method of hitting the microphone array to simulate key operation

The invention provides a method for knocking microphone array to simulate key operation, including S1, setting and initializing knocking event start flag and timer; S2, reading microphone acquisition data with 10ms data as basic processing unit; S3, detecting whether the acquisition data meets the change characteristics of knocking signal, if satisfied, If not, add'0'at the end of the data sequence and enter S5; S4, calculate the zero-crossing rate of the collected data, judge whether the collected data is a knock signal, if so, add'1' at the end of the data sequence; if not, add'0'at the end of the data sequence; S5, intercept out. Subcomplete knock events; S6. Search the corresponding expected operation from the mapping list according to the intercepted knock events and perform the expected operation. The method of the invention realizes the function that the user expects to perform by tapping the microphone, and can effectively overcome the inconvenience caused by the operation of the remote controller in the past.

【技术实现步骤摘要】
一种敲击麦克风阵列模拟按键操作的方法
本专利技术涉及语音通信
,特别涉及一种敲击麦克阵列模拟按键操作的方法。
技术介绍
在会议系统中,一般都是通过遥控器操作来完成用户期望执行的功能,如输出音量调节,左移、右移功能列表等操作,通过遥控器操作,不仅按键功能明确,且操作简单,成本低;但是通过遥控器操作存在如下缺陷:1、当遥控器出现故障时,会影响会议功能的正常使用;2、当有多人需要操作时,传递遥控器不便,影响使用体验。当然,现有技术中也存在有更便利的方式,例如,可以通过触摸屏来实现相关操作,更高级的可以通过语音识别来实现,但是,不管是触摸屏实现还是语音识别实现的成本都比较高,特别是语音识别实现,其需要大量样本训练,开发成本更高。
技术实现思路
本专利技术要解决的技术问题,在于提供一种敲击麦克阵列模拟按键操作的方法,通过该方法来实现通过敲击麦克风完成用户期望执行的功能,从而有效的克服了以往通过遥控器操作所带来的不便。本专利技术是这样实现的:一种敲击麦克阵列模拟按键操作的方法,所述方法包括如下步骤:步骤S1、设置敲击事件开始标志位以及计时器,并初始化敲击事件开始标志位和计时器;步骤S2、以10ms数据作为基本处理单元,读取麦克风的采集数据;步骤S3、检测读取的采集数据是否满足敲击信号的变化特性,若满足,则进入步骤S4;若不满足,则在数据序列的末尾添加‘0’,并进入步骤S5;步骤S4、计算采集数据的过零率,并根据计算出的过零率判断采集数据是否为敲击信号,且如果是,则在数据序列的末尾添加‘1’;如果否,则在数据序列的末尾添加‘0’;步骤S5、截取出一次完整的敲击事件;步骤S6、根据截取的敲击事件,解析数据序列,并从映射列表中搜索对应的期望操作,且执行该期望操作。进一步地,所述步骤S3具体为:设置满足敲击信号变化特性的基准值D1;将读取的采集数据以每1ms数据中的最大值作为采样点,共计选取10个采样点,并计算出这10个采样点中最大值与最小值之间的差值;同时,将计算出的差值与基准值D1进行比较,且如果差值大于基准值D1,则判定为满足敲击信号的变化特性,并进入步骤S4;如果差值小于等于基准值D1,则判定为不满足敲击信号的变化特性,此时需在数据序列的末尾添加‘0’,并进入步骤S5。更进一步地,所述基准值D1的取值范围为:0.5-0.8。进一步地,所述步骤S4具体为:设置敲击信号的基频值D2;获取采集数据的最大采样值v以及最大采样值出现的时间t,并以时间t为中心,往左获取采样值大于k*v的最小时刻t_left,往右获取采样值大于k*v的最大时刻t_right,其中,k用于决定过零率计算的信号范围,且计算出最小时刻t_left至最大时刻t_right范围内采集数据的过零次数z;同时,计算z/(t_right-t_left)得到频率值,并将得到的频率值与基频值D2进行比较,且如果频率值大于基频值D2,则将采集数据判定为敲击信号,并在数据序列的末尾添加‘1’;如果频率值小于等于基频值D2,则将采集数据判定为非敲击信号,并在数据序列的末尾添加‘0’。更进一步地,所述基频值D2的取值范围为:25-50次/ms。更进一步地,所述k的取值范围为:0.2~0.4。进一步地,所述步骤S5具体为:设置一次完整敲击事件的持续时间T1;当检测到第一个敲击信号时,令敲击事件开始标志位等于1,并开始截取敲击事件,同时,启动计时器开始进行计时;判断计时器的时间是否等于设置的持续时间T1,且如果是,则结束对敲击事件的截取,同时初始化敲击事件开始标志位和计时器,之后进入步骤S6;如果否,则进入步骤S2。更进一步地,所述持续时间T1的取值范围为:4-5s。进一步地,所述步骤S6具体为:制定敲击事件与期望操作的映射列表并进行保存;设置最大时间间隔T2;当截取完一次完整的敲击事件后,开始解析数据序列,且将一次完整的敲击事件解析为2位数d1和d2,具体包括:检测一次完整的敲击事件内是否存在一个相邻敲击信号的时间间隔大于设置的最大时间间隔T2,若是,则以这两个敲击信号之间的时间中点为分割点,将分割点前一段时间的累积敲击次数记为d1,将分割点后一段时间的累积敲击次数记为d2;若否,则将敲击事件内的累积敲击次数记为d1,将d2记为0;在解析完敲击事件后,根据解析出的d1和d2从映射列表中搜索出对应的期望操作,并执行该期望操作;同时,在执行完期望操作后,清除数据序列。更进一步地,所述最大时间间隔T2的取值范围为:0.5-1s。本专利技术具有如下优点:1、通过简单的麦克风敲击检测来完成用户期望执行的操作,不仅可以克服以往多人操作时需要传递遥控器或者遥控器出现故障所带来的不便,而且具有较好的功能扩展性,操作起来也特别方便;2、通过会议系统本身需要的麦克风来实现期望功能,而无需另外再扩展硬件支持,可极大的降低成本。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术一种敲击麦克阵列模拟按键操作的方法的执行流程图。具体实施方式具体实施例一:请参照图1所示,本专利技术一种敲击麦克阵列模拟按键操作的方法的较佳实施例,所述方法包括如下步骤:步骤S1、设置敲击事件开始标志位start以及计时器timer,并初始化敲击事件开始标志位和计时器,即令start=0,timer=0;步骤S2、以10ms数据作为基本处理单元,读取麦克风的采集数据,即每次都仅读取麦克风的10ms数据;由于一般语音的持续时间都大于10ms,而敲击麦克风产生的信号的持续时间小于10ms,所以,采取以10ms数据作为基本处理单元来读取麦克风的采集数据,并分析采集数据。步骤S3、检测读取的采集数据(10ms数据)是否满足敲击信号的变化特性,若满足,则进入步骤S4;若不满足,则在数据序列的末尾添加‘0’,即如果读取的10ms数据不满足敲击信号的变化特性,就在这10ms数据的末尾添加‘0’,以表示这10ms数据内没有敲击信号,并进入步骤S5;由于在敲击麦克风时,采集到的声音幅度都比较大,且信号持续的时间短,由此可知,敲击信号具有信号先快速上升,然后快速减小的特性。基于敲击信号具有信号变化快的特性,可以对采集数据进行初步判断。所述步骤S3具体为:设置满足敲击信号变化特性的基准值D1;将读取的采集数据以每1ms数据中的最大值作为采样点,共计选取10个采样点,并计算出这10个采样点中最大值与最小值之间的差值;同时,将计算出的差值与基准值D1进行比较,且如果差值大于基准值D1,则判定为满足敲击信号的变化特性,并进入步骤S4;如果差值小于等于基准值D1,则判定为不满足敲击信号的变化特性,此时需在数据序列的末尾添加‘0’,并进入步骤S5。在本专利技术具体实施例一中,所述基准值D1的取值为0.6。由于在具体对数据进行处理时,通常都会对采样点中的最大值和最小值都进行归一化处理,因此,基准值D1的取值也是一个归一化后的数值。步骤S4、计算采集数据的过零率,并根据计算出的过零率判断采集数据是否为敲击信号,且如果是,则在数据序列的末尾添加‘1’,以表示这10ms数据内有敲击信号;如果否,则在数据序列的末尾添加‘0’,以表示这10ms数据内没有敲击信号;因为选取的采集数据比较短(只有10ms数据),可能刚好会读取到语音的开始或者结束信号,而语音的开本文档来自技高网...

【技术保护点】
1.一种敲击麦克风阵列模拟按键操作的方法,其特征在于:所述方法包括如下步骤:步骤S1、设置敲击事件开始标志位以及计时器,并初始化敲击事件开始标志位和计时器;步骤S2、以10ms数据作为基本处理单元,读取麦克风的采集数据;步骤S3、检测读取的采集数据是否满足敲击信号的变化特性,若满足,则进入步骤S4;若不满足,则在数据序列的末尾添加‘0’,并进入步骤S5;步骤S4、计算采集数据的过零率,并根据计算出的过零率判断采集数据是否为敲击信号,且如果是,则在数据序列的末尾添加‘1’;如果否,则在数据序列的末尾添加‘0’;步骤S5、截取出一次完整的敲击事件;步骤S6、根据截取的敲击事件,解析数据序列,并从映射列表中搜索对应的期望操作,且执行该期望操作。

【技术特征摘要】
1.一种敲击麦克风阵列模拟按键操作的方法,其特征在于:所述方法包括如下步骤:步骤S1、设置敲击事件开始标志位以及计时器,并初始化敲击事件开始标志位和计时器;步骤S2、以10ms数据作为基本处理单元,读取麦克风的采集数据;步骤S3、检测读取的采集数据是否满足敲击信号的变化特性,若满足,则进入步骤S4;若不满足,则在数据序列的末尾添加‘0’,并进入步骤S5;步骤S4、计算采集数据的过零率,并根据计算出的过零率判断采集数据是否为敲击信号,且如果是,则在数据序列的末尾添加‘1’;如果否,则在数据序列的末尾添加‘0’;步骤S5、截取出一次完整的敲击事件;步骤S6、根据截取的敲击事件,解析数据序列,并从映射列表中搜索对应的期望操作,且执行该期望操作。2.根据权利要求1所述的一种敲击麦克风阵列模拟按键操作的方法,其特征在于:所述步骤S3具体为:设置满足敲击信号变化特性的基准值D1;将读取的采集数据以每1ms数据中的最大值作为采样点,共计选取10个采样点,并计算出这10个采样点中最大值与最小值之间的差值;同时,将计算出的差值与基准值D1进行比较,且如果差值大于基准值D1,则判定为满足敲击信号的变化特性,并进入步骤S4;如果差值小于等于基准值D1,则判定为不满足敲击信号的变化特性,此时需在数据序列的末尾添加‘0’,并进入步骤S5。3.根据权利要求2所述的一种敲击麦克风阵列模拟按键操作的方法,其特征在于:所述基准值D1的取值范围为:0.5-0.8。4.根据权利要求1所述的一种敲击麦克风阵列模拟按键操作的方法,其特征在于:所述步骤S4具体为:设置敲击信号的基频值D2;获取采集数据的最大采样值v以及最大采样值出现的时间t,并以时间t为中心,往左获取采样值大于k*v的最小时刻t_left,往右获取采样值大于k*v的最大时刻t_right,其中,k用于决定过零率计算的信号范围,且计算出最小时刻t_left至最大时刻t_right范围内采集数据的过零次数z;同时,计算z/(t_right-t_left)得到频率值,并将得到的频率值与...

【专利技术属性】
技术研发人员:何志辉刘敏薛建清
申请(专利权)人:福建星网智慧软件有限公司
类型:发明
国别省市:福建,35

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

1