Algorithmic composition
As algorithmic composition (AK) is referred to those composition method in which the score by an automatic, can be described mathematically process or algorithm is produced.
In principle, every piece of music can be represented as a sequence of numbers: If it is possible with an instrument to vary the pitch , strength and duration of a note , then each note can be represented with three numbers.
AK is somewhat simplified the development of rules that generate such musically interpretable number sequences. In today's practice, this is usually the development of a computer program ; However, computers are not an essential part of the AK.
Many AK systems work on the principle of iterative feedback , the program generates an output depending on an input, which is used as a new input in the next step.
The boundaries between “traditional composition” and AK are fluid. Any use of a rule in composition - be it the blues scheme or the counterpoint - could, strictly speaking, already be described as algorithmic.
Concepts and Models
In addition to knowledge of music theory, numerous other areas of knowledge are used:
Neural networks analyze acoustic and musical data.
Symbolic AI, originally developed for the analysis and synthesis of linguistic and mathematical expressions, is applied to musical structures.
Simple algorithms create complex structures.
Manual or automatic selection processes control an artificial evolution.
Finite automata generate music from an alphabet and rules of derivation using concepts from generative grammar .
- Statistics and stochastics , ( Markov chains )
Compositions by z. BJS Bach are statistically analyzed in order to generate "Bach-like" music using Markov chains.
The structures existing in the sequence of the natural numbers are made "audible".
- Information theory and theory of complex systems
- Chaos Theory and Fractals
- Cognitive science
- Psychoacoustics
Criteria for a classification of concepts:
- Top-down or bottom-up (mixed forms common)
- Determined or controlled by random numbers (mixed forms common)
- Discrete or Continuous
- Real time or model time
- In real time: Intervention in the composition process possible or not?
steps
The working group can be divided into three to four steps, even if they usually take place within a computer and even within a program or programming environment:
- 1. The development of the program
- 2 a) The choice of the parameters of this program
- 2 b) The choice of the start entry
- 3. The conversion of the data generated by the program into acoustic events.
Historical
- In 1026, Guido d'Arezzo suggested assigning pitches to the syllables of a religious text . He is considered the father of solmization .
- In 1650 Athanasius Kircher developed his Arca musarithmica , a composing machine .
- In 1757, Johann Philipp Kirnberger's ever-ready polonaise and minuet composer appeared, instructions on how to compose using two dice.
- around 1790 Joseph Haydn also published such composing instructions.
- In 1793 WA Mozart's instructions for composing waltzes were published posthumously and became a bestseller (→ musical dice game ).
- Around 1960, the Greek composer Iannis Xenakis wrote programs in the FORTRAN language that produced scores that were played with traditional instruments.
Programming languages and programming environments
- SoundHelix - free Java framework for random algorithmic composition, MIDI- based
- ChucK
- Common Music - Lisp -based
- OpenMusic - Lisp-based
- PWGL - Lisp-based - a visual programming language for algorithmic composition and sound synthesis
- Symbolic Composer - Lisp-based
- Csound
- Max / MSP - graphical real-time programming environment for MIDI and sound
- Pure Data - Open Source - Derivate from Max / MSP
- Mathematica - a computer algebra system, the results of which are also sonifiable
- SuperCollider - object-oriented language based on small talk
- FractMus - Fractal Music Composition Software
- Music Laboratories - Algorithmic Composition - Midi-based automatic composition
Contemporary composers
- Autechre
- Clarence Barlow
- John Cage
- David Cope
- Charles Dodge
- Karlheinz Essl
- Orm Finnendahl
- Wilhelm Fucks
- Lejaren Hiller
- Gottfried Michael Koenig
- Hanspeter Kyburz
- Paul Lansky
- Otto Laske
- Laurie mirror
- Iannis Xenakis
literature
- Fred K. Prieberg: Musica Ex Machina Berlin 1960
- Hubert Kupper: Computer and musical composition. Braunschweig 1970
- Gareth Loy: Composing with Computers - A survey of Some Compositional Formalisms and Music Programming Languages in: Current Directions in Computer Music Research, ed. By M. Mathews and JR Pierce, MIT Press 1989
- Curtis Roads: The Computer Music Tutorial. MIT Press 1996
- Martin Supper: computer music. in: MGG - Music in the past and present. General encyclopedia of music. Kassel 1995, Col. 967-982
- David Cope: Computer Models of Musical Creativity. MIT Press 2005, ISBN 978-0-262-03338-1
- Karlheinz Essl jun .: Algorithmic Composition. in: Cambridge Companion to Electronic Music, ed. by N. Collins and J. d'Escrivan, Cambridge University Press 2007, ISBN 978-0-521-68865-9
- Gerhard Nierhaus: Algorithmic Composition - Paradigms of Automated Music Generation. Springer 2009. ISBN 978-3-211-75540-2
- Heinrich K. Taube: Notes from the Metalevel: An Introduction to Computer Composition. , 2004 ISBN 978-9026519758
- Michael Harenberg: New music through new technology? Computers as a qualitative challenge for a new way of thinking in music. 1989, ISBN 3-7618-0941-7 .
Web links
- Concepts of algorithmic composition: A comparative overview : Bachelor thesis by Stefan Lattner, 2009 (PDF file; 1.8 MB)
- Algorithmic composition : series of lectures by Gottfried Michael Koenig (TU Berlin, WS 2002/2003)
- Lexicon Sonata : algorithmic music generator by Karlheinz Essl jun. (MacOS download and online version)
- Ad Lib Ido : algorithmic composition by Wilfried Satke based on a game from the Ido board game
- A Few Remarks on Algorithmic Composition by Martin Supper. Computer Music Journal 25.1 (2001) 48-53
- Wolfram Tones : Wolfram Mathematica Tones (Algorithmic Composition as a Web Service)