Open the door and smiley-face carolers sing a song that you can customize and send to others. That’s the emoticarolers concept, worked up by Jason Striegel, our Hackszine editor, who leads the development side of things for Colle+McVoy in Minneapolis. The team created this clever holiday “text-to-sing” promotion for Yahoo Messenger at emoticarolers.com. A custom Make carol is here. (Reminds me of the Smileys book by David Sanderson that I developed many years ago.)
I asked Jason how they built the app and here’s what he said:
The front end interface is written in Flash/AS3. It talks to a PHP backend, which uses the Festival text-to-speech software and some other Unix audio tools to render each of the four voices. Those all get compiled back into a single mp3 and sent back to flash, along with an xml file that tells the app how to animate the emoticons and custom lyrics. Aside from some of the animated bits, this could work as-is with an HTML/CSS/JS front end as well.
The process is pretty cpu intensive, so we had to use a number of load balanced machines to handle requests. They output files on amazon s3, all keyed by a unique id. If this becomes popular (fingers crossed), there’s no database or anything that will bottleneck reads or writes, and it should just scale linearly as we add more boxes.
It’s funny how the text-to-singing stuff ended up being only a small portion of the project.