[SDL] Google SoC proposal: Real Time Pitch Shifter
Ryan C. Gordon
icculus at icculus.org
Fri Mar 21 12:31:56 PDT 2008
> Well, if you have any tips on how I could write a nice proposal it would
> be very nice!
I don't know the formal process for applying, but here's the gist of
that project:
SDL_mixer has what we call an "effects" API...basically there is a
callback that can modify a playing sound before it's mixed into the
output buffer, or modify the output buffer itself right before it goes
to the hardware.
Applications can supply this callback, but there are a few built-in
callbacks that can be exploited by the application, too.
The built-in effects that are there are relatively simple: simple 2D
panning and attenuation (and "positional" audio which is just basic
panning and attenuation combined), and left/right reversal of stereo data.
Please read the comments in SDL_mixer.h, where it says "Special Effects
API" ...
http://www.libsdl.org/cgi/viewvc.cgi/trunk/SDL_mixer/SDL_mixer.h?revision=3571&content-type=text%2Fplain
Mix_SetPanning(), Mix_SetDistance(), and Mix_SetReverseStereo() are
examples of built-in effects. We'd be looking for a new one, like
Mix_SetPitch().
Part of the dilemma is that we would need the pitch shifting effect to
not change the size of the data, so you can't just do a resample. You're
probably going to have to bust out some FFTs.
--ryan.
More information about the SDL
mailing list