Computer scientist Martin Wattenberg has proposed a proof of concept for an instrument based on a genetic algorithm capable of not only creating musical performances, but also composing them. His instrument, instead of randomly changing the elements of the performance, would keep certain similar elements constant. It performed both a «traditional» musical play and a «harmonizing» function. Wattenberg’s instrument would be more accurate, and one could compose the same piece using many different generative algorithms, each with different effects. The technology that makes the instruments would be available to musicians, allowing them to insert a musical phrase into the instrument and make it play a complete performance version.
Similar to modern electronic music, instruments that generate music can also be used to control light, sound, video, or displays.
In 1993, two scientists at the University of Minnesota developed a software package called Choir Designer to help researchers design scores for electronic musical instruments. With this package, the user creates fully detailed design plans for possible electronic musical instruments. The software allowed the user to enter a set of musical parameters into a folder-style document called a design template, and then use the music program to create complete, detailed, three-dimensional designs for the instrument and its parts. The data for the design templates was generated by Choir Designer software in a biological manner using genetic algorithms. One template could contain data from Propellerheads Reason music production software, Audacity digital sound editor, as well as regular computer data. In one template, for example, the SPL parameter could be changed to create a second, different sound. Today, no electronic instrument has been created using a design template, although in theory they could be.
Genetic programming
In artificial intelligence, genetic programming (GP) is a method of developing programs by modifying them with DNA and modifying them with various proteins and molecules. GP was developed by John L. Hennessy at Carnegie Mellon University in 1989 and released as open-source software in 1995. The most popular implementation is CUDA, created by Andrew Karp and Ben Shaw from the Massachusetts Institute of Technology.
According to Hennessy, genetic programming is an evolving programming language with a strong focus on optimization, which is the core essence of evolutionary algorithms. It is a program like all programming languages, except that it only includes basic lexical and syntactic predicates. Moreover, it is a programming language that the human brain uses to develop programs.
While genetic programming can be thought of as a pattern matching technique in which a system performs exactly the same task using only the mechanisms it has developed, it is much more general in nature. In evolutionary programming, the exact shape of an adaptive program is not important. You can only target the behavior of the system.
Genetic programming adds limitations that guide evolution in the form of gene sequences (alphabetical or hierarchical). During evolution, the goal is to replicate DNA at a high rate (or as fast as possible) in order to produce the desired proteins or nucleotides and to adapt the DNA to the current needs of the body.