How to generate some music with SoundHelix and save it to MP3


  1. Download SoundHelix. It is an algorithmic random music composer distributed under a GPL license.
  2. Unpack the binary zip archive.
  3. Edit configuration file examples/SoundHelix-Piano.xml; uncomment midiFilename tag (to save results in midifiles/)
  4. mkdir midifiles
  5. Run as java -jar SoundHelix.jar examples/SoundHelix-Piano.xml -s 'Some song name'. Song name seeds the random number generator. A MIDI file is saved to midifiles/.
  6. Convert MIDI to WAV (install timidity++ and freepats if necessary): timidity midifiles/Some_song_name-device1.mid -Ow.
  7. Convert WAV to MP3 (install lame if necessary): lame --preset medium midifiles/Some_song_name-device1.{wav,mp3}.
  8. Important: tag MP3 as generated by SoundHelix, it is requested by the author; I use id3v2: id3v2 -a "$(java -jar SoundHelix.jar --version)" -t 'Some song name' -y $(date +%Y) -g 'Algorithmic Composition' midifiles/Some_song_name-device1.mp3