• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: CoreAudio and equalization
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.

  • Prev by Date: Re: custom properties plugin
  • Next by Date: Re: CoreAudio and equalization
  • Previous by thread: Re: CoreAudio and equalization
  • Next by thread: Re: CoreAudio and equalization
  • Index(es):
    • Date
    • Thread