HN Hall of Fame Weekly email

Let's Build an MP3 Decoder

blog.bjrn.se Books & learning Tutorials & guides Software engineering Candidate
Screenshot of blog.bjrn.se captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 7 calendar years, with breakout response in 2 of them.

submissions
7
submitters
5
observed span
2008–2022
peak thread · 29 comments
201 pts
latest 20+ return · 2018-03-16
193 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

In the same genre and likewise in Haskell, I recommend Exploring JPEG: http://www.imperialviolet.org/binary/jpeg/ On the decoder side, for someone who has basic familiarity with compression and signal processing, the obstacles in understanding MP3 are polyphase filter banks and the mixed discrete cosine transform, which are not much explained in this article. They both take advantage of alias cancelation properties (in the frequency domain for the filter bank and in the temporal domain for the MDCT) that in my…

Ever since reading "How music got free" by Stephen Witt I get a bit annoyed with the MPEG team getting credit for "creating" the mp3. They did more to kill it than to support it.

Siemer·193-point thread·

If you liked that, you might be interested in jpeg decoding in Haskell: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.6... I also found this literate source while looking for that paper again; cool! http://www.imperialviolet.org/binary/jpeg/

mark_h·68-point thread·

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
2

100+ points or 50+ comments

Total points
471

reference only — not used in Hall rules or ranking

Total comments
57

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2008-10-01Implementing an MP3-decoder in Haskellmqt684
2011-07-08Let's build an MP3-decodernl20
2012-02-05Let's Build an MP3 DecoderFirst breakout · Best threadpetercooper20124
2018-03-16Let's build an MP3-decoder (2008)Latest 20+ point returnuserbinator19329
2020-11-07Let’s build an MP3-decoder (2008)Tomte30
2021-07-29Let’s build an MP3-decoder (2008)Tomte20
2022-04-04Let’s build an MP3-decoder (2008)Tomte20