diff options
author | icculus <icculus@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2008-06-01 18:53:28 +0000 |
---|---|---|
committer | icculus <icculus@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2008-06-01 18:53:28 +0000 |
commit | 365b434ae956d192f2983ed9b2d863caa7d2ad75 (patch) | |
tree | 933aa6641899165f5308e0b70b9566f5bc91bc7f /code/libspeex/testdenoise.c | |
parent | b229b4d03d12aceb48df50ca6916a1058b1879fc (diff) | |
download | ioquake3-aero-365b434ae956d192f2983ed9b2d863caa7d2ad75.tar.gz ioquake3-aero-365b434ae956d192f2983ed9b2d863caa7d2ad75.zip |
Added libspeex to revision control, and updated Makefile to use it.
git-svn-id: svn://svn.icculus.org/quake3/trunk@1352 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/libspeex/testdenoise.c')
-rw-r--r-- | code/libspeex/testdenoise.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/code/libspeex/testdenoise.c b/code/libspeex/testdenoise.c new file mode 100644 index 0000000..42644cb --- /dev/null +++ b/code/libspeex/testdenoise.c @@ -0,0 +1,44 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <speex/speex_preprocess.h> +#include <stdio.h> + +#define NN 160 + +int main() +{ + short in[NN]; + int i; + SpeexPreprocessState *st; + int count=0; + float f; + + st = speex_preprocess_state_init(NN, 8000); + i=1; + speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DENOISE, &i); + i=0; + speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC, &i); + f=8000; + speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_AGC_LEVEL, &f); + i=0; + speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB, &i); + f=.0; + speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f); + f=.0; + speex_preprocess_ctl(st, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f); + while (1) + { + int vad; + fread(in, sizeof(short), NN, stdin); + if (feof(stdin)) + break; + vad = speex_preprocess_run(st, in); + /*fprintf (stderr, "%d\n", vad);*/ + fwrite(in, sizeof(short), NN, stdout); + count++; + } + speex_preprocess_state_destroy(st); + return 0; +} |