Re: CoreAudio and equalization
Re: CoreAudio and equalization
- Subject: Re: CoreAudio and equalization
- From: Steve Hoek <email@hidden>
- Date: Thu, 27 Jun 2002 11:51:40 +1200
The usual approach is to window the samples before the FFT. Even a simple
raised cosine is usually adequate, but you must take the window into account
when constructing the output.
eg. if you window the input with a raised cosine then you need to overlap
(and add) the output by half a window, or you get the modulation you
describe. If you window both the input and the output with a raised cosines
then you need to overlap the output by either a third or quarter window. Be
careful to apply the right scale factor when overlap-adding.
Steve
--
Steve Hoek Ph. +64-9-480-2396
Director of R&D Fax. +64-9-480-2397
Serato Audio Research Ltd
http://www.serato.com/
>
From: john <email@hidden>
>
Date: Wed, 26 Jun 2002 23:44:10 +0000
>
To: email@hidden
>
Subject: CoreAudio and equalization
>
>
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.