Music Generation Tech Demo
This code demonstrates several techniques for generating procedural music using cellular automata.
Cellular automata are sets of rules that describe how binary cells in a space evolve over time. A common example of cellular automata is Conway's Game of Life. The automata used in these demos are variations of Wolfram's Rules in a limited space with random and timed re-seeding.
The demo features three separate automata. The rightmost automata controls the length of each note - the highest-order bit in the string is the type of the note (eighth, quarter, etc). The center automata is read as a binary number and used to select chords from a predefined list. The leftmost automata chooses which notes are actually played from the chord, cell-by-cell.
This project was inspired by a lecture by Michael Matthews and Kojiro Umezaki at UCI.
This example piece uses chords from the Star Wars theme to generate a tune:
Permissions
This code is provided free of charge for commercial and noncommercial use. No warranty of fitness for any purpose, express or implied, is given.