Ever since the invention of computers, computer-generated music has become an interesting branch of music to look at. We decided to take the approach of generating music from an artificial life standpoint. We have done this by creating a set of rules for the Moveable Feast Machine, a celluar automata. By varying parameters such as how we treat dissonant sounds, what kind of chords we wish to produce, or the type of musical scale we want to work with, we can listen to the results change and improve over time.
This model runs using a combination of a few existing elements and 3 new elements: the Staff, the Note, and the Composer.
The Staff element replicates itself to build a grid across the universe. Each Staff knows its position relative to the first Staff. This represents the musical staff in which the notes lie on. The Notes know what pitch they are based on the position of the surrounding Staff elements. If a Staff sees that it is out of position, it will delete itself. The structure that Staff element creates is self healing, so it can exist in the presence of DRegs.
A Note represents a musical pitch. When the Note's behavior method is called, it checks around itself to verify that its stored pitch and position within the staff are the same. If it is not, it corrects itself.
The Composer is the real guts/brains of this project. It floats around and turns Res into Notes and more Composers. If a Composer finds a Note, it has a chance to move it based on the surrounding notes and some internal state. Each composer is trying to constuct a specific type of Triad. The Triad they are trying to build is stored internally. 7 different types of Triads can be made at the moment. As Composers meet other Composers, they exchange information about what Triad they are trying to build. They then have a chance to change the type of Triad they are building to the type that the other Composer is building. This chance increases for every Composer they meet that has a different Triad. If a Composer meets another Composer with the same Triad, the chance to change Triads goes down, however the chance never goes to 0. There is also a very small chance that a composer will randomly change its Triad. The reason Composers have specific Triads they are trying to build is so that there is some consistency between all of the sounds in one area. This makes the music sound less random.