An Introduction to Collective Algorithmic Music Composition


Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent. -Ada Lovelace

This book is about collective algorithmic music composition with Scripthica, an open source web environment for creating, listening and sharing algorithmic computer music. This environment provides a code editor, a terminal emulator and computer-assisted music composition toolkits based on the Scheme and JavaScript programming languages that can be used to output sheet music and MIDI files. This tool allows computer musicians to share musical scripts so that others can modify the source code and listen to unique music.

Scripthica was mostly developed in coffee shops. Unlike many algorithmic composition environments, Scripthica wasn't developed at an academic institution or any other organization. I've been self-funding this project and have been working on it on my free time. In 2013, I ran a Kickstarter campaign that allowed me to gather some money, however, funding this project has proven to be difficult. I hope this tool and tutorial is useful for anyone interested in algorithmic composition.

Technical Requirements

Scripthica has been designed to work on Mozilla Firefox and Google Chrome but it also works on some versions of Safari and IE. Scripthica also requires a MIDI player. MuseScore is a free notation software that can open, play and edit MIDI files.

The code found in this tutorial can be downloaded from: