Reputation: 11293
I am writing a game that is a bit depending on the soundtrack so I want to read mp3 file and use it's data (like the speed of music, beat and stuff). Is there any class (preferably) I could use or article that would cover everything about mp3 reading (from checking if it's an mp3 to actual decoding)? It's OK if I have to do different calculations to find the rhythm and stuff, I just wanna decode file as I don't know the algorithm (and don't know if it's complicated or not).
Upvotes: 3
Views: 1096
Reputation: 277
Maybe have a look at mpeglib or SDL_mixer: http://www.libsdl.org/projects/SDL_mixer/ :) Are you under Windows?
The mp3 encoding/decoding process is pretty cool but I wouldn't go anywhere near writing your own decoder, the problem space is HUGE (and many mp3 files don't stick to the format). There are plenty of libraries out there, you just have to find one which suits!
Upvotes: 0
Reputation: 7466
Yes, its complicated. MP3s are the typical lossy DCT compression scheme more or less. The process is similar to JPEG.
Writing an mp3 decoder and encoder is a project in itself.
Quantize -> DCT Transform -> Entropy Encode -> Store
Entropy Decode -> IDCT -> Dequantize -> play
I suggest FMOD its widely accepted and used in the gaming community.
Upvotes: 4