ゼロ交差率は、信号に沿った符号変化の率、つまり、信号が正から負に、または逆に変化する率です。
ゼロ交差率 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-「低い」ゼロ交差率と「高い」ゼロ交差率はどのくらいかをどのように知ることができますか???