过零率是信号沿信号的符号变化率,即信号从正变为负或返回的速率。
过零率 Zn 可用于:
1-区分浊音/清音 2-将清音与静态背景噪声分开。
这是区分浊音和清音区域的一种简单(但有效)的方法:
• Voiced region: lower zero-crossing rate
• Unvoiced region: higher zero-crossing rate
这是我正在使用的代码:
public double evaluate(){
int numZC=0;
int size=signals.length;
for (int i=0; i<size-1; i++){
if((signals[i]>=0 && signals[i+1]<0) || (signals[i]<0 && signals[i+1]>=0)){
numZC++;
}
}
return numZC/lengthInSecond;
}
我的问题是:
1-我使用过零的目标是消除信号的清音部分,并且此代码返回过零率。那我该怎么做?!
2-我怎么知道“低”过零率是多少,“高”过零率是多少???