簡體   English   中英

將語音信號分為10ms非重疊窗口

[英]Dividing speech signal into 10ms non overlapping windows

在我的應用程序中,我需要將來自麥克風的整個語音信號(采樣后)划分為10 ms的非重疊窗口。

我目前在我的代碼中使用漢寧窗口來做到這一點:

public short[] HanningWindow(short[] signal_in, int pos, int size)
    {
for (int i = pos; i < pos + size; i++)
{
    int j = i - pos; // j = index into Hann window function
    signal_in[i] = (short) (signal_in[i] * 0.5 * (1.0 - Math.cos(2.0 * Math.PI * j / size)));
}
return signal_in;
   }

現在我的問題是,我在哪里指定我需要10ms不重疊的窗口?

您只需將信號分解為Fs * 0.01個樣本,例如,如果您的采樣率Fs = 44.1 kHz,則可以處理4410個樣本的連續塊。 然后,您可以將窗口函數,FFT等應用於441個樣本的每個塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM