MusicMirror is a utility script to mirror a directory tree of music files into a different directory. In the process, the music files can be transcoded into a different format and/or quality (which is also the main purpose of this script).

The main use case is converting a music collection in lossless or high-quality format for use in a lo-fi environment, such as a mobile player.

MusicMirror keeps track of files that have already been mirror-converted and processes only new files.


$ musicmirror /path/to/source /path/to/target

This will convert all supported files under /path/to/source/* and store the results under /path/to/target/*. The directory structure will be prevented.

There are several option to control the conversion:

$ musicmirror --encode mp3 --setting low --processes 4 /path/to/source /path/to/target

Will create MP3 files in low quality. 4 parallel processes will be used for transcoding.

A command like this could be run on a regular schedule (cron-job) or based on events (whenever a file in the source-directory is changed).