Here’s a remix I made of Jonathan Coulton‘s song, ‘The Future Soon‘, with the help of my robot choir.
For much of the song, it’s identical to the original, but Jonathan’s singing is replaced by two different MacInTalk voices at appropriate places in the song, so that he sounds more and more robotic. It starts with Alex, the newest and presumably highest-quality voice. Alex sounds a bit silly singing this high; in retrospect, perhaps I should have used the version of The Future Soon that Rob Gonzo transposed into the key of C instead.
Alex then passes the mic to Trinoids, an intentionally robotic-sounding voice which has been around at least since I got my first Mac 15 years ago. Being an old-timer, Trinoids sings a little out of time (technically speaking, it’s a MacInTalk 2 voice, and doesn’t seem to fully respect the TUNE commands), so I had to do a fair bit of post-synthesis fiddling to get it to sing at the right speed. Apart from that, since many people are annoyed by the beeps in the original, I updated them to the ’90s equivalent.
Here’s a bit of information about how I did it. Last December, Spektugalo released UltraStar Deluxe versions of 25 Jonathan Coulton songs. UltraStar Deluxe is a karaoke game, and the song files for it give lyrics and the notes and timing that you’re supposed to sing them in. I pretty much immediately recognized these as a potential input for my robot choir, and soon afterwards had my Mac singing along to UltraStar files reasonably well. Apart from getting it to read the UltraStar file, I had to improve the way the time allotted to each syllable was shared between consonants and vowels, and add the possibility of changing pitch mid-syllable; both of these improvements should be useful for songs input in other ways as well.
I was all ready to release a slew of instant robotic covers, except for one problem. I was still puzzled by part of the format, and couldn’t get UltraStar Deluxe to run on my PowerBook in order to experiment with the song editor. I could get it to sing the songs recognizably, but the pauses between lines were all wrong. So I let it go for a while.
Now I have a MacBook Pro which can run both UltraStar and UltraStar deluxe, and I found some actual documentation on the UltraStar file format. The documentation basically told me I could ignore the extra numbers that were confusing me, but whichever way I looked at it, the pauses between lines were about twice as long as they should have been. I ended up concluding that UltraStar Deluxe must interpret the timing differently when there’s no singing, and resigned myself to adjusting the timing manually. Not a problem: I was at a LAN party last weekend, so I had the whole night to do whatever I felt like on my Mac, and this is what I felt like doing.
This remix is also available on the podcast.