Virtualoso: An Artificial Intelligence Project in Computer-Based Music Composition

CSEF · 2005 Mathematics & Software

Overview

Objectives/Goals The objective of the project is to program a computer to compose original melodies using artificial intelligence and to learn from what it has previously composed. Methods/Materials I designed a computer program in Microsoft Visual Basic 6.0 that uses a genetic algorithm (an algorithm that mimics evolution to solve problems) and a neural network (a method of pattern recognition) to compose original melodies. The user rates each melody that the program composes for representation of style, representation of mood, and aural appeal, and all the previously composed melodies are stored in a database. To compose a new melody, the program selects two highly rated parent melodies from the database and analyzes their rhythms and intervals. This analysis is used to compose the new melody, which is then rated and entered into the database. The program was executed approximately 100 times and aural appeal ratings were graphed to determine if the program improves from what it has previously composed. Results In a sample of 35 melodies that the program composed, the aural appeal rating was graphed as a function of the number of melodies previously composed. The line of best fit had a slope of 0.0532, indicating an upward trend in composition. The average aural appeal rating is 6.16 (on a scale of 1 to 10, 10 being the highest). Based on the representation of style and mood ratings, the program is best at composing melodies rated as contemporary and sad, with average ratings of 8.29 and 8.00, respectively. Conclusions/Discussion The project achieved the objective of programming a computer to compose original melodies and learn from what it has previously composed. However, the melodies are still less aesthetically pleasing than most music composed by human intelligence. This program furthers the understanding of intelligence by designing a method to mathematically express a creative function of the human brain.

Summary statement

My project is a computer program that uses artificial intelligence, specifically a genetic algorithm and a neural network, to compose original melodies and learn from what it has previously composed.

Help received

My mother helped with cutting paper for the display and both of my parents proofread my written work.

Awards (1)

  • Category Award

Competition history

  • CSEF 2005 Mathematics & Software · Entry S1221

Resources

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Browse more like this

Source: California Science & Engineering Fair public projects

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. An account also raises your daily allowance for “Has this been done?”, and lets you create a key for the MCP server with a much higher limit than anonymous use. Browsing stays public.

Continue with Google