[LAD] Help with frequency domain filtering basics

From: Olivier Guilyardi <list@email-addr-hidden>
Date: Wed Nov 25 2009 - 19:52:00 EET

Hi,

I'm trying to do a simple effect in the frequency domain, nothing extraordinary.
I need to apply various gains to specific frequencies.

For this purpose, I want to process a 16bit audio input stream, block by block,
apply a hanning window, do a fft, now apply my effect, and then an inverse fft,
followed by overlap and add buffering.

For now, I'm simply trying to do all of this without applying any effect, just
to see if my time to frequency and back conversion is correct.

I managed to do this in Octave. Now, I'm trying to do it in C with fftw and the
sound I obtain is like "shivering". It's recognizable but severely altered. I've
spent hours on this, it just won't work.

Attached :
- freqfilter.m: my working octave version
- transform.h and transform.c: time -> frequency -> time routines
- transformtest.c: test program

Could anyone tell me what's wrong with this C code?

Thanks in advance

--
  Olivier





_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev

Received on Wed Nov 25 20:15:06 2009

This archive was generated by hypermail 2.1.8 : Wed Nov 25 2009 - 20:15:06 EET