I have tons of audio files in my computer, and many of them are FLAC files and OGG files. I own or have owned a few devices, but none of them supports FLAC or OGG. I could convert FLAC and OGG files, but I didn’t want to sacrifice the quality of sound. I could also keep both a FLAC file and a MP3 file for the same song, but I didn’t want to waste my hard disk. I needed a better solution.

As one possible solution, this program convert a FLAC file or an OGG file into an MP3 file just before that file is copied to a device. Decoding FLAC and OGG, and encoding MP3 are performed by external programs.


I don’t like the idea embedding artworks in audio files. Instead, I put artworks as independent image files as foobar2000 can recognize these images. This is way better than embedding artworks because I can save space and it’s easy to replace the artwork later.

That said, embedding artworks is useful if a device cannot recognize external image files as foobar2000 can. To that end, this program embeds external images in audio files if necessary. This program searches for “folder.jpg” in the same directory as an audio file, and then embeds that image in the audio file. If the image is bigger than 300 pixels, the image is resized.

Directory Structure

I noticed that B&O BeoSound 2 has strict restriction regarding the directory structure. This device just searches for audio files from the root directory and its subdirectories. It does not traverse subdirectories of a subdirectory. I contacted B&O and they confirmed this problem. This is very strict restriction. I, who prefers two-level subdirectories, didn’t want to move directories just because of that device.

To deal with the problem, this program ignores all directories except the inner-most directory to satisfy the restriction. There can be directory name clashes, but the current version does not care them. This can be handled in the future.


As UNICODE 2.0 defines all possible combinations of modern Hangul (the Korean alphabet), most smartphones do not have any problem in handling Hangul. However, some devices, such as Volkswagen Rabbit 2007 built-in audio, do not display Hangul properly. Even worse, some devices, such as B&O BeoSound 2, do not read an audio file if the file name contains Hangul.

Currently, this program mechanically romanizes Hangul. Mostly, the generated Roman alphabet is quite readable, but this is far from the standard method. I believe the correct Hangul Romanization should consider consonant assimilation and other sound alteration rules. As the same script may result in two different sounds depending on the meaning, implementing the correct Hangul Romanization is very hard problem, and I didn’t implement that.

Last edited Aug 21, 2009 at 3:26 AM by linjus, version 3


No comments yet.