Maker compresses a 2.9MB song by 1000x and prints it on paper as eight QR codes — 21KB song is two minutes long, requires a neural network for playback

Maker compresses a 2.9MB song 1,000 times with Meta's AI codec and prints it on paper as eight QR codes
(Image credit: Makestreme via YouTube)

A maker known as Makestreme has printed an entire two-minute song onto a sheet of paper, publishing the full build and source code on Hackster.io. The trick is Meta's EnCodec neural audio codec, which crunched a 2.9MB MP3 down to roughly 21KB of latent tokens, a reduction of about 1,000 times, small enough to split across eight QR codes arranged as a double-sided "paper cassette." The same 21KB file was also beamed between two ESP32 boards over LoRa radio, and by our reading of the published transmitter code, that wireless transfer takes around 90 minutes per song.

One QR code tops out at roughly 3KB of binary data, with Makestreme hitting the practical limit at about 3.3KB, so a 2.9MB MP3 would need close to a thousand of them. Conventional compression can't close that gap because MP3 is itself already lossy, which is where EnCodec comes in.

Can you fit an entire song into a QR code? - YouTube Can you fit an entire song into a QR code? - YouTube
Watch On

The open-source codec Meta released in 2022 converts a waveform into discrete tokens that a matching decoder turns back into audio, and at the project's 3 kbps setting, the reconstructed song reportedly held up well. At 1.5 kbps, however, it produced heavily degraded output.

Latest Videos FromTom's Hardware

Each of the eight QR codes carries a 1-byte ID plus a chunk of the token stream, four codes per side in a nod to flipping a vinyl record. The generator script uses the lowest error correction level to maximize density, so there's no redundancy to spare: damage one code and the song is gone.

LoRa pairs two ESP32s with REYAX RYLR998 modules on 866 MHz, moving the file in 160-byte packets with an ACK-and-retry protocol. The transmitter sketch hard-codes a 40-second pause after every acknowledged packet, and at roughly 134 packets for a 21KB file, the gaps alone add up to about 90 minutes. That pacing is deliberately conservative for duty-cycle compliance, and it's a far cry from the 190 KB/s another developer hit recently by streaming QR codes between phones at 60 FPS.

Printing software on paper dates back to the Cauzin Softstrip of 1985, a 2D barcode that let magazines publish programs at up to 5,500 bytes per strip and faded once floppy disks got cheap. It left behind strips almost nobody can read today, and Paper Tunes inherits the same dependency: the QR codes store tokens, not audio, so playback requires EnCodec's exact 24 kHz decoder.

The paper may last centuries, as Cerabyte argues with its microscopic QR codes etched in ceramic, but the song only survives as long as the neural network that can decode it.

Google Preferred Source

Follow Tom's Hardware on Google News, or add us as a preferred source, to get our latest news, analysis, & reviews in your feeds.

TOPICS
Luke James
Contributor

Luke James is a freelance writer and journalist.  Although his background is in legal, he has a personal interest in all things tech, especially hardware and microelectronics, and anything regulatory. 

  • hannibal
    Well, well. This is almost scary…
    Reply
  • hwertz
    I mean depending on the type of music, there is always MIDI. Getting several minutes of audio in a few KB is trivial with MIDI. Throwing the music onto QR Codes is still pretty wild though.
    Reply
  • kaalus
    If you are allowed to use arbitrarily complex decompressor, compressing any song into a few bytes is trivial. Just store a Spotify link to it. You may need the entire Spotify library to "decompress" it, but that's small print, the catchy headline remains.
    Reply
  • Razzi16
    Compressing 2.9MB to 21KB is 100x (very approximately) NOT 1000x.
    If it was 1000x then the result would fit onto one QR code.
    Reply
  • telegonus
    kaalus said:
    If you are allowed to use arbitrarily complex decompressor, compressing any song into a few bytes is trivial. Just store a Spotify link to it. You may need the entire Spotify library to "decompress" it, but that's small print, the catchy headline remains.
    It may be complex but its not large, the entire audio model for this decoder is less than 100MB. That's less than 10 minutes of uncompressed CD audio to tokenize all audio patterns that humans can hear.
    Reply
  • anon123123
    Technically, a scratched up DVD is guessing the missing pixels with error correction and then upscaling is guessing even more. Even physical media is a result of algorithmic processing. I can't even imagine the blurry mess that streaming will be soon. A disc player is nothing compared to needing a data center and AI just to stream a video. Holy crap the future is bleak.
    Reply
  • usertests
    anon123123 said:
    A disc player is nothing compared to needing a data center and AI just to stream a video. Holy crap the future is bleak.
    All codecs in use are handled on device, and that should be true of any upcoming ones like AV3 or H.267.

    Last I heard, there are no plans to integrate AI upscaling into codecs. Instead, it's handled separately and optionally, like we see with RTX Video and competing solutions.

    Worst I could see happening is that you get served degraded 360p/480p/720p video, and your machine is expected to upscale it (locally, in real time) back to 1080p/4K.
    Reply
  • Vicecrow
    Remember the Guy who stored data o YouTube using static vídeos? Lol
    Reply
  • lorfa
    Was the song off of $tarface? : - P
    Reply
  • changemeimfamous
    This is cool and all, but how is this different to just having it on a music sheet? It's just a language, that's it.
    I mean, for example, are these 8 QR codes actually any smaller in *size on disk* than the ordinary music sheet for this song?
    Is it any easier for the AI to reconstruct from the QR codes than from the original music sheet.. ?
    Reply