Let’s Build An MP3 Decoder!
“So if you are programmer and interested in media decoding then go get ready to learn how to decode a mp3 file. “
At least once in a day you come across media file coded in MP3 format. We have been using MP3 file format for few years, but have never made an attempt to understand how the media player decodes the file. Even most programmers fail to understand the basic concept and designs that were formulated by MPEG team when they designed the codec.
The author (Björn Edström) of the blog “blog.bjrn.se” attempt to demystify the decoder, with short top-down primers on signal processing and information theory when necessary. He starts with explaining how the mp3 encoding is used to remove acoustically irrelevant information from an audio signal to reduce its size. Later he explains MP3 format background and starts it journey to build a decoder in 4 steps: Making sense of data, re-quantization, joint stereo, frequency to time. While explaining this steps author writes a small decoder in Haskell, a standardized purely functional programming language with no strict semantics.
Resources:
- Let’s build an MP3 Decoder! - blog.bjrn.se
- Haskell - Programming Languag, at Wikipedia
- MP3 file format - at Wikipedia
- Signal Processing - at Wikipedia
Did you enjoyed this information? Write in your views below.


Post a Comment