Gapless playback on unsupported iPods with Stock OS + Store 10x more songs without issues + Improve UI responsiveness + Improve boot time: it's time to regroup your songs by albums !
Date: 23 December 2024, last edited: 19 January 2025
Some CDs (especially live performances) were mastered to provide a gapless experience, which means the different tracks will chain with a clean transition that does not contain any kind of silence. This is very immersive. Properly tagged AAC/ALAC/MP3 files contains the gapless playback metadata but you need an iPod Nano 2nd gen or an updated iPod Video (5th gen) to get gapless playback with the Stock OS.
The iPod Stock OS is storing a lot of metadata all time in the RAM of your iPod. The last iPods (the Classics) can handle much more songs. More you have songs, more your iPod will struggle: slow UI, bugs in iPod Clickwheel Games (iPod Video), and crashs or empty menus when shuffling all songs are caused by a too much amount of songs (and related metadata).
At boot or when you unplug the USB card from your PC, the iPod need to cache many data in RAM which will take a lot of time. The last iPods (the Classics starting 6th+ gen) can do this operation much faster. Also, black & white iPods have less data to cache so these also go faster. The slowest is the iPod Video; mine can take a few minutes to boot to cache its 30000 songs.
You can use Rockbox to enjoy gapless playback among other cool things like themes and handle bigger music libraries. But Rockbox need time to adapt yourself and you maybe want to use your iPod only through the Apple ecosystem and how it was intended to be used. The Stock OS is very good and reliable for what it was designed to do. Also Rockbox had some very rare niche case unsolved bugs even today. For example, on my iPod Mini 2nd gen, when it is SD modded (with iFlash or the Red CF adapter), the battery life will be divided by more than by the huge factor of 3 which results in a total of 6 or 7 hours of battery life versus more than 23 hours in the Stock OS.
Did you know that Apple themselves sold "Non-Stop Mix" versions of popular albums from 2005 in their iTunes Store back in the day, to compensate the fact that no iPod could do gapless ? https://www.journaldulapin.com/2016/10/20/itunes-gapless/
We are going to transform all your albums into single files then import these single files into iTunes for syncing. These files will contains chapters, just like audiobooks ! So it will look pretty clean and legit on the iPod; think of it just like a CD player/jukebox that has no idea anymore of what song is currently played. You put the CD in, then enjoy the music, and that's the kind of experience that you will replicate by organizing your music like this.
It is strongly recommended that you learn before how to encode using the old AAC Apple encoder, and it is also strongly recommended that you keep all your FLAC dumps somewhere as your ultimate archive that you can use anytime you need to build a new library for one of your portable device (an iPod, a smartphone, etc).
- Since the title will now be the album name, the iPod Mini will natively be able to show you what album is currently playing without having to use a custom firmware to do it in a strange looking way.
- We are going to take advantage of the "chapters" function in the AAC format that Apple designed primarily for audiobooks, which means that you can quickly navigate through songs in the album by clicking the previous/next song buttons.
- Your CDs will play completely gapless on your old iPod so you can enjoy playing the music how it was intended by the artist
- You will reduce insanely your total metadata amount in the iPod library which means it will boot faster, shuffle all will work again (if it was broken for you because of your insane amount of music), and navigation will be (much) faster too. If your iPod is modded with 128GB or more and if you had a lot of music, you will definitely see a difference.
- The "repeat one" feature will become kinda pointless since it will be albums based, so you will need yourself to press the rewind button at the end of the song to play it again. But if you really love a specific song, you can still extract it yourself to an individual file and make as much exceptions as you need to put your "best songs of all time" in one playlist that you will maintain.
- You will not know anymore what artists made/composed a specific song and what is the title of the currently played song (but you can still Shazam your docked iPod or open a .m4a album music file on Foobar2000 to see again all the titles that are contained in the album individually). iTunes can see the titles of each chapters each when you play a song, though. I provide also a solution to abuse the "lyrics" feature to include the titles of the chapters instead so you can keep seeing the titles if your iPod supports seeing lyrics.
- You can't rate an individual chapter which means you will rate directly the whole album file and your smart playlists will update accordingly
- Your iTunes music library will look kinda messy on your computer
- You will lose flexibility and have to stick with full albums when you transfer music
- You lose the ability to shuffle all tracks of an album or all tracks from your library (but if you had too much music, shuffling all tracks from your library was probably broken anyway)
- Forget about dual booting with Rockbox and sharing one music library for both: Rockbox ignores completely the chapters in these single-file albums (Rockbox can't understand chapters metadata, no matter if it is a Nero or a QuickTime metadata) and seems to have trouble to parse the titles also from my tests, so navigation is not very convenient.
- The search feature from the iPod Videos/iPod Classics will become way less relevant since it will not be able to find titles.
This new organization of your files implies compromises; take this decision with intelligence by asking yourself these 5 questions:
- How much do I value gapless playback ?
- How much do I value Stock OS ?
- How many tracks do I have and want to have on my iPod ? If this number is under around 10 000 (or 20 000 with Classics), you will not get a huge speed boost in most of the cases.
- Am I ready to invest time at building a new lossy library that I will need to maintain alongside my main lossless library ?
- Am I ok with the fact that my iPod will become essentially a full-albums player ? Finding songs for you may be much more difficult if you don't know what's inside your albums. But if you do, navigation inside is pretty quick thanks to chapters. On monochrome iPods you will also not be able to help yourself with album illustrations which will reward very highly your memory skills at knowing what is exactly inside your iPod.
This guide is Windows-only. Some parts can be replicated pretty easily on MacOS, though, excepted the core conversion with the old AAC encoder. Produced files with this guide can be imported on any Mac or iTunes version. Modern Macs should use a Windows virtual machine to do the following steps.
-
Install Java 17 (or a more recent version of Java): https://learn.microsoft.com/en-us/java/openjdk/download and be sure to include it in your path during installation (it should be the case by default).
-
Install the latest Foobar2000 version (you can even install the ARM64 version if your machine is an ARM64 one) : https://www.foobar2000.org/download If you want to sync your iPod using Foobar2000 rather than iTunes, you must install the x86 version
-
Install the Foobar2000 encoders pack : https://www.foobar2000.org/encoderpack
-
Install the QuickTime 7.6.6 portable encoder that I provide for convenience to integrate directly with Foobar2000. If you don't trust me, you can check the SHA256/signatures of the files, and even make yourself your own portable encoder files by using the
qt-2015-makeportable.cmd
file that I provide in this archive. Copy and replace the unzipped content of gapless-lagless-oldapple/foobarencoders.7z inside the folderfoobar installation folder/encoders
. Replace any existing files if it asks to. -
Inside the
foobar installation folder/encoders
folder, renamerefalac64.exe
todisabledrefalac64.exe
andqaac64.exe
todisabledqaac64.exe
because we want Foobar2K to use our 32 bits version that will use the 32 bits QuickTime binaries. QuickTime 7.6.6 was compiled only in 32 bits to convert music files (and qaac architecture need to match with the arch of QTFiles). -
Video guide You should now be able to do the converts directly from the Foobar2000 UI:
- Scan some (lossless if possible) music to convert. Click on
Library
(located in the top menu of the app) then click onConfigure
, a new window will appear. On the left of this window, click onMedia Library
then you can add yourMusic folders
by clicking the adequateAdd...
button. Compared to iTunes, Foobar2K will scan everything, even FLAC files, and will be able to convert from them. Now that your library is scanned into Foobar2000, you can close this window with theOK
button. - In the dropdown view (bottom-left of the window), select
by album
(this is very important or albums will not be grouped correctly by CDs) - Now right-click on
All music
then selectConvert
then select...
- Click on
Output format
then double-click onAAC (Apple)
- Bit rate mode must be:
Constrained VBR
and the quality128 kbps
or160 kbps
. If you really need to save disk space, you can go down to 96 kbps (but it will not feel transparent enough all time). Any bitrate more than 128kbps will give diminishing returns perceptually more you increase the bitrate. If you don't know what to choose and want absolute guarantee that it will be very safely transparent even for Classical music (which is one of the most complex music type to compress), choose160 kbps
. - Now click
Ok
to close the encoder configuration window, then clickBack
. InOutput format
, you should now seeAAC (Apple), CVBR
- Now click on
Destination
then checkGenerate multi-track files
(should be already checked) then put this pattern:$replace($left(%album artist%,1),.,_)$right(%album artist%,$sub($len(%album artist%),1))/$if(%album%,$replace($left(%album%,1),.,_)$right(%album%,$sub($len(%album%),1)) - CD$if(%discnumber%,%discnumber%,1),$replace($left(%album%,1),.,_)$right(%album%,$sub($len(%album%),1))/$replace($left(%filename%,1),.,_)$right(%filename%,$sub($len(%filename%),1)))
which will be clean, simple and without conflicts if your music is properly tagged. One file will be created and chaptered for each CD. - Now click on
Back
; the new destination pattern should appear under theDestination
clickable link. You can nowSave <<
your new preset with a custom name so you can re-use it anytime later (for example it can be:Apple AAC QuickTime Gapless
). - Now you can
Load >>
your preset anytime you want then click on theConvert
button to start converting the music files into the destination folder of your choice.
- Scan some (lossless if possible) music to convert. Click on
-
Video guide We are going to update the metadata of our produced files to make them more friendly to read. This step is important and should not be ignored or all grouped files will look strange/bad on device and on iTunes.
- For that, you need to install and start this tool: https://www.mp3tag.de/en/download.html
- Download my configuration file and extract it: gapless-lagless-oldapple/Mp3tagSettings.7z
- From the top menu of the app, click on
File
then onOpen configuration folder
. Copy the content of the archiveMp3tagSettings.7z
into this configuration folder. This will add the new actioniPod Processing
to yourActions
menu. - Now drag & drag the folder containing all your converted music to add the music into the mp3tag UI. You can now select all the songs (the quickest way is to click on one song then use the
CTRL+A
shortcut on your keyboard). - From the top menu of the app, click on
Action
then oniPod Processing
. This will take a while. Metadata will be sanitized, correctly formatted and cleaned for all of your tracks.
-
Video guide The converted files are chaptered by using the Nero format, and iTunes don't understand it and has its own format for chaptering. So we need to use a program to convert chapters.
- Get this set of tools that I compiled for you gapless-lagless-oldapple/mp4tools.7z and copy it inside the
destination folder containing your converted music
. - Double click on
open cmd here.bat
to open a console window. - Copy paste this command on the opened console window:
for /R %f in (*.m4a) do (mp4chaps -Q -c "%~sf")
(to paste the command, pressright-click
on your mouse in the inside of the terminal window) then pressEnter
to run it. This will process all the .m4a files to convert their chapters format fromNero
toQuickTime (iTunes)
. - When it is finished, don't close the terminal window, because we will use it for next step
- Get this set of tools that I compiled for you gapless-lagless-oldapple/mp4tools.7z and copy it inside the
-
To keep being able to read the track titles on your iPod, I've coded a program in Java 17 (so you need first to install Java on your PC to use it) that automatically converts chapters data into lyrics. Some iPods starting the iPod Videos and Classics can see lyrics by pressing the center button multiple times during playback.
- Copy paste this command on the opened console window:
java -jar cal.jar
(to paste the command, pressright-click
on your mouse in the inside of the terminal window) then pressEnter
to run it. - When it is finished, you can now close the terminal window.
- Copy paste this command on the opened console window:
-
Then you can copy the produced files and import these on your favourite iTunes/Apple Music version. I recommend to disable completely "Sound Check" (https://support.apple.com/en-us/109331) on iTunes to avoid un-necessary very long processing times on iTunes when you will import your files. Apple Sound Check was designed for independent titles, not for full albums. If the scanning process is already started, you can stop it (by clicking on the cross icon in the status bar) and sync your music straight away. You can disable Sound Check completely on your iPod, it will be useless because there's no metadata to read about it anyway.
Now that your PC/Windows virtual machine is properly configured to convert and process the metadata, it is getting easier for next times. Just follow these steps in order: 6.9, 7.5, 8, 9, and 10.
You can tip me on Patreon: https://www.patreon.com/Olsro