My new company car was delivered this week. It’s another VW Golf Mk7, but this time with the new Discovery Pro II entertainment system. This is a modular system that lets VW add different features to the entertainment system depending on what territory you live in, and how much money you are prepared to pay them for “options”.
The feature I use the most is part of the standard package; the media player. This allows the car to play digital music off various block devices (such as USB storage keys, SDCards and USB hard drives). However, in my old Golf, I never managed to get the media system to recognise the tags that are in all my MP3 media files, which prevented proper album art and track/album/artist information from being displayed. This time I was determined to do better.
It turns out that the new Discovery Pro II is much better at this than the original Composition Media system I had in the last Golf. But it’s still quirky. You need to get the tags “just right” for it to work.
For anyone trying to work out what “just right” is for an MP3 collection, let me help you out with the summary from my experiments with my collection. No more than 1,000 music files in a folder, or more than 10,000 music files on any one device. MP3 files should be tagged with ID3v2.4.0 tags only. If your music also includes ID3v1 tags too (as many tagging programs automatically do) then the media system won’t read any of the tags. Using ID3v2.3.0 tags was very hit and miss, sometimes working, but usually not. APE tags (if you have them) don’t seem to cause any problems, so I think you can safely ignore them.
The best tagging program I’ve found to help get you to this nirvana is KID3. It’s free and open source, and available for Windows, Mac and Linux. Best of all, it comes as both a graphical editor and with a command-line interface, so you can call it from scripts. This allowed me to reprocess my entire music collection (some 15,000 tracks) to remove all the ID3v1 tags, and convert all my ID3v2.3 tags to ID3v2.4 from within a simple bash shell script. Took about 20 minutes to do the conversion, and most of the rest of the evening to work out which 10,000 tracks I’d put in the car on a 64GB SDcard!
The only drawback with KID3 is that the documentation is somewhat impenetrable. So for your information, I’ve attached the script I used on my Mac with GNU core utilities installed. It’s quick and dirty hacking, but worked fine for me. Note that the location of the music library is hard-coded, so you’ll need to change it to match what you have, and I assume you only have MP3 files in it.
# Process all MP3 files below this node in the filesystem
find /Users/richard/projects/CarMusic -type f -iname '*.mp3' -printf '%h\0' | sort -zu |
while read -r -d $'\0' audio_dir;
# Change to the next directory and provide a progress indicator
# Select all audio files in the directory, create ID3v2.4 tags from any
# existing metadata, then delete any ID3v1 tags, and save the changes
kid3-cli -c 'select all' -c 'to24' -c 'remove 1' -c 'save'
Hopefully that will save someone else a lot of experimenting.