Removing images
I have meticulously tagged all of my music files on my PC with images as well as all appropriate text info (I use MusicBrainz Picard for this purpose, but most ID3 tagging software works). However, when I loaded these files on the 3DS, the folders took seemingly forever to load, despite 3DS Sound not supporting images. This turned out to be because the 3DS still had to go through these images even though they weren't loaded, so stripping them from the files resulted in far faster load times.
File conversions
Since the 3DS does not support FLAC, I had to convert my music to AAC for it to play. It seems the 3DS, like some iPods, is very picky about the encoder that gets used to create the files. The one I have found most success with is iTunes' converter (used either directly or through Foobar2000, both on Windows). I did manage to use some FFmpeg settings one time that managed to get a consistently playing file with all metadata, however that command has escaped me.
EDIT: Linux encoder support
Did some experimentation after this post and it seems the Fraunhofer AAC encoder is compatible with the 3DS, unlike FFmpeg's default encoder. However, due to licensing restrictions, to use it with FFmpeg requires you to install a version with the encoder enabled, which is usually not provided by most Linux distros. Therefore, the best way I found is to install the fre:ac Flatpak (which includes the FDK AAC encoder), and to strip the images using either FFmpeg or MusicBrainz Picard. Alternatively, on the command line you can use this with the fdkaac tool:
ffmpeg -i input.flac -map 0:a -f caf - | fdkaac - -b 320 -o output.m4a
replacing the file names with what you wish to use. This command also removes all images using the map option, so no further processing is needed.
StreetPass
It's surprisingly active still (at least where I live)! However, in order to use it, you need to specifically add songs to your StreetPass playlist as well as enable it in the menu, which is a step many people skip.
Random other bits and pieces
Tired of the random drums going off whenever you put your 3DS into your pocket? If you tap the icon enough times, you can make it have a crossed out symbol, which disables the button. This also allows you to cycle through a few other sounds.
The 3DS is very picky about folder sizes, so any folders with more than 100 files will only show the first 100 files. If you have big multi disc albums, split them into disc folders.
The interface colour can be changed in the settings menu to any one you choose, and is reflected in all the menus.
If you have folders that take time to load, after the first time you load them, the index stays in memory. This means any subsequent loads before you close the app will be far quicker.
To the best of my knowledge, most of the CD rippers back in the day used the Fraunhofer codec or in the case of iTunes its own encoder, so I guess this only really became an issue once FLAC sources became somewhat commonplace. In addition, the encoders used on a decent number of music download sites (most notably Sony's Mora) seem to work fine on the 3DS, bar the long loading time with the images, so I guess Nintendo never felt the need to make it work with other encoders. Knowing them though, there's probably some horrible spaghetti code behind the scenes causing this.
Yea, that does makes sense. Just noticed I have been doing that yesterday on the DSi and not the 3DS, it works there too, which is interesting as they seemingly did not change too much about their approach then.
If you "like" spaghetti code you might like Skawo? They got some good vids to watch alongside eating your cereal in the morning about the code of various Nintendo DS games.
Great minds think alike, already watch them. My hand nearly hit my head at supersonic speed when I found out the super advanced NSMB Wii copy protection ended up being broken before release.