一种检测手指敲击声实现开关的方法技术

技术编号:37369361 阅读:10 留言:0更新日期:2023-04-27 07:15
一种检测手指敲击声实现开关的方法,属于声音处理领域,包括:S1、声感区域划分;S2、数据采集;S3、数据标注;S5、神经网络模型设计和训练;S6、加载、编译手指敲击检测神经网络模型;S7、接收声音信号,模型对声音信号进行预判分类;S8、模型对分类后的声音信号的每帧识别结果进行解码,并且缓存解码序列;S9、解析序列,判断是否为有效敲击;若是,则启动被控目标物的开关操作;若否,则保持被控目标物的原有状态。本发明专利技术通过手指敲击被控目标物的声感区域实现开关控制,无需借用外部设备;通过手指敲击检测神经网络模型预判接收到声音信号为哪个标签,同时结合有效的解码、解析策略,不仅识别率很高,而且避免误触发。而且避免误触发。而且避免误触发。

【技术实现步骤摘要】
一种检测手指敲击声实现开关的方法


[0001]本专利技术属于声音处理
,具体涉及一种检测手指敲击声实现开关的方法。

技术介绍

[0002]开关操作是人类进行人机交互最频繁使用的功能之一,最常见的交互方式是通过按钮、触摸屏幕或触控面板、遥控器或者手机APP万能遥控器。现在也有通过语音直接人机对话,也可以通过无线电波等多种信号,通过传感器接收超声波、红外或者激光等方式,实现开关控制。
[0003]由于遥控器、触摸屏或触控面板、按钮、手机APP都是外部设备,可能面临各种问题。例如遥控器需要电池或者可能一时半会找不到;触摸屏或触控面板有特定位置,可能手湿会失灵,或者接触面太小,在夜间不便操作;按键可能不卫生(尤其在疫情期间),也比较容易失灵;手机APP可能依赖网络,需要对准设备;语音控制在线需要网络,语音离线可能识别率不好。因此,有必要开发一种方式,不用借用外部设备,直接接触机器实现开关操作。

技术实现思路

[0004]鉴于现有技术的不足,本专利技术的目的在于提供一种检测手指敲击声实现开关的方法,其用神经网络模型分析是否为手指敲击信号声,简化和实现人机交互中的“开关功能”。
[0005]为实现上述目的,本专利技术采用如下技术方案:一种检测手指敲击声实现开关的方法,包括:S1、声感区域划分:将被控目标物的外表面划分成若干个可供手指敲击的声感区域;S2、数据采集:在被控目标物的内部安装麦克风,让多个敲击人分别多次手指敲击声感区域,通过麦克风采集静音、敲击的起始音、敲击的拖尾音和噪音;S3、数据标注:将静音、敲击的起始音、敲击的拖尾音作为正样本数据进行标注,静音标注为第一标签,敲击的起始音标注为第二标签,敲击的拖尾音标注为第三标签;将噪音作为负样本数据进行标注,噪音标注为第四标签;标注后的正样本数据和负样本数据组成数据集合;S4、数据集合加噪、特征提取、打乱、分割:将数据集合进行加噪、特征提取,得到带有标签数据的数据特征;将数据特征打乱后,分割成训练集、校验集、测试集;S5、神经网络模型设计和训练:采用卷积神经网络模型,其损失函数采用多分类交叉熵损失函数;将训练集、校验集、测试集放入卷积神经网络模型中进行训练,得到手指敲击检测神经网络模型;S6、加载、编译手指敲击检测神经网络模型;S7、通过麦克风接收声音信号,由手指敲击检测神经网络模型对声音信号进行预判分类,分类为静音、敲击的起始音、敲击的拖尾音或噪音;S8、由手指敲击检测神经网络模型对分类后的声音信号的每帧识别结果进行解
码,并且缓存解码得到的序列;S9、由解码器的后滤波器解析序列,判断是否为有效敲击;若是,则启动被控目标物的开关操作;若否,则保持被控目标物的原有状态。
[0006]优选地,步骤S2中的麦克风套设有硅胶套。
[0007]优选地,步骤S2中的手指敲击包含手指尖敲击、手指腹敲击和手指关节敲击。
[0008]优选地,步骤S2中的手指敲击的力度为每个敲击人按个人认为舒适的方式随意敲击。
[0009]优选地,步骤S2中的手指敲击的方式和次数为:(1)手指尖敲击:每个敲击人在每个声感区域敲击M次,包含N次连续敲击两下和(M

N)次连续敲击三下;(2)手指腹敲击:每个敲击人在每个声感区域敲击M次,包含N次连续敲击两下和(M

N)次连续敲击三下;(3)手指关节敲击:每个敲击人在每个声感区域敲击M次,包含N次连续敲击两下和(M

N)次连续敲击三下。
[0010]优选地,所述连续敲击为相邻2次敲击的时间不超过200ms。
[0011]优选地,步骤S4中的特征提取采用均衡Fbank特征提取方法。
[0012]优选地,所述均衡Fbank特征提取方法的具体流程为:(1)设原始的输入数据为x,圆周率为FPI,傅里叶变化点数为N,最高频为Max_freq,最低频为Min_freq,生成容器个数为M;(2)生成抖动因子,具体如下:用余弦函数把抖动因子限定在一个范围内,即d_feat=sqrt(

2*log(d_)*cos(2*FPI*d_),其中d_为均值为0、方差为1的高斯分布;抖动因子为dither=(d_feat*2.0f)

1.0f),其中f表示浮点数;(3)原始数据加上抖动因子:x_D=x+dither;(4)处理后的每400个点,即25ms,取均值,然后做规整,具体如下:对x_D取均值:x_bar=mean(x_D);减去直流分量,做规整,防止变化太大:x_f=x_D

x_bar;(5)预加重:第一个点,直流分量为x_pre(i)=x_f(i)*0.05,其中i=0;从第二个点直到后面的点,做差分:x_pre(i)=x_f(i)

x_f(i

1)*0.95,其中i=1,2,3,
……
,N;(6)添加汉明窗,具体如下:汉明窗的数值大小:ham=0.54

0.46*cos((2FPI/(N

1))*i),其中i=0,2,3,
……
,N;数据加窗:x_H=x_pre*ham;(7)N个点的短时傅里叶变换:由时域变换到频域,即X_H=fft(x_H,N);(8)取能量谱:X_E=real(X_H)^2+imag(X_H)^2;
(9)均衡生成对应的容器:频谱带宽:SPAN_freq=(Max_freq

Min_freq);平均容器大小:B_s=SPAN_freq/(M+1);对应点相乘:X_c=X_E*SPAN_freq[j*B_s:(j+1)*B_s],其中j=0,2,3,
……
,M;(10)每个容器内的点相加求和,然后取自然对数,即得到均衡的Fbank:Unibank[j]=Log(sum(X_c[j*B_s:(j+1)*B_s])),其中j=j=0,2,3,
……
,M。
[0013]优选地,步骤S9中的后滤波器的后滤波算法流程如下:(1)把神经网络解码得到的序列以及对应的概率放入缓冲区A和A_PRO;(2)分析缓冲区A和A_PROB,合并相同且相邻的类别,放入缓冲区B,且记录下连续相同类别的区间长度,放入缓冲区B_SPAN,且计算出区间长度内的均值概率放入B_PROB;(3)根据缓冲区B、B_SPAN和B_PROB:如果是连续2

5帧的第二标签,把第二标签放入缓冲区C,如果是连续4

10帧的第三标签,把第三标签放入C,否则把第一标签放入缓冲区C,且把分别类别对应的概率放入C_PROB;(4)对缓冲区C、C_PROB和B_SPAN进行二次解码,在缓冲区C里面找到相邻的第二标签和第三标签,且它们的概率分别超过设定的阀值,且敲击时长不超过27帧且含有两次或三次敲击声,判断为有效敲击,否则为无效敲击。
[0014]优选地,步骤S9中的有效敲击为2次或3次连续敲击。
[0015]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种检测手指敲击声实现开关的方法,其特征在于,包括:S1、声感区域划分:将被控目标物的外表面划分成若干个可供手指敲击的声感区域;S2、数据采集:在被控目标物的内部安装麦克风,让多个敲击人分别多次手指敲击声感区域,通过麦克风采集静音、敲击的起始音、敲击的拖尾音和噪音;S3、数据标注:将静音、敲击的起始音、敲击的拖尾音作为正样本数据进行标注,静音标注为第一标签,敲击的起始音标注为第二标签,敲击的拖尾音标注为第三标签;将噪音作为负样本数据进行标注,噪音标注为第四标签;标注后的正样本数据和负样本数据组成数据集合;S4、数据集合加噪、特征提取、打乱、分割:将数据集合进行加噪、特征提取,得到带有标签数据的数据特征;将数据特征打乱后,分割成训练集、校验集、测试集;S5、神经网络模型设计和训练:采用卷积神经网络模型,其损失函数采用多分类交叉熵损失函数;将训练集、校验集、测试集放入卷积神经网络模型中进行训练,得到手指敲击检测神经网络模型;S6、加载、编译手指敲击检测神经网络模型;S7、通过麦克风接收声音信号,由手指敲击检测神经网络模型对声音信号进行预判分类,分类为静音、敲击的起始音、敲击的拖尾音或噪音;S8、由手指敲击检测神经网络模型对分类后的声音信号的每帧识别结果进行解码,并且缓存解码得到的序列;S9、由解码器的后滤波器解析序列,判断是否为有效敲击;若是,则启动被控目标物的开关操作;若否,则保持被控目标物的原有状态。2.根据权利要求1所述的一种检测手指敲击声实现开关的方法,其特征在于:步骤S2中的麦克风套设有硅胶套。3.根据权利要求1所述的一种检测手指敲击声实现开关的方法,其特征在于:步骤S2中的手指敲击包含手指尖敲击、手指腹敲击和手指关节敲击。4.根据权利要求1所述的一种检测手指敲击声实现开关的方法,其特征在于:步骤S2中的手指敲击的力度为每个敲击人按个人认为舒适的方式随意敲击。5.根据权利要求1所述的一种检测手指敲击声实现开关的方法,其特征在于:步骤S2中的手指敲击的方式和次数为:(1)手指尖敲击:每个敲击人在每个声感区域敲击M次,包含N次连续敲击两下和(M

N)次连续敲击三下;(2)手指腹敲击:每个敲击人在每个声感区域敲击M次,包含N次连续敲击两下和(M

N)次连续敲击三下;(3)手指关节敲击:每个敲击人在每个声感区域敲击M次,包含N次连续敲击两下和(M

N)次连续敲击三下。6.根据权利要求5所述的一种检测手指敲击声实现开关的方法,其特征在于:所述连续敲击为相邻2次敲击的时间不超过200ms。7.根据权利要求1所述的一种检测手指敲击声实现开关的方法,其特征在于:步骤S4中的特征提取采用均衡Fbank特征提取方法。8.根据权利要求7所述的一种检测手指敲击声实现开关的方法,其特征在于:所述均衡
Fbank特征提取方法的具体流程为:(1)设原始的输入数据为x,圆周率为FPI,傅里叶变化点数为N,最高频为Max_freq,最低频为Min_freq,生成容器个数为M;(2)生成抖动因子,具体如下:用余弦函数把抖动因子限定在一个范围内,即d_feat = sqrt(

2 * log(d_) * cos(2*FPI * d_),其中...

【专利技术属性】
技术研发人员:郑冰冰郑典郎
申请(专利权)人:泉州市音符算子科技有限公司
类型:发明
国别省市:

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

1