I am an intermediate graphics programmer. I want to learn audio/sound processing theory from the ground up.
Just like how "A pixel" and its components R,G,B,A is the fundamental part of Graphics programming. I want to know about sound programming in similar lines.
Can anyone point me to good links? Also I would like to know some libraries (preferably portable) which allow me to manipulate sound. Something which can directly work on mp3, amr files.
I don't mind book recommendations too :)
Some old but good practical texts which might be able to pick up cheaply on Amazon:
Sound On Sound's Synth Secrets series provides a fairly good basic introduction to the concepts of sound synthesis.
Before getting your hands dirty with the very low levels (C/C++) I'd suggest playing around with higher level tools such as Octave (a free Matlab clone). You might need to install the Signal Processing toolkit too. This should give you a good testbed for playing around with FFTs, convolution, filtering and the like, and also lets you graph the results. I'd suggest finding a good book on signal processing to get familiar with the concepts, then if you want to get into DSP algorithms, MusicDSP.org is worth a look.
If you want an existing framework to work with then look at CLAM.
A pixel in graphics programming is analogous to a single sampled point in audio. A digitised image is comprised of a 2d array of pixels; a digitised audio signal is comprised of a sequence of sample points, each point correponding to an amplitude. The rest you'll find in the books...