Introduction (Experiments in Computational Music)


This is a series exploring music through computation. For each entry, I'll start with a concept and develop it through software. There will be a write-up that explains the concept and describes what I did with it. Some of the software will be embedded in the write-up.

Computation has many uses throughout this project, including:
  • To create music through algorithms, step-by-step processes
  • To transform existing music through algorithms
  • To act as a mediator between creator and music
  • To play music that would be impossible or difficult for a human to perform
  • To map visuals to music


For one thing, there's something interesting to me about using algorithms to generate music. A piece of music is a process, by which I mean that music unfolds over time. An algorithm is also a process. So a music-generating algorithm is this strange kind of process that creates processes.

For another, the computer can be the host to powerful environments for doing creative work, like creating music. Software environments can enable musicians to create music that they wouldn't otherwise be able to create. I'm interested in exploring the ways software can mediate, augment, reinforce, lay bare, and otherwise work with the creative process.

Finally, this project is an opportunity to explore ways of visualizing music, making music and graphics work in unison as two ways of perceiving the same process.

Road Map

  1. Rhythm Blending
  2. Loop / Cut
  3. Tempo Fluctuations
  4. Melody Stepping

Source Code

All the source code will be on Github (here) and will be uploaded as I write these articles.