Re: CoreAudio and equalization
Re: CoreAudio and equalization
- Subject: Re: CoreAudio and equalization
- From: Chris Rogers <email@hidden>
- Date: Wed, 26 Jun 2002 17:07:38 -0700
To do equalization with FFTs is a little more complicated than that.
You need to do the processing on overlapping buffers in the same
way that a phase-vocoder does. Do a google search with keywords:
"overlap-add" "analysis" "resynthesis"
and you should find more info about this method. The basic idea
is that you not only have to window the signal, but you need to
move the window in increments smaller than the window/buffer size
(typically 1/4 or 1/8 the size). It requires a processing engine
somewhat more complicated than simply processing one buffer after
another....
The CCRMA web site has some info
Hope that helps,
Chris Rogers
Core Audio
Apple
Hello,
I'm not sure if this is appropriate for the typical type of question
on this list, so forgive if it is not.
I'm trying to alter the audio data given in the recordIOProc in the
frequency domain. The code does an FFT transform (using Don Cross's
source), then uses this:
// in a loop the size of the buffer using i
z = realBuffer[i];
v = imagBuffer[i];
// calculate decAdjustment here
intensity = sqrt(z * z + v * v);
thetaValue = (z == 0.0) ? 0.0 : atan2(z, v);
intensity *= decAdjustment;
z = intensity * cos(thetaValue);
v = intensity * sin(thetaValue);
realBuffer[i] = z;
imagBuffer[i] = v;
Now doing this causes there to be static/fuzz in the audio. Looking
around on the web I see that a windowing function may be needed to
"smooth the edges" between alterations to the data in the frequency
domain.
However, using the hamming window (or hanning or blackman) even
without the EQ modifications causes the audio to sound weird!
Does anyone have any experience with this stuff that could help? Thanks!
-- John
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.