speex開源庫之前置處理(preprocess)

2021-07-04 01:18:55 字數 1065 閱讀 1310

speex的預處理包括自動增益控制(agc)、靜音檢測(vad)、回聲消除、重取樣、雜訊抑制。

api簡介

常用api

speex_preprocess_state_init

【功能】

預處理器初始化

【原型】

speexpreprocessstate *speex_preprocess_state_init(int frame_size, int sampling_rate);

【引數】

frmae_size   [in]每幀的大小(建議幀長為20ms)

sample_rate  [in]取樣率(支援8k、16k、44k)

【備註】

假如是16k的語音資料,幀長20ms等於320個取樣

speex_preprocess_run

【原型】

int speex_preprocess_run(speexpreprocessstate *st, spx_int16_t *x);

【功能】

處理一幀音訊資料

【返回值】

如果vad開啟,返回值為1表示有語音,為0表示靜音或者噪音

speex_preprocess_ctl 

【原型】

int speex_preprocess_ctl(speexpreprocessstate *st, int request, void *ptr);

【功能】

預處理器相關引數設定

【引數】

呼叫speex_preprocess_state_init返回的指標;

ctl巨集,檢視標頭檔案speex_preprocess.h

value值

speex_preprocess_state_destroy

【原型】

void speex_preprocess_state_destroy(speexpreprocessstate *st);

【功能】

銷毀資源

其它api

speex_preprocess_estimate_update

speex_preprocess

speex開源專案的學習

專案是用c寫的。solution中包含了以下10個project 1.libspeex speex動態庫,核心project,使用者使用的就是它,在solution中,介面標頭檔案很貼心的放在了乙個單獨的資料夾中,名為public header files。2.libspeexdsp 靜態庫,從頭檔...

speex編譯靜態庫for iOS

make install 在make install執行完成後,在 users share02 desktop libogg 這個路徑下面會生成i386的資料夾,在i386下面生成了libogg.a這個檔案,這就是i386環境用的ogg靜態庫 如果這個時候你的環境被你打亂,沒有按照順序成功執行,你可...

Speex庫除0錯誤 SIGFPE 排除

在專案中使用speex對實時採集到的音訊流進行去噪,發現執行一段時間後程式就會崩潰。然後再讓程式跑起來等著,出錯後得到如下資訊 0 0xb6e46390 in raise from lib libpthread.so.0 1 0xb6259ee4 in aeabi ldiv0 at gcc lina...