Published on Sep 05, 2023
The objective:
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.
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.
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.
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.
The 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.