Chatting with
Andrew tonight, at the CS grad lounge, we talked about
Hit Song Science and we eventually focused on the following tangent:
- How could you make a system to translate a tune into the style of another musician (or into a different musical idiom)?
The following is what we came up with:
Using MDL, the naive answer is: take the encoding of the song in the first style (its original style) and use this string to generate a song in the second style. But then the new song won't be recognizable: it will just be a random tune in the 2nd style. In order to do better, we would need to preserve the features that are essential to the tune's identity, i.e. we need a model of human perception.
We could describe styles by looking at certain features individually (e.g. tempo, pitch, etc), and setting the values/ranges characteristic of the style. Features that are continuous (e.g. tempo) could have their value adapted to the new style, thereby making the tune feel closer to something in Style2. But then there's the issue of maintaining internal consistency: if you e.g. increase the tempo (because the new style requires a faster tempo), you might need to change the way the drums are played (because a particular drum rhythm just sounds wrong at a higher tempo).
This makes it an unsolvable problem, strictly speaking, just like translation between natural languages (translations often sound like translations, and there is definitely information loss). But if the goal is to make a spoof (as is usually the case when people try to perform this task), then it's ok.