aboutsummaryrefslogtreecommitdiff
path: root/code/libspeex/testdenoise.c
diff options
context:
space:
mode:
Diffstat (limited to 'code/libspeex/testdenoise.c')
-rw-r--r--code/libspeex/testdenoise.c44
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;
+}