CN115798514B - 一种敲击声检测方法 - Google Patents
一种敲击声检测方法 Download PDFInfo
- Publication number
- CN115798514B CN115798514B CN202310064785.8A CN202310064785A CN115798514B CN 115798514 B CN115798514 B CN 115798514B CN 202310064785 A CN202310064785 A CN 202310064785A CN 115798514 B CN115798514 B CN 115798514B
- Authority
- CN
- China
- Prior art keywords
- frame
- condition
- sound
- value
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
Abstract
一种敲击声检测方法,包括敲击声检测过程,所述敲击声检测过程包括如下步骤:S1.利用麦克风采集声源发出的语音信号;S2.对非敲击声部分的噪声能量谱进行估计,得到非敲击声的能量谱;S3.计算敲击声最优增益函数:S4.根据步骤S3中计算得到的最优频谱增益计算得到当前帧上的平均增益和功率谱密度PSD;S5.以当前帧上的平均增益和功率谱密度进行敲击声检测;S6.根据S5步骤,判断是否发生连续敲击。采用本发明所述敲击声检测方法,首先对非敲击声部分的能量谱进行估计,估计敲击声能量谱的增益,最后,计算每一帧信号的增益函数与功率谱密度对敲击声进行检测,可对连续敲击声次数做出判断,从而实现精准的敲击识别。
Description
技术领域
本发明属于语音识别技术领域,具体涉及一种敲击声检测方法。
背景技术
在智能家电、智能家居以及各类智能设备的领域中,多功能以及智能化已经成为该领域产品所必备的特点。为了提升用户对产品的使用体验,能够对产品实现便捷地控制,需要产品具备一些更加人性化和能够适用于不同人群的功能。例如在家用电器的使用过程中,往往都需要用户用手去操作,就洗衣机而言,用户在使用时需要用手去触控按键或者旋钮才能完成正常的使用,用户在使用之前往往需要按照使用说明上的步骤才能逐渐上手,而对于行动不方便的人群或者老年人等人群,他们往往不太能短时间内就可以顺畅地使用一些设备,于是对于设备使用过程中的操作简化显得尤为重要。
而智能化的目的就是为了给用户提供便捷,可以通过设置一些特定的动作行为来控制设备的使用从而可以使得人人都能很容易操作。例如可以在一些设备上加入对敲击声的检测功能,可以设置敲击一次开启或者关闭设备,还可以设置不同的敲击次数以控制设备不同的模式或功能等等,可以极大地简化操作过程。现有技术中未见对敲击声的识别方法,或不能对连续敲击声作出准确判断。
发明内容
为克服现有技术存在的缺陷,本发明公开了一种敲击声检测方法,能够对连续敲击声作出准确判断。
本发明所述敲击声检测方法,包括敲击声检测过程,所述敲击声检测过程包括如下步骤S1至S5:
S1.利用麦克风采集声源发出的语音信号,经过数模转换之后处理为数字信号,麦克风接收信号y(n)表示为:
y(n)= x(n)+v(n),n表示第n帧;
式中x(n)表示的是输入语音信号,v(n)是噪声;
利用短时傅里叶变换,将麦克风接收信号y(n)进一步在时频域表示为:
Y(k,n)=X(k,n)+ V(k,n),k表示频率,n表示帧数;
其中X(k,n)和V(k,n)分别是x(n)和v(n)在时频域的表示形式;
S2.对非敲击声部分的噪声能量谱进行估计,得到非敲击声的能量谱
;
S3.计算敲击声最优增益函数:
S31.对观测信号的先验和后验信噪比分别进行估计
先验信噪比
;
式中αpr-SNR是信噪比权重因子,为小于1的正数,
γ(k,n)是观测信号后验信噪比,
;
而表示的是第n帧第k个频率敲击声存在时的条件增益:
;
其中积分下限μ(k,n)的表达式如下
;
最终可以求得估计敲击声功率谱的最优频谱增益
;
其中Gmin为增益下限常数;
S4.根据步骤S3中计算得到的最优频谱增益G(k,n),对每一帧的全部频率点上的增益求取一个平均值,便可以得到当前帧上的平均增益
式中n表示的是时间帧索引,k(k=1,2,...Kf)表示的是频率点索引,Kf表示的是最大频点;
计算观测信号的功率谱密度PSD
;
S5.以当前帧上的平均增益Gave(n)和观测信号的功率谱密度PSD进行敲击声检测;如果判断发生敲击,则进入S6步骤,否则继续判断;
S6.判断是否发生连续敲击,发生则输出连续敲击次数,否则返回步骤S5;
所述敲击声视为语音信号成分。
优选的,步骤S2具体为:
令H0(k,n)表示Y(k,n)= V(k,n);H1(k,n)表示Y(k,n)=X(k,n)+ V(k,n);
H0(k,n)表示的是第n帧的第k个频点上只有噪声,而H1(k,n)则表示在第n帧的第k个频点上有敲击声存在;
噪声在第n帧和第k个频点上的方差可以写为
--公式1
式中是非敲击声的能量谱,即噪声方差的估计值,上标∧表示待估计量,E[]表示求取期望值,||2表示求取功率谱;
在分别满足条件H0(k,n)和H1(k,n)时, 的计算公式如下:
--公式2
--公式3
式中αν是平滑参数,其值介于0和1之间,H0(k,n)和H0(k,n)分别表示语音不存在和语音存在的两种不同情况;
S21.对麦克风接收信号进行时频域能量平滑处理:
频域局部能量
式中b(i),i∈[-w,w]是一个长度为2w+1的窗函数的系数,∑是求和符号;
时域局部能量
S (k,n)=αs*S (k,n-1)+(1-αs)* Sf(k,n)
式中αs 是时域局部能量平滑因子,为一个小于1的正数;
S22.寻找局部能量谱最小值Smin(k,n)
定义临时变量Stmp(k,n)对最小值和临时变量分别进行初始化;
Smin(k,0)= Stmp(k,n)= S(k,0)
按照频点从第一帧即n=1开始逐帧进行比较:
Smin(k,n)=min[Smin(k,n-1), S (k,n)]
Stmp(k,n)=min[Stmp(k,n-1), S (k,n)]
式中min表示求取最小值,每当读取完N帧数据时,即利用临时变量Stmp(k,n)进行初始化,N为最大帧数;
Smin(k,n)=min[Stmp(k,n-1), S (k,n)]
Stmp(k,n)= S (k,n)
后面以N帧为一个周期,重复S22步骤,得到各个周期内的局部能量谱最小值Smin(k,n);
S23.计算敲击声存在概率
将Sr(k,n)定义为当前帧相应频点的局部能量谱与局部能量谱最小值的比值,即
Sr(k,n)= S(k,n)/ Smin(k,n)
则语音存在概率可以由以下等式计算得到
p (k,n)=αp*p (k,n-1)+(1-αp)*I(k,n)--公式4
式中αp是概率权重因子,其取值范围介于0和1之间;
定义
P(H1(k,n)| Y(k,n))= p (k,n)
P(H0(k,n)| Y(k,n)) =1-p (k,n);
P(H0(k,n)| Y(k,n))表示第n帧第k个频率上是噪声信号的概率,而P(H1(k,n)| Y(k,n))则表示的是第n帧第k个频率上是语音信号的概率,二者之和为1;
I(k,n)是一个形式如下的分段函数,
;
其中δ为局部能量谱判断常数;
由步骤S2中公式1可知,噪声的方差即能量谱,表示在第n帧的第k个频点处的能量谱,计算方法如下
将公式2和公式3带入上式并结合公式4
并令αd=αv+(1-αv)*p(k,n),
可得;
得到估计出噪声即非敲击声的能量谱。
优选的,所述步骤S5具体为:
S51.根据条件一判断是否发生了敲击;
条件一.每一帧信号的功率谱密度PSD和平均增益Gave(n) 的值均分别大于预设的功率谱密度阈值ηpsd和平均增益阈值ηG;
若当前帧满足上述条件一,则开始计数,统计帧数记为tn,每当满足判断条件一时,统计帧数tn 的值就加1;直到满足单次敲击终结条件;
S52.根据条件二判断单次敲击的终点:
条件二. 步骤S5得到的统计帧数tn∈[ηt1,ηt2],ηt1和ηt2为设置的敲击声检测范围的前、后端点值,单位为帧数;
如果满足条件二,则判定步骤11中发生了单次敲击声,不满足则认为未发生单次敲击;
每一次满足条件二,累计敲击次数值tnum值加1,同时将统计帧数tn的值重置为零。
优选的,所述单次敲击终结条件为后续帧不满足条件一,
或以下方式:
设置间隔置信值ηC ,首次出现后续帧不满足条件一的情况下,继续往后判断直至连续ηC帧均不满足条件一。
优选的,所述步骤S6具体为:
S61.设置间隔帧数最小阈值ηi1和间隔帧数最大阈值ηi2;
在每一次满足条件二后,设置间隔帧数tninter表示当前帧与上一次条件二发生时的帧数间隔,如果持续未满足步骤S5中的条件二,且间隔帧数tninter未达到设置的间隔帧数最大阈值ηi2,则间隔帧数tninter一直累加,即每一帧加1;
设置条件三:满足条件二时,tninter在[ηi1,ηi2]范围内;
若满足条件三,则表示下一次敲击发生且认为是连续敲击,将间隔帧数tninter置零,并对间隔次数fnum进行计数加1,
S62.重复步骤S61,每出现满足条件三的情况,则间隔次数fnum的值加1,直至不满足条件三,输出间隔次数fnum;则连续敲击次数tnum=fnum+1。
采用本发明所述敲击声检测方法,首先对非敲击声部分的能量谱进行估计,估计敲击声能量谱的增益,最后,计算每一帧信号的增益函数与功率谱密度对敲击声进行检测,可对连续敲击声次数做出判断,从而实现精准的敲击识别。
附图说明
图1为本发明所述敲击声检测方法的一种具体实施方式流程示意图;
图2为一个具体实施例中的敲击声波形图;图2中横坐标为时间(秒),纵坐标为无量纲参数幅值;
图3为一个具体实施例中的敲击声语谱图,图3中横坐标为时间(秒),纵坐标为频率(赫兹)。
具体实施方式
下面对本发明的具体实施方式作进一步的详细说明。
本发明所述的敲击声检测方法,如图1所示,包括如下步骤:
S1. 利用麦克风采集声源发出的语音信号,经过数模转换之后处理为数字信号。
麦克风接收信号y(n)表示为:
y(n)= x(n)+v(n),n表示第n帧;
式中x(n)表示的是输入语音信号,v(n)是噪声。本发明由于只关注对敲击声信号的检测,因此在本方法中将敲击声视为语音信号成分,而将非敲击的人声和背景噪声等视为噪声成分,下文中所涉及的相关部分皆与此相同,将不再赘述。
利用短时傅里叶变换(STFT变换),将麦克风接收信号y(n)进一步在时频域表示为:
Y(k,n)=X(k,n)+ V(k,n),k表示频率,n表示帧数;
其中X(k,n)和V(k,n)分别是x(n)和v(n)在时频域的表示形式。
S2. 利用IMCRA方法对非敲击声部分的噪声能量谱进行估计
为了便于问题的描述,令H0(k,n)表示Y(k,n)= V(k,n);H1(k,n)表示Y(k,n)=X(k,n)+ V(k,n)。H0(k,n)表示的是第n帧的第k个频点上只有噪声,而H1(k,n)则表示在第n帧的第k个频点上有敲击声的存在。
噪声在第n帧和第k个频点上的方差可以写为
--公式1
式中是噪声方差的估计值,上标∧表示待估计量,E[]表示求取期望值,||2表示求取功率谱。
为了获得噪声信号的估计值,需要在语音缺失期间即只有噪声的情况对噪声信号的测量使用时间递归平滑,噪声估计的更新过程可以表述为:在语音不存在的情况下,更新噪声的估计值,而在语音存在时则使用上一帧的噪声估计值作为当前帧噪声的估计值,在分别满足条件H0(k,n)和H1(k,n)时,估计值的计算公式如下:
--公式2
--公式3
式中αν是平滑参数,其值介于0和1之间。H0(k,n)和H0(k,n)分别表示语音不存在和语音存在的两种不同情况;
S21.对麦克风接收信号的时频域语音信号进行时频域能量平滑
这里采用最小值控制来计算语音存在概率,即基于当前带噪语音的能量谱(局部能量谱)与指定长度帧内带噪语音能量谱的最小值的比值来计算。
首先需要对语音信号的能量谱分别做频域和时域上的平滑处理以获得信号在频域局部能量Sf(k,n)和时域局部能量S (k,n)
进行频域平滑,可得频域局部能量
式中 b(i),i∈[-w,w]是一个长度为2w+1的窗函数的系数,∑是求和符号。
进行时域平滑,可得时域局部能量
S (k,n)=αs*S (k,n-1)+(1-αs)* Sf(k,n)
式中αs是时域局部能量平滑因子,为一个小于1的正数。
S22.寻找局部能量谱最小值Smin(k,n)
为方便描述,定义一个临时变量Stmp(k,n),对最小值和临时变量分别进行初始化:Smin(k,0)= Stmp(k,n)= S(k,0)
对局部能量和上一帧的最小值进行抽样比较,可以得到当前帧的最小值。按照频点从第一帧开始逐帧进行比较:
Smin(k,n)=min[Smin(k,n-1), S (k,n)]
Stmp(k,n)=min[Stmp(k,n-1), S (k,n)]
式中min表示求取最小值。每当读取完N帧数据时,临时变量就被采用,N为最大帧数并通过以下方式初始化
Smin(k,n)=min[Stmp(k,n-1),S (k,n)]
Stmp(k,n)= S (k,n)
后面以N帧为一个周期,重复上面两步,得到这个周期内的Smin(k,n)和Stmp(k,n)。
S23.计算敲击声存在概率
将Sr(k,n)定义为当前帧相应频点的能量谱(局部能量谱)与最小值的比值,即
Sr(k,n)= S(k,n)/ Smin(k,n)
则语音存在概率可以由以下等式计算得到
p (k,n)=αp*p (k,n-1)+(1-αp)*I(k,n)--公式4
式中αp是概率权重因子,其取值范围介于0和1之间。
p (k,n)=P(H1(k,n)| Y(k,n))
1-p (k,n)=P(H0(k,n)| Y(k,n))。
P(H0(k,n)| Y(k,n))表示第n帧第k个频率上是噪声信号的概率,而P(H1(k,n)| Y(k,n))则表示的是第n帧第k个频率上是语音信号的概率,二者之和为1。
此外,I(k,n)是一个分段函数,形式如下:
其中δ是局部能量谱判断常数。
由步骤S2中公式1可知,噪声的方差,即能量谱,它表示在第n帧的第k个频点处的能量谱,计算方法如下
将公式2和公式3带入上式并结合公式4可得
为了简化上式,令αd=αv+(1-αv)*p(k,n),于是上式可以进一步写成如下形式
于是便能估计出噪声(非敲击声)的能量谱。
S3.利用OMLSA方法计算敲击声最优增益函数:
首先是要对观测信号的先验和后验信噪比分别进行估计
式中表示的是先验信噪比,αpr-SNR是信噪比权重因子,为小于1的正数,γ(k,n)是观测信号后验信噪比,可以由噪声能量谱计算得到
而表示的是第n帧第k个频率敲击声存在时的条件增益:
其中积分下限μ(k,n)的表达式如下
最终可以求得估计敲击声功率谱的最优频谱增益
其中Gmin为增益下限,其值为一个常数。由上式可知,当敲击声存在时,G(k,n) 的取值变为;而当无敲击声时,G(k,n) 的取值则为Gmin。
S4.根据步骤S3中计算得到的增益G(k,n),对每一帧的全部频率点上的增益求取一个平均值,便可以得到当前帧上的平均增益
式中n表示的是时间帧索引,k(k=1,2,...Kf)表示的是频率点索引,Kf表示的是最大频点。
此外,为了提高对敲击声检测的准确性,对观测信号的功率谱密度PSD也加入计算。
对连续敲击事件的判断过程,依次按照以下判断顺序进行检测:
首先进行步骤S5.以当前帧上的平均增益Gave(n)观测信号的功率谱密度PSD进行敲击声检测;
S51.根据条件一判断是否发生了敲击;
条件一.每一帧信号的功率谱密度PSD和平均增益Gave(n) 的值均分别大于预设的功率谱密度阈值ηpsd和平均增益阈值ηG,两个阈值的取值是不同的常数。
若当前帧满足上述条件一,则开始计数,目的是为了统计满足条件一的数据连续有多少帧,统计帧数记为tn;每当满足判断条件一时,统计帧数tn的值就加1,本步骤终结的条件可以是后续帧不满足条件一;
为了降低误判率,一种优选方式为设置间隔置信值ηC,在tn大于零时,首次出现不满足条件一的情况下,继续往后判断该置信值所设置的帧数,直到连续不满足条件一的帧数超出间隔置信值的范围,才终结S51步骤。
设置间隔置信值的目的是避免由于噪音或其他原因导致不能出现连续符合条件一的帧数,而实际敲击已经发生。
S52.根据条件二判断单次敲击的终点:
条件二. 步骤S5得到的统计帧数tn∈[ηt1,ηt2],ηt1和ηt2为设置的敲击声检测范围的前后端点值,单位为帧数。
如果满足条件二,则判定步骤S5中发生了单次敲击声,不满足则认为未发生单次敲击。
由于需要对连续敲击声做出判断,一旦判断满足条件二后,意味着已经判断出现了单次敲击,此时对统计帧数tn归零,重新进行条件二的判断,判断后续是否再出现敲击;
每一次满足条件二,认为出现了一次敲击,累计敲击次数值记为tnum,当下一轮再次满足条件二的情况出现时则tnum的值加1,同时将统计帧数tn的值重置为零。
步骤S5中如果判断发生了敲击,则继续进行步骤S6,否则持续进行步骤S5。
S6.判断下一次敲击是否发生及是否属于上一次敲击的后续连续敲击;
本步骤用于判断两个相邻单次敲击是否可以认定为连续敲击,间隔时间过长和过短都不认为是连续敲击。
S61设置间隔帧数最小阈值ηi1和间隔帧数最大阈值ηi2;
在对单次敲击声做出判断发生之后,即在每一次满足条件二后,设置间隔帧数tninter表示当前帧与上一次条件二发生时的帧数间隔,
对间隔帧数tninter进行计数,对随后每来的新的一帧信号都继续进行步骤5,如果持续未满足步骤S5中的条件二,表示没有下一次敲击事件,在间隔帧数tninter且达到设置的间隔帧数最大阈值ηi2,则间隔帧数tninter一直累加,即每一帧加1;
设置条件三:满足条件二时,tninter在[ηi1,ηi2]范围内。
若间隔帧数tninter达到设置的间隔帧数最大阈值ηi2均未满足条件二,则认为未发生连续敲击,只有单次敲击。
若间隔帧数tninter未达到设置的间隔帧数最小阈值ηi1就满足条件二,也认为未发生连续敲击,只是一次声音较长的单次敲击;
若满足条件三,则表示下一次敲击发生且认为是连续敲击,将间隔帧数tninter置零,认为这是一次敲击间隔,并对间隔次数fnum进行计数
S62,重复步骤S61,每出现满足条件三的情况,则间隔次数fnum的值加1,直至不满足条件三,输出间隔次数fnum;则连续敲击次数tnum=fnum+1。例如,若有两次连续敲击声,则有一次间隔;三次连续敲击就有两次间隔,其他情况以此类推。
如果帧间隔数未达到设置的最小阈值ηi1,说明间隔过短,不能认为是连续敲击;而如果帧数超过了最大阈值ηi2,则表示在最大的间隔时间内未出现下一次敲击事件。两种情况下都将结束本轮连续敲击声的检测过程,同时将所有参数重置。
最后,可以判断连续敲击声次数和间隔次数是否都达到设置的目标判定次数:tnum=timax,fnum=fmax,如果达到则输出检测结果,将所有参数重置以开始下一轮检测过程,否则继续检测。
设置timax和fmax目的是方便运用在具体语音环境中,例如设置连续三次敲击认为可以打开抽油烟机,而连续两次敲击则认为是关闭抽油烟机。
具体实施例
S1.利用麦克风采集语音信号,并将采集到的信号利用短时傅里叶变换由时域变换到时频域进行处理。在本发明中,每一帧语音的长度设置为32 ms,帧移为8 ms,窗函数选择汉宁窗,采用512点的傅里叶变换,考虑到语音信号进行快速傅里叶变换之后的频谱具有共轭对称性,因此为了提高计算效率只选取一半的频点进行计算,即K=257。
S2.对非敲击声部分的能量谱进行估计。此处分为三个步骤,首先是在时域和频域上对能量进行平滑处理,分别计算出时域和频域上的局部能量;其次,寻找局部能量谱的最小值;最后是计算敲击声的存在概率。示例参数设置如下:平滑参数αν=0.7,时域局部能量平滑因子αs=0.85,局部能量谱判断常数δ=1.5,信噪比权重因子αpr-SNR=0.8,概率权重因子αp=0.3。
S3.计算敲击声最优增益函数:
S4.根据步骤S3中计算得到的最优频谱增益G(k,n),对每一帧的全部频率点上的增益求取一个平均值,便可以得到当前帧上的平均增益,增益下限Gmin=0.03。
S5.敲击声检测。依次按照条件一、条件二进行判断,
S6.连续敲击检测,根据条件三的判断最后可以输出对连续敲击声的检测结果。示例参数设置如下:
功率谱密度阈值ηpsd=10和平均增益阈值ηG=0.5,间隔置信值ηC=3,设置的敲击声检测范围的前后端点值ηt1和ηt2为分别为5和25;间隔帧数最小阈值ηi1=50和间隔帧数最大阈值ηi2=125。
如图2和图3所示,在输入波形图为图2时,利用本发明可得到如图3所示的语谱图,图2中从左至右依次发生了连续的2、2、3、3、4、4次敲击,图3中则检测并输出了检测结果的语谱图,与图2的敲击顺序一致。
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (5)
1.一种敲击声检测方法,包括敲击声检测过程,其特征在于,所述敲击声检测过程包括如下步骤S1至S5:
S1.利用麦克风采集声源发出的语音信号,经过数模转换之后处理为数字信号,麦克风接收信号y(n)表示为:
y(n)= x(n)+v(n),n表示第n帧;
式中x(n)表示的是输入语音信号,v(n)是噪声;
利用短时傅里叶变换,将麦克风接收信号y(n)进一步在时频域表示为:
Y(k,n)=X(k,n)+ V(k,n),k表示频率,n表示帧数;
其中X(k,n)和V(k,n)分别是x(n)和v(n)在时频域的表示形式;
S2.对非敲击声部分的噪声能量谱进行估计,得到非敲击声的能量谱
;
S3.计算敲击声最优增益函数:
S31.对观测信号的先验和后验信噪比分别进行估计
先验信噪比
;
式中αpr-SNR是信噪比权重因子,为小于1的正数,
γ(k,n)是观测信号后验信噪比,
;
而表示的是第n帧第k个频率敲击声存在时的条件增益:
;
其中积分下限μ(k,n)的表达式如下
;
最终可以求得估计敲击声功率谱的最优频谱增益;
;
其中Gmin为增益下限常数;
S4.根据步骤S3中计算得到的最优频谱增益G(k,n),对每一帧的全部频率点上的增益求取一个平均值,便可以得到当前帧上的平均增益
式中n表示的是时间帧索引,k(k=1,2,...Kf)表示的是频率点索引,Kf表示的是最大频点;
计算观测信号的功率谱密度PSD
;
S5.以当前帧上的平均增益Gave(n)和观测信号的功率谱密度PSD进行敲击声检测;如果判断发生敲击,则进入S6步骤,否则继续判断;
S6.判断是否发生连续敲击,发生则输出连续敲击次数,否则返回步骤S5;
所述敲击声视为语音信号成分。
2.如权利要求1所述的敲击声检测方法,其特征在于,步骤S2具体为:
令H0(k,n)表示Y(k,n)= V(k,n);H1(k,n)表示Y(k,n)=X(k,n)+ V(k,n);
H0(k,n)表示的是第n帧的第k个频点上只有噪声,而H1(k,n)则表示在第n帧的第k个频点上有敲击声存在;
噪声在第n帧和第k个频点上的方差可以写为
--公式1
式中是非敲击声的能量谱,即噪声方差的估计值,上标∧表示待估计量,E[]表示求取期望值,||2表示求取功率谱;
在分别满足条件H0(k,n)和H1(k,n)时, 的计算公式如下:
--公式2
--公式3
式中αν是平滑参数,其值介于0和1之间,H0(k,n)和H0(k,n)分别表示语音不存在和语音存在的两种不同情况;
S21.对麦克风接收信号进行时频域能量平滑处理:
频域局部能量
式中b(i),i∈[-w,w]是一个长度为2w+1的窗函数的系数,∑是求和符号;
时域局部能量
S (k,n)=αs *S (k,n-1)+(1-αs )* Sf(k,n)
式中αs 是时域局部能量平滑因子,为一个小于1的正数;
S22.寻找局部能量谱最小值Smin(k,n)
定义临时变量Stmp(k,n)对最小值和临时变量分别进行初始化;
Smin(k,0)= Stmp(k,n)= S(k,0)
按照频点从第一帧即n=1开始逐帧进行比较:
Smin(k,n)=min[Smin(k,n-1), S (k,n)]
Stmp(k,n)=min[Stmp(k,n-1), S (k,n)]
式中min表示求取最小值,每当读取完N帧数据时,即利用临时变量Stmp(k,n)进行初始化,N为最大帧数;
Smin(k,n)=min[Stmp(k,n-1), S (k,n)]
Stmp(k,n)= S (k,n)
后面以N帧为一个周期,重复S22步骤,得到各个周期内的局部能量谱最小值Smin(k,n);
S23.计算敲击声存在概率
将Sr(k,n)定义为当前帧相应频点的局部能量谱与局部能量谱最小值的比值,即
Sr(k,n)= S(k,n)/ Smin(k,n)
则语音存在概率可以由以下等式计算得到
p (k,n)=αp *p (k,n-1)+(1-αp )*I(k,n)--公式4
式中αp是概率权重因子,其取值范围介于0和1之间;
定义
P(H1(k,n)| Y(k,n))= p (k,n)
P(H0(k,n)| Y(k,n)) =1-p (k,n);
P(H0(k,n)| Y(k,n))表示第n帧第k个频率上是噪声信号的概率,而P(H1(k,n)| Y(k,n))则表示的是第n帧第k个频率上是语音信号的概率,二者之和为1;
I(k,n)是一个形式如下的分段函数,
;
其中δ为局部能量谱判断常数;
由步骤S2中公式1可知,噪声的方差即能量谱,表示在第n帧的第k个频点处的能量谱,计算方法如下
将公式2和公式3带入上式并结合公式4
并令αd =αv+(1-αv )*p(k,n),
可得;
得到估计出噪声即非敲击声的能量谱。
3.如权利要求1所述的敲击声检测方法,其特征在于,所述步骤S5具体为:
S51.根据条件一判断是否发生了敲击;
条件一.每一帧信号的功率谱密度PSD和平均增益Gave(n) 的值均分别大于预设的功率谱密度阈值ηpsd和平均增益阈值ηG;
若当前帧满足上述条件一,则开始计数,统计帧数记为tn,每当满足判断条件一时,统计帧数tn 的值就加1;直到满足单次敲击终结条件;
S52.根据条件二判断单次敲击的终点:
条件二. 步骤S5得到的统计帧数tn∈[ηt1,ηt2],ηt1和ηt2为设置的敲击声检测范围的前、后端点值,单位为帧数;
如果满足条件二,则判定步骤11中发生了单次敲击声,不满足则认为未发生单次敲击;
每一次满足条件二,累计敲击次数值tnum值加1,同时将统计帧数tn的值重置为零。
4.如权利要求3所述的敲击声检测方法,其特征在于,所述单次敲击终结条件为后续帧不满足条件一,
或以下方式:
设置间隔置信值ηC ,首次出现后续帧不满足条件一的情况下,继续往后判断直至连续ηC帧均不满足条件一。
5.如权利要求3所述的敲击声检测方法,其特征在于,所述步骤S6具体为:
S61.设置间隔帧数最小阈值ηi1和间隔帧数最大阈值ηi2;
在每一次满足条件二后,设置间隔帧数tninter表示当前帧与上一次条件二发生时的帧数间隔,如果持续未满足步骤S5中的条件二,且间隔帧数tninter未达到设置的间隔帧数最大阈值ηi2,则间隔帧数tninter一直累加,即每一帧加1;
设置条件三:满足条件二时,tninter在[ηi1,ηi2]范围内;
若满足条件三,则表示下一次敲击发生且认为是连续敲击,将间隔帧数tninter置零,并对间隔次数fnum进行计数加1,
S62.重复步骤S61,每出现满足条件三的情况,则间隔次数fnum的值加1,直至不满足条件三,输出间隔次数fnum;则连续敲击次数tnum=fnum+1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310064785.8A CN115798514B (zh) | 2023-02-06 | 2023-02-06 | 一种敲击声检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310064785.8A CN115798514B (zh) | 2023-02-06 | 2023-02-06 | 一种敲击声检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115798514A CN115798514A (zh) | 2023-03-14 |
CN115798514B true CN115798514B (zh) | 2023-04-21 |
Family
ID=85429904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310064785.8A Active CN115798514B (zh) | 2023-02-06 | 2023-02-06 | 一种敲击声检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115798514B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103456310A (zh) * | 2013-08-28 | 2013-12-18 | 大连理工大学 | 一种基于谱估计的瞬态噪声抑制方法 |
CN112889110A (zh) * | 2018-10-15 | 2021-06-01 | 索尼公司 | 音频信号处理装置及噪声抑制方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001269428A (ja) * | 2000-03-24 | 2001-10-02 | Namco Ltd | 打音検出システム及び情報記憶媒体 |
JP5017441B2 (ja) * | 2010-10-28 | 2012-09-05 | 株式会社東芝 | 携帯型電子機器 |
US10062395B2 (en) * | 2015-12-03 | 2018-08-28 | Loop Labs, Inc. | Spectral recognition of percussive sounds |
CN111684522A (zh) * | 2019-05-15 | 2020-09-18 | 深圳市大疆创新科技有限公司 | 声音识别方法、交互方法、声音识别系统、计算机可读存储介质及可移动平台 |
CN212058816U (zh) * | 2020-04-03 | 2020-12-01 | 代傲阿扣基金两合公司 | 敲击检测装置和具有敲击检测装置的家用电器 |
US11551689B2 (en) * | 2020-09-30 | 2023-01-10 | International Business Machines Corporation | Voice command execution |
JP2022064096A (ja) * | 2020-10-13 | 2022-04-25 | 学校法人常翔学園 | 打音処理方法、及び打音処理装置 |
CN112102818B (zh) * | 2020-11-19 | 2021-01-26 | 成都启英泰伦科技有限公司 | 结合语音活性检测和滑动窗噪声估计的信噪比计算方法 |
CN114550395B (zh) * | 2022-04-28 | 2022-07-19 | 常州分音塔科技有限公司 | 声音报警检测方法及设备 |
-
2023
- 2023-02-06 CN CN202310064785.8A patent/CN115798514B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103456310A (zh) * | 2013-08-28 | 2013-12-18 | 大连理工大学 | 一种基于谱估计的瞬态噪声抑制方法 |
CN112889110A (zh) * | 2018-10-15 | 2021-06-01 | 索尼公司 | 音频信号处理装置及噪声抑制方法 |
Non-Patent Citations (1)
Title |
---|
李超.基于语音信号特性的单通道语音增强算法研究.《中国博士学位论文全文数据库(信息科技辑)》.2022,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115798514A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107004409B (zh) | 利用运行范围归一化的神经网络语音活动检测 | |
CN103456310B (zh) | 一种基于谱估计的瞬态噪声抑制方法 | |
CN111149370B (zh) | 会议系统中的啸叫检测 | |
US9454976B2 (en) | Efficient discrimination of voiced and unvoiced sounds | |
WO2014153800A1 (zh) | 语音识别系统 | |
JP6361156B2 (ja) | 雑音推定装置、方法及びプログラム | |
CN101976566A (zh) | 语音增强方法及应用该方法的装置 | |
CN103109320A (zh) | 噪声抑制装置 | |
CN110265065B (zh) | 一种构建语音端点检测模型的方法及语音端点检测系统 | |
CN106875938A (zh) | 一种改进的非线性自适应语音端点检测方法 | |
CN111292758B (zh) | 语音活动检测方法及装置、可读存储介质 | |
CN106094598B (zh) | 声控开关控制方法、系统及声控开关 | |
CN112309417A (zh) | 风噪抑制的音频信号处理方法、装置、系统和可读介质 | |
CN111540342A (zh) | 一种能量阈值调整方法、装置、设备及介质 | |
Li et al. | Frame-Level Signal-to-Noise Ratio Estimation Using Deep Learning. | |
CN115798514B (zh) | 一种敲击声检测方法 | |
Zhang et al. | Fast nonstationary noise tracking based on log-spectral power mmse estimator and temporal recursive averaging | |
CN111739562B (zh) | 一种基于数据选择性和高斯混合模型的语音活动检测方法 | |
CN110689905B (zh) | 一种用于视频会议系统的语音活动检测系统 | |
CN103839544B (zh) | 语音激活检测方法和装置 | |
CN108538309B (zh) | 一种歌声侦测的方法 | |
KR100798056B1 (ko) | 높은 비정적인 잡음 환경에서의 음질 개선을 위한 음성처리 방법 | |
Prodeus et al. | Estimation of late reverberation spectrum: Optimization of parameters | |
CN102256201A (zh) | 用于助听器的自动环境识别方法 | |
JP2021015137A5 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |