Microsoft recently released Zo, a goofy chat AI which isn't all too good. Best feature? The emoji song guessing game, where Zo would toss you the name of a song as a string of emojis you had to guess. I wondered if some automated process could make text from songs into emojis: add my desire to be clownish and karaoke was a natural addition.
What it does
The app uses Nuance's speech recognition to listen to me sing "I am the Walrus" by the Beatles. The response from Nuance, a few guesses at what I sang, is then passed to my hack which picks up on some words and converts them to emojis.
How I built it
I snagged the Nuance socket app from their provided links, added a js file to recognize words from the response, and hacked at the original app to make sure it would continue streaming audio instead of stopping every time I stopped talking.
Challenges I ran into
The capability of the emoji recognition is super limited! I had no time to actually have regex recognition of synonyms for certain words so it only works for the Beatles' "Walrus", from which I hand-picked words to be recognizable as possible emojis. On top of that I wasted a lot of time just fiddling with the method that started and stopped input instead of making the emoji part substantive.
Accomplishments that I'm proud of
Without any real documentation I stared at Nuance's main.js file until it bowed before me! Now I know way more about Nuances client-side calls than I should.
What I learned
Never underestimate the effort behind a great joke! A good joke can be simple and clever, but a great joke requires a high structural understanding of life. Case in point: emojioke would be way funnier if it worked better, and if I spent more time studying stuff like intents and NLU provided by Nuance instead.
What's next for emojioke
A request for continued API access, I guess, since it probably won't be working after tomorrow...