Automated Music creation
I have an ambitious project where a musician can play a few chords , then the algorithm completes the whole song together with a music video for it. i will train my system on the billboard charts throughout the years and the artist has the option of stipulating which year he wants the song to sound like its from. First i create a tree that starts whith the whole song at the top node then branches of on and on till it reaches the bit stage. During training different songs will have different trees, but i will back propagate to the bit level an expected value of say 5. The back propagation will cause the tree to be set up in a particular way. So all songs in the training set will then be represented by a "type" of tree, though the trees will still be unique. Then during operation if you play a few chords the algorithm will set up that part of the tree for the song while at this stage the rest of it is random. finally we forward propagate through this partially random tree and get a value, the expected value will be 5 as that the value we used during training. Then the algorithm will back propagate throughout the tree affecting only the random parts till it creates the type of tree learnt during training, but one that complements the couple of chords that were played. At the end you can specify an artist and a year and it will produce a totally new song with a totally new music video complete with the artist singing and everything.We first set up a tree showing the hierarchy of parts of the song...there will be many ways to set this up for even a single song..so what we want the system to do is represent all songs on the billboard with the same "type" of tree. to do that we assign random numbers to each node in the trees, and add them up...we will get a number...in order to make all the trees for every song correlate we choose an expected value, which i chose to be 5, and using the difference between the sum of the nodes of each song and this expected value i created a loss function. Then i back propagated this error to the nodes, rotating them in order to give them new values...so all songs which were forced to change the sum of their nodes to 5 will have the same type of graph in the sense that if you erase part of the graph we know that the whole must be 5 so we only have to replace it with a value that will return the whole to 5
Comments
Post a Comment