Ok, I've never actually gone as far to read the sound data from an mp3, But I did learn enough about the MPEG specification to read an mp3 frame by frame, and identify information about the stream such as bitrate, sample length, the compressed sound-data. This allowed me to calculate things like the average bitrate of the mp3 and I also read about some of the metadata associated with them such as ID3(v1/1.1/2) tags and the XING header.... So I can tell you about all that stuff if you're interested; but what it sounds like to me is you want to decode the data itself so that you can alter the sample and make some beats wink.

I really recommend using someone elses library for reading the sound files there is too many varieties of formats. Even a wav file is just a container, its just convention to use LPCM data, but not required... So you'd have to support "hundreds" of different codecs etc. Whereas if you used say libsnd file, you can read N frames and it will always give you a standardized output, much easier to work with. You still get to combine the samples and tweak them with your code.

I skimmed over http://www.tactilemedia.com/info/MCI_Control_Info.html looked like it had everything you'd need to know to get to work.

I'm teaching myself guitar, so I do have an interest in music theory and stuff if you want to collaborate on the effects themselves, I might be able to pull some calculus out of my ass.

Check out http://en.wikipedia.org/wiki/Pulse-code_modulation too

Edited by ninjaneo (12/05/09 03:00 AM)