Skip to content
Andi Radulescu
Go back

How I listen to music now

I bought a fourth-generation iPod Shuffle on Vinted for 40 lei, replaced the battery myself, and paired it with a cheap set of wired Samsung earphones. The three purchases came to 137 lei, about €26 or US$29.50.

Then I changed how I downloaded the audio*. The AAC files sound amazing to me compared with the MP3s I had made with yt-dlp -x --audio-format mp3.

The hardware

What I paid:

ItemRONApprox. EURApprox. USD
Fourth-generation iPod Shuffle from Vinted40€7.58$8.60
Cameron Sino CS-IPSF5SL replacement battery55€10.42$11.83
Samsung EO-IA500BBEGWW wired earphones42€7.96$9.03
Total137€25.95$29.47

For the battery, I bought the Cameron Sino replacement from Sunnysoft, model CS-IPSF5SL, and swapped it myself. The listing specifies a 3.7 V, 50 mAh lithium-polymer battery compatible with the fourth-generation Shuffle, including replacement for Apple’s 616-0548 part.

The earphones are the black Samsung EO-IA500BBEGWW, wired in-ear earphones with a 3.5 mm plug and microphone. I bought them after watching Sharur’s “The Best IEMs in the World Are Just $8”.

Sharur’s praise came after measuring the earphones, correcting channel imbalance, applying EQ, and adjusting the fit. In “Samsung EO-IA500 Sucks”, he favors the AKG EO-IG955 instead. He discusses a treble dip in the Samsung units he measured and the difficulty of correcting it within the Qudelix 5K’s ten-filter setup. Those are his measurements, not tests of my pair.

What I changed in yt-dlp

My original command was:

yt-dlp -x --audio-format mp3 'YOUTUBE_URL'

That asks yt-dlp to convert the downloaded audio to MP3. Its documented default conversion quality is VBR quality 5 when no --audio-quality is supplied. yt-dlp’s post-processing options

Codex helped me put this command into a download script:

yt-dlp --cookies-from-browser chrome \
  -f 'bestaudio[ext=m4a][acodec=mp4a.40.2]' \
  'YOUTUBE_URL'

This downloads the best available AAC-LC audio in an M4A container, without converting it to MP3. mp4a.40.2 identifies AAC-LC. The source is still lossy, but this avoids another lossy encoding step. Format selection, codec identifier.

You need a YouTube Premium subscription for YouTube’s higher-quality 256 kb/s audio on music videos and Art Tracks. Sign into that account in Chrome before running the command; --cookies-from-browser chrome passes the browser session to yt-dlp. The format selector alone doesn’t unlock Premium audio. YouTube Premium audio quality, yt-dlp authentication.

Not every video offers a 256 kb/s AAC stream. This command selects the best matching stream available, which may still be 128 kb/s.

AAC is also a supported format on this iPod: Apple lists AAC and MP3 support from 8 to 320 kb/s.

What was actually in the files

We checked the local downloads with ffprobe:

ffprobe -v error -select_streams a:0 \
  -show_entries stream=codec_name,profile,sample_rate,bit_rate \
  -of default=noprint_wrappers=1 'track.m4a'

The M4As contained AAC-LC at 44.1 kHz, at around 128 or 256 kb/s. The earlier MP3s were at 48 kHz, with reported bitrates ranging from roughly 103 to 143 kb/s.

The AAC files sound much better to me. This wasn’t an equal-bitrate comparison: most of the new files have a higher bitrate, and they haven’t been converted to MP3.

* I own every music track I download from YouTube through a digital purchase, vinyl, or CD. Buy your music and support the artists.



Previous Post
Fixing an Xbox One rechargeable battery with a Pico 2 W and I²C
Next Post
Tinygrad on mainline Linux, Part III: the draft PRs