* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Music Composition using Artificial Intelligence
Survey
Document related concepts
The Shockwave Rider wikipedia , lookup
Technological singularity wikipedia , lookup
Human–computer interaction wikipedia , lookup
Computer vision wikipedia , lookup
Gene expression programming wikipedia , lookup
Artificial intelligence in video games wikipedia , lookup
Human-Computer Interaction Institute wikipedia , lookup
Wizard of Oz experiment wikipedia , lookup
Intelligence explosion wikipedia , lookup
Ethics of artificial intelligence wikipedia , lookup
Philosophy of artificial intelligence wikipedia , lookup
Existential risk from artificial general intelligence wikipedia , lookup
Computer Go wikipedia , lookup
Transcript
Music Composition using Artificial Intelligence Victoria Tran Computing Research Department of Computing Sciences Villanova University, Villanova, Pa, 19085 [email protected] Abstract 2. Methods Music composers originally wrote compositions by hand to express themselves. Since the discovery of artificial intelligence, computer scientists discover how to create a program that will help music composers write their compositions. Computer scientists want to learn more about the relationship of music composition and artificial intelligence by performing experiments or analyzing other sources to develop ideas. While music composition and artificial intelligence encounter problems between computer scientists and music composers, they will need to work together to understand both topics better. Keywords Genetic algorithms, grammar music composition, Konohen 1. Introduction Music composition and artificial intelligence have an interesting relationship that many computer scientists find intriguing. When a music composer manually writes music compositions, he has reason the intention in his music as well as his creativity. Computer scientists have newer approaches to writing music compositions by generating programs as technology improves. Still, artificial intelligence and algorithms cannot duplicate this type of human activity. Since music has many varieties, computer scientists are exploring a similarly wide variety of appropriate technologies that can be used for automatic music composition such as genetic algorithms, compatible programming languages, and music theory. This paper will explain the approaches computer scientists used to understand the complicated nature of music composition. Computer scientists use genetic algorithms to compute programs that create music. In addition, techniques like the Konohan grammar [4] and using programming languages that are compatible to music help give the computer scientists ideas of improving the nature of music compositions. Despite the progress of understanding music composition using artificial intelligence, it needs more evidence to fully explain the topic. The strategy for creating a program that writes music composition involves many procedures and challenges. Loy and Abbot suggest using an existing programming language to develop a library that stores common music structure operators [1]. The difficulties in creating music composition automatically using artificial intelligence techniques are related to the complex semantics and syntax of how music is created in the brain as compared with how the same music can be represented programmatically. Therefore, a programmer must choose an appropriately capable programming language that can support the required music structures. 3. Creativity Although music programs can compose music of a relatively sophisticate nature, they require creative input from both the human composer and the computer scientist or programmer. Sheikholharam and Teshnehlab suggest that creativity has two forms: the composer either has originality or borrows from existing ideas [4]. The creativity part of computerized music composition is very challenging because there is a lack of technology that can adequately quantify and implement human creativity. Roads argues that the human composer must handwrite his music compositions because computer program lacks creativity [3]. The composer needs to dedicate his time to creating compositions as well as the programmers’ dedication to create efficient and stable programs. Since technology improves every day, the music programs have better algorithms and programming languages. 4. Genetic Algorithms According to Oliwa, genetic algorithms have a major role in computing a music composition program [2]. They involve a process similar to the survival of the fittest, where each genetic algorithm contains a phenotype and a genotype. Genetic algorithms must work alongside a compatible programming language to produce a language that composes music. Genetic algorithms can support both originality and developed ideas, while the Konohan grammar finds the rules for sequences in music [4]. The genetic algorithms randomly create a shape, which is a fixed division of the string that is divided by separators into segments. The segments are assigned by fitness functions, which determine their values from their shapes. Shapes are randomly created, so people will see different ones created during each execution. From the differently executed strings, people will see different songs being generated to suit each instrument’s style. and artificial intelligence is needed to understand the relationship between them [3] [2]. Roads suggested that computer scientists need to make interactive and flexible programs, while Oliwa suggested repeating his experiments to produce more accurate results. If computer scientists repeat experiments by modifying them, they will get a better understanding of music composition and artificial intelligence. Genotypes and phenotypes help produce an efficient program. Genotypes contain a fixed multidimensional array while phenotypes represent the music score. Using programming languages, such as the abc language, genotypes help map the algorithm for making the programs [2]. The notation of the programming language helps describe the phenotypes, which converts music symbols into ASCII code. The music composers encounter problems when they write their music compositions. Music composers would translate their handwritten compositions into computerized programs. For example, the music composers will need time to understand particular commands for inputting music scores. Since the programs lack flexibility and increase the cost of learning to use them, music composers orchestrate their work by working with one instrument at a time. Therefore, Roads suggested that writing computerized music compositions will require better representations [3]. 5. Konohen Grammar 8. Experimental Results The creativity of music composition has a major factor on whether the composer has originality or develops his ideas from existing ideas. From using genetic algorithms, Konohen grammar, and mutation, Sheikholharam and Teshnehlab decide to create two different entities for the pitch and duration of the music [4]. Genetic algorithms are dynamic due to the changes in music patterns. Konohen grammar then evaluates the pitch and duration through the use of deterministic rules in music and the creativity of the composer. The convergence of the pitch and duration makes sure that the patterns do not interfere with each other. By representing pitch and duration of music composition as two different entities, the authors develop a new method for music composition. Performing experiments help computer scientists gain a better understanding about the relationship between music composition and artificial intelligence. Computer scientists can fulfill their understandings by either forming arguments from their research or perform experiments to know how human the computerized music compositions work. The following experiment shows a huge difference in the progress of music composition using artificial intelligence. 4.1 Genotypes and Phenotypes 6. Programming Languages When they choose programming languages, computer scientists look for reliable languages that can create efficient programs as well as a better understanding about music [1]. The programming languages must have compatibility with the genetic algorithms to produce programs that can compose music. For Oliwa, he uses the abc language to generate music in ASCII [2]. The abc language also produces music that is readable and writable to humans. Sheikholharma and Teshnehlab use a combination of genetic algorithms and the Konohan grammar to produce a program that can not only write compositions, but also has originality [4]. 7. Problems Although computer scientists can create programs, they have problems with syntax, semantics, and efficiency. According to Roads and Oliwa, more research into music 8.1 Design Oliwa evaluated the fitness functions on an electric guitar by performing different techniques [2] such as ascending and descending tones. For each execution of the program, the fitness functions give a random number to test the pitch and the duration of the music, or chords. The segments are then awarded with points when their values fulfill the constraining points of the program. An example of using fitness functions involves with the segment that contains the ascending tones. E #F G A, #F G A H, G A H C E #F G C, #F G D H, G A H A Figure 1: Execution varies for the fitness functions [2]. Each segment of the fitness function can have a similar fit with the original composition. In Figure 1, the sequence of letters above represents the written composition, while the sequence at the bottom represents the results from the execution of the fitness function. The letters that are printed in bold represent the musical notes that are not picked up by the fitness functions. 8.2 Results From Oliwa’s experiment, the fitness function values vary for each execution. The number and size of the segments can be randomized to produce different segments of different sizes for fitness functions. If the song executes more than one segment, each segment produces a unique sound. Oliwa also limits using restrictions and constraints of composing music to make music retain its uniqueness. 8.3 Analysis The results from the experiment reveal how computerized music programs can reflect artificial intelligence. By randomizing the segments of the computerized music composition, the evaluations had a huge effect on generating the fitness functions and segments for each music score. The segments generated after each execution imitates a person’s performance. Since music performers either play or sing differently during each performance, the segments can also reflect the computer scientists’ continuing research of music and artificial intelligence. In conclusion, people can get a better idea of how music would work, and understand how computerized music can imitate a musician’s performance. 8.4 Future Work Roads’ proposal and Oliwa’s experiment show a huge difference in the field of music composition using artificial intelligence. During the time Roads wrote the article, computer scientists did not have enough information to understand music and artificial intelligence. Information gathered from research updates itself to give computer scientists opportunity to develop newer techniques to make the program more efficient and easier to use. Oliwa, Sheikholharam and Teshnehlab later developed techniques to create music composing programs that are more efficient and flexible to the music composers. Techniques like the Konohen grammar reveal a significant change of creating programs that can write music scores. Computer scientists can now continually develop efficient and flexible algorithms to create programs that compose music. Importantly, computer scientists and music composers will need to interact and work together to enhance the relationship between music composition and artificial intelligence. Because music composers use the program to work, they need to learn commands and have a basic understanding of the program. In addition, musicians can give feedbacks to the computer scientists about improving the program. Computer scientists will use the music composers’ feedbacks on the programs to make more efficient algorithms and learning about the human nature of music compositions. Both fields will have a better understanding of computer science and music composition. 9. Conclusions When writing their compositions to the program, music composers would need time to learn about syntax and semantics. Music composers also need patience when they convert their handwritten compositions to the computerized version of their works [3]. Since technology improves, music composers will have more efficient and flexible programs to work on their compositions. Music composers can also test their compositions by using a range of computerized musical instruments. Because music has a diverse range, computer scientists need more research. Genetic algorithms help create form and notation of the music compositional program. Computer scientists must take caution when they choose a programming language because music has a diverse range. Like many programs, computing a program that composes music encounters syntax and semantic problems as well as efficiency. Since computer scientists find the relationship deep, they have opportunities to understand it. References [1] G. Loy and C. Abbott. “Programming Languages for Computer Music Synthesis, Performance, and Composition,” Computing Surveys, Vol. 17, No. 2, pp. 235-265, June 1985. [2] T. Oliwa. “Genetic Algorithms and the abc Music Notation Language for Rock Music Composition,” GECCO’08, Atlanta, Georgia, USA, pp. 1603-1610, July 12-16, 2008. [3] C. Roads. “Research in Music and Artificial Intelligence,” Computing Surveys, Vol. 17, No. 2, pp. 164-190, June 1985. [4] P. Sheikholharam and M. Teshnehlab. “Music Composition Using Combination of Genetic Algorithms and Kohonen Grammar,” ISCID '08, 2008 International Symposium on Computational Intelligence and Design, pp. 255-260, 2008.