Writing music September 10, 2008
Posted by Geordie in For Developers.trackback
One potential application of optimization is the creation of music. Most instruments generate sounds that are in some way naturally discrete (frets on a guitar, keys on a keyboard, etc.) and the timing of when to play what sound is also usually discrete (thus sheet music and tablature). Just any assembly of notes in any order usually sounds awful however. Over the past few hundred millenia humanity has codified certain rules for what makes a successful piece of music. These generally come in the form of both hard and soft constraints.
Composition of music in the Common Practice Period (Baroque, Classical, Romantic) was governed by a large set of well-defined rules and recommendations on harmony and melody. This type of music is amenable to automatic generation because of its structure. Here is some work on defining how one would automate the generation of this type of music by recasting it as a constraint satisfaction problem.
In addition to classical music, generation of pop music is known to follow certain formulae, not just in the music but also in lyrics and band composition and appearance. The codification and exploitation of successful approaches to generating pop music led to the emergence of the modern music scene, which is dominated by largely computer-generated formulaic songs. An interesting applications idea for Orion web services would be to formalize the rules for generating pop music, not just for the music itself but also for the lyrics and band format, re-casting the generation of songs as (for example) weighted MAXSAT problems and solving them using Orion web services.
Comments»
No comments yet — be the first.