Each piece presented on this page is a real-time, unedited, recording of AEN’s output, with Ableton Live acting as the Receiver for the generated MIDI signals. The code is available on GitHub.

AEN: Generative Music Algorithm
 
AEN's primary objective is not to automate composition in existing musical styles but to provide tools for exploring new musical worlds. Generative music, by its nature, offers a window into infinity. Music that never ends and exists forever.

Jackson Pollock’s Number 1, 1949 continued to be between the times I saw it, and when I saw it again, I saw something new, something different, the painting never stopped existing, playing, between the months and years that passed between my seeing it. Unlike a physical art piece, most music has a beginning and an end, whether it's a track on my favorite album or a live performance. I wanted to see if I could create a piece with no beginning and no end, and the listener could stop back in for a visit, and between those visits, the music continued. The "visit" could be months apart, or the listener could tune in and out of the piece as it unfolded in place.

At AEN’s core is the total rhythmic and harmonic independence of each voice. The effect of independent musical ideas playing with and against each other is at once strange and familiar. It’s the musical equivalent of the atmosphere at the beach: crashing of the waves, relaxed conversations in all directions, the occasional laugh, seagull call that cuts through the distant classical rock emanating from a small speaker. Each sound source unfolds at its own independent pace, expressing an independent musical idea, but when the different musical ideas combine into a larger texture, the result can be captivating, satisfying and unique.

In my listening experience, if the disparate sources continue emitting independent musical ideas regularly and consistently, the complexity of the resulting texture is reduced over time. It's possible to pick out the various components of the piece in a way that may be similar to looking at physical artwork -- the listener can zoom in on a single brush stroke, then move back and see how it contributes to the overall texture.
AEN allows for each voice’s complete independence, complete rhythmic freedom. At the core of the generative algorithm are the many component algorithms, such as a tempo algorithm, pitch algorithm, velocity algorithm, scale algorithm, and a thematic development algorithm. Each type of algorithm can have multiple implementations. For example, one implementation of the tempo algorithm may vary the tempo from slow to fast, and another may keep it constant. When designing each independent voice that is to make up a generated texture, various algorithms can be mixed and matched.

The key to the generative process is the decision making, where does the next rhythmic value come from, where does the next note come from, how hard should that note be played. In the simplest terms, the algorithm generates a series of instructions like “play middle C softly for a quarter note.” When generating a melody, AEN relies heavily on random, but limited, choices. For example, the “next pitch” algorithm maintains the state of the current melodic contour. In one of the "next pitch" algorithm implementations, melodic contours explore the simple Plainchant melodic progressions at the heart of all western melody (Messiaen 4:35). For example, a Plainchant contour could be “one note up, and one note down” or “two notes up and one note down.”

In AEN, I’ve further explored the techniques at the core of my music. Messiaen, in his Treatise on Rhythm, Color, and Ornithology, discusses musical building blocks at the heart of both western and non-western music in the most inspiring and insightful way I'd ever come across. Breaking music down to its components allowed me to re-approach composition in a more personal and experimental manner. In addition to describing the Plainchant melodic intervals as a basis for melodic movement in western music, he presents 120 deci-talas (Messiaen 1:271), the exquisite ancient Hindu rhythms, as well as the captivating harmonic possibilities provided symmetrical modes (Messiaen 7:101). Crucially, Messiaen often played independent musical ideas against each other in his music. For example, In the third movement of the Turangalîla Symphony, he composes six independent musical ideas together (Messiaen 2:204).
AEN is probably one of the most important projects I have undertaken to date, as it marks the first time I’ve combined music and computer science. It allows me to create something unique, different, something that is an artistic manifestation of many of the ideas that genuinely matter to me. I've been updating the algorithm as I create more and more projects with it. I continue to refine it, add new modules, and I'm always thinking of the unexplored musical worlds it may take me to.

Resources