The Yahoo! Messenger folks gave our team at Colle+McVoy an opportunity to do something fun and original for the holidays. Four weeks later, the Emoticarolers were born! You can create your own lyrics for one of three holiday tunes, choose between a number of characters, and the Emoticarolers will sing a custom carol to your friends.
We tackled some really interesting challenges with this one: an aggressive schedule, finding a reliable way to do text-to-song, and creating a user interface that makes it as simple as possible to enter lyrics to replace the words of well known tunes.
The timeline was the most familiar of these challenges and we're getting to be pretty good with turning awesome stuff around quickly (I don't mind bragging about this too much - our team rocks).
On the text to song side, the biggest hurdle was dealing with the fact that doing text to speech for each of the 4 voices and then compiling all the audio into one mp3 output track is a massive CPU consuming task. So all the technicalities of text-to-song aside, this had to be built in a way that we can just throw servers at it if we get a big spike in traffic. It needs to do this without any bottleneck point, storing data for tons of users, and it needs to start up and shut down extra servers as needed so that we can accommodate load spikes without costing more than necessary.
The most unforeseen challenge, however, was getting the UI right for song entry. Just entering a song into a big input field made it difficult for the user to match their lyrics to the right notes in the song. On the other hand, the notes are all syllable dependent—what if you want to shove a 2 syllable word into a one syllable slot?
We ended up using an interface similar to MadLibs, where you match your input with the words you are attempting to replace. The system will determine the number of syllables you entered, compare that against what it expected for that word replacement, and figure out how to make any note timing adjustments, if necessary. You still have to do some phonetic spelling if you're doing any serious funny business, but it works pretty darn well, and messing with the language really ends up being half the fun.
Give it a shot, send it around, and let me know what you think. We're all pretty stoked with how it turned out, and we're looking forward to hearing people's feedback.
Happy holidays BlogCadre!
View or edit this song
Emoticarolers.com