Abstract: Algorithmic Music Composition is the use of computer algorithms to create music without human intervention. A variety of methods and sources are used to create this music, ranging from short, pre-loaded pieces of music to the math of objects based in Wolfram’s computational universe. My program, CliffComp, aims to algorithmically create a piano melody based on input dictating the mood of the music.
Introduction: The aim of CliffComp is to algorithmically create a melody based on the inputted mood. Based on the combination of input, the program will alter the models which it uses to generate the score. During the course of the project various methods of composition will be investigated, including mathematical models, knowledge based systems, grammars, and evolutionary models.
In mathematical models, music is generated based on mathematical equations and input such as fractals; in knowledge based systems, the program bases its generated music on isolated pieces of music loaded into its memory; in grammars, music is generated based on predefined rules; and finally, evolutionary models, the program randomly alters music and based on user feedback the composition will eventually evolve into a suitable piece.
In the end, CliffComp will employ a hybrid system, in which some or all of these methods of composition will be used to generate the final composition. And, the compositions based on this system will be affected by the mood input given by the user.
Application: CliffComp could be applied in a variety of programs to create procedurally generated music every session based on the mood the program desires to create. A specific example of this would be a video game, which could supply CliffComp with data on the current mood of the game, and CliffComp would generate music accordingly, saving money for game developers and creating a more interesting and interactive experience for the end-user.
Previous Work: A variety of programs currently exist that generate music algorithmically. ImproVisor, created by Harvey Mudd, is a score-writer with the ability to generate licks and parts of solos using Markov chains and context-free grammar. Lexikon-Sonate, by Karlheinz Essl, generates potentially infinite piano pieces based on the analysis of piano music by famous composers such as Mozart and Bach. Finally, several programs exist that convert various forms of data, such as infinite constant like pi or programs from Wolfram’s computational universe, into music.
Current Problems in the Area: Current problems in algorithmic music composition mostly include simply making the music sound better – many algorithms can currently create music difficult to distinguish from that created by a human. The more pressing issue is how good the compositions sound, rather than how human-like they are.
Proposed Solutions: Making music sound better will simply take time and fine tuning of the final method of composition. More important for this version of CliffComp will be making music that is adequately influenced by the mood input, which will require adjustments on the composition model for each set of mood parameters.
Conclusion: Overall, CliffComp aims to use a hybrid algorithm to algorithmically create and save a piano melody based on the mood inputted into the program. Each mood parameter will result in the appropriate adjustment in the algorithm.
Future Work: CliffComp currently will only generate the melody using a single instrument, the piano. Future work will involve the use of different types of instruments as well as the ability to create appropriate melodies, bass, and percussion lines. Finally, the mood input that CliffComp can take should be widely expanded in order to create a more finely tuned composition for the actual mood.
- Supper, M. 2001. “A Few Remarks on Algorithmic Composition” Computer Music Journal 25.1 (2001) 48-53