Mechanical music-making is nothing other than a certain closely defined method I have invented, whereby anyone, even if he has no musical knowledge, may, by the varied application of music-making instruments, compose music according to a desired style. -Athanasius Kircher, Musurgia Universalis (1650)
Algorithmic composition is the science and art of creating and using algorithms to compose music. Computer-aided music composition systems allow composers to formalize their musical intentions and create programs that output music or other compositional materials.
Computers have been used for music composition since the late 1950's, however, a variety of algorithmic techniques and musical machines can be traced centuries back. One of these devices is Athanasius Kircher's Arca Musarithmica. In the mid 17th century, Kircher devised a process whereby non-musicians could compose music, by converting pitches to numbers and combining pre-composed musical patterns into larger musical phrases. The Arca Musarithmica, or Musical Ark was an artifact with a series of columns that corresponded to a table. These tables contained the information that would allow composers to recombine phrases to create a musical piece. In the Classical Period, some composers experimented with combinatorial compositions. The Musikalishes Wurfelspiel is a system where a series of precomposed patterns of music are combined to create a music composition. A person could create a piece by throwing a pair of dice and mapping the patterns through a table. Two of the most popular Musical Dice Games of the Classical Period are attributed to composer Wolfgang Amadeus Mozart.
David Cope is one of the leading researchers that has applied multiple techniques for computers to compose music. He is known for EMI (Experiments in Musical Intelligence) which can compose in the style of other composers. Cope has described his methodology in some of his books. Basically, EMI uses databases of music of different composers, performs pattern matching and recombines musical patterns to create new music. Some would argue that the music EMI produces may not sound at the same level of a human composer, but still, many argue that some of the compositions are interesting and well-composed, at least considering that they where composed by a computer. EMI has created music in the style of composers such as J.S. Bach, W.A. Mozart, Rachmaninov, Arnold Schönberg and Cope's own music among others. Emily Howell is one of Cope's most recent projects which involves original compositions but that does not attempt to replicate a style of a composer. Instead, Cope trains an association network with musical patterns, until Emily Howell can compose a new piece with its own style.
Musical improvisation can be traced centuries back. For example, in medieval organ music, organists would improvise along notated music compositions. It can be said that improvisation has always been an important element in music, thus, some computer music researchers have become interested in musical improvisation with computers. Since musical improvisation is in itself a field of study, machine improvisation can be seen in different perspectives by many people depending on factors such as the genre of the music, the technique for improvisation, the type of data, etc. Research on machine improvisation is either done with audio or symbolic data.
Some artists improvise with computers to generate music. Some would argue that this is musical improvisation by a human, but in some cases it can be an intersection of human improvisation with machine improvisation. Some people call this art form as Live Coding. Live coding combines both algorithmic composition and improvisation for creating music and visual art. In live coding performances, the coding process is projected so the audience can see what's happening. Some artists choose to improvise with pre-written algorithms and software and treat the computer as a musical instrument.
Researchers have been interested in the cooperation of both humans and computers for musical improvisation, this can be referred as Machine Co-Improvisation. Researchers have developed software and sophisticated algorithms for improvising with computers, this would allow for a musician playing a regular musical instrument, to improvise with a computer as it would with another person. To accomplish this objective, algorithms for digital audio signal processing, musical style detection and artificial creativity work together to output musical material that attempts to be synchronized with the original improvised input.
Research has also been done on machine improvisation without human intervention. In this type of improvisation, a set of software agents improvise with each other to generate new musical material inspired by a kind of collective improvisation.
Collective algorithmic music composition is the art and technique of applying algorithms to create music in a collective manner. In collective algorithmic music composition, composers may modify others' algorithmic compositions to create new compositions.