Sound eXchange, or SoX, the “Swiss Army knife of audio manipulation” has been around for as long as the Linux kernel, and in case you’re not familiar with it, is a command line tool to play, record, edit, generate, and process audio files. [porkostomus] was especially interested about the generating part, and wrote a little shell script that utilizes SoX’s built-in synthesizer to compose 8-bit style music.
The script comes with a simple yet straightforward user interface to record the lead and bass parts into a text file, and play them back later on. Notes from C2 to C5 are currently supported, and are mapped to the keyboard in a two-row piano layout. The output file format itself is just a plain text listing of the played note, wave form, and note length. This lets you easily edit the song or even generate it from an alternative source, for example MIDI. Also note that there are no initial audio files required here, SoX will generate them as needed.
Admittedly, the command line interface may not be the most convenient way to create music, but nevertheless, it is a way — and that is [porkostomus]’s main mission here. Also, SoX is fun — and versatile, you can apply its audio effects even on images, or decode strange signals sent from a helicopter with it.
> Admittedly, the command line interface may not be the most convenient way to create music […]
Oh, there are folks who tend to disagree with that. For an impressive example, see e.g. “A study in Keith”, featured in this page from Wikipedia.
Music Notation aka sheet music.
That is impressive.
Pretty neato but I will probably stick with GUIs and my hardware options.
Still an interesting read :)
But since this is shell you can make it dynamically react to things and alter tunes to fit a situation dynamically.
And be used with python too.