testdenoise.c
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:1k
源码类别:

Windows CE

开发平台:

C/C++

  1. #ifdef HAVE_CONFIG_H
  2. #include "config.h"
  3. #endif
  4. #include <speex/speex_preprocess.h>
  5. #include <stdio.h>
  6. #define NN 160
  7. int main()
  8. {
  9.    short in[NN];
  10.    int i;
  11.    SpeexPreprocessState *st;
  12.    int count=0;
  13.    float f;
  14.    st = speex_preprocess_state_init(NN, 8000);
  15.    i=1;
  16.    speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DENOISE, &i);
  17.    i=0;
  18.    speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC, &i);
  19.    f=8000;
  20.    speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC_LEVEL, &f);
  21.    i=0;
  22.    speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB, &i);
  23.    f=.4;
  24.    speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f);
  25.    f=.3;
  26.    speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f);
  27.    while (1)
  28.    {
  29.       int vad;
  30.       fread(in, sizeof(short), NN, stdin);
  31.       if (feof(stdin))
  32.          break;
  33.       vad = speex_preprocess(st, in, NULL);
  34.       /*fprintf (stderr, "%dn", vad);*/
  35.       fwrite(in, sizeof(short), NN, stdout);
  36.       count++;
  37.    }
  38.    speex_preprocess_state_destroy(st);
  39.    return 0;
  40. }