So I am not going to make a robot that can play the piano, but that does make a nice visual of what I am trying to do.
I wish to make short pieces of music, based on past successful songs by entering many small snippets into a Tensorflow Recurrent Neural Network (RNN). A bit of software from Google that allows computers to learn a skill and reproduce it's own version of that skill.
Imagine entering every Beatles Generation song snippet and having a computer create it's own version of Beatles style songs, lots of them! Some songs might be too close to the originals, some might be just plain really bad, but occasionally the computer might be able to produce a gem that takes you back to another time. Imagine what a musician could do with that golden rift from the past created by the future.
To give a more modern example: perhaps Michael Bublé or Kate Perry would be interested in what a machine could come up with from their successes.
Please make this decades long wish a reality by donating a few dollars to my project.
The present problem is the song entry. Most Machine Music Learning tools uses huge datasets of thousands of midi generated multi-track files. I have not liked the quality of this approach, and prefer simple melody files. Uploading high quality melody files has been a problem. I would have to hire a musician to check the quality of the present database and to upload more choice snippets. (If anyone wants to painstakingly enter hundreds of songs snippets for free just for the love of music research, I would be very impressed)
Another cost will be the development platform which is presently $19.00 USD per month. To have this site available for a few years will cost ($19.00 x 24) ~$456.00 USD
Most of the difficult programming has been done over the last decade and can be viewed on the http://rocksetta.com website. The Machine Learning part is reasonably new but can be viewed on various of my github sites at https://github.com/hpssjellis/char-rnn-tensorflow-music-3dprinting and several others at https://github.com/hpssjellis?tab=repositories
An example machine learning music making but demo is working at https://big-char-rnn01-rocksetta.c9users.io/rnn-both.php
A strange coincidence is, that the music notation I have developed over the last decade ( http://keyfreemusic.com ) actually works very well with machine learning since every combination of characters produce sensible musical sounds. (I have developed four styles of music notation: Keyfreemusic, Music Letters, Rocksetta Notation for database entry and the best a readable diagram notation.)
The final goal is to make a Web App that allows anyone to generate genre based song snippets from several datasets optimized for different song styles. This gives people a chance to experience some of the benefits of machine learning as an assistance to creativity. It is then up to musically creative people to take the song snippets and make full fledged songs.
Please support this project and lets see what music we can make!
Risks and challenges
The three main risks are:
1. Updates to the Google Tensorflow Machine Learning software. Sometimes updates can cause issues with the present software. A solution is to stay with an older version of Tensorflow, or update the Machine Learning code.
2. Garbage in creates garbage out: The quality of the entered song snippets influences the output. Much of my costs will be to pay musicians to correct and enter high quality song melody snippets.
3. Not enough songs to generate a quality output. Still working on techniques to improve the quality of the output using minimal input. A present technique is to randomize the entry of the songs several times in the dataset. Other ideas are to populate a main dataset of successful songs with the new songs to study.
A challenge is to keep the song snippets short enough and as a single note melody so as to not get in trouble with the original Artists. Obviously if there are issues, those song snippets will be removed from the database.
Another challenge will be to upgrade the main Adobe Flash Web App to HTML5 Web Audio for modern browsers. This is not an immediate issue and is something I will enjoy doing as time permits.Learn about accountability on Kickstarter
- (23 days)