Our team has a great interest, and vast knowledge in music, and musical theory. We thought we could take music one step further and make an artificial intelligence that writes its' own music.
What it does
There are two parts to MewsicGen:
Guided generation: this uses a weighted probability matrix based off of currently existing music.
Procedural generation: this uses music theory, along with the cellular autonoma algorithm, and a normalized probability curve to generate good sounding melodies.
How we built it
The backend is build using python, it is in charge of all the complex algorithms, and mathematics.
The front end is a web application, using the bootstrap framework. The php script would then execute our python scripts which would generate a wav file and then convert it to mp3, and display it using an audio visualizer we found on codepen.
Challenges we ran into
We ran into our fair share of challenges, to begin with, we spent quite a bit of time determining how we would generate the music. Also, due to the one python synthesizer that we chose to use, PHP would not execute our Python scripts, four hours later and we realized that the synthesizer was overflowing a string, and stopping the execution cold. Mobile optimization of our code was more difficult than it should have been because no one on our team was very fluent with HTML.
Accomplishments that we're proud of
Despite a giant wall we managed to hit at the end of Saturday, we finished our project with flying colors. We wrote two different AIs to create music, and they usually sound really good. We also made a very nice looking front end.
What we learned
How to connect front and back ends that don’t usually mix. We also learned how to use more creative methods of achieving a generally straightforward task.
What's next for MewsicGen
Next is adding a base melody to the project, and figuring out how to use chords.