"What would I rap like... if I could rap?" "What would Donald Trump's debut album sound like?" "Would Kim Kardashian's raps be laced with profanity or just product placement?"
These are pressing, important questions as we head into a future of machine learning and signal processing powered by devices like Alexa.
Also, some really cool researchers at KDD'16 developed Dope Learning, what's to date the most advanced algorithm for generating good rap: https://arxiv.org/abs/1505.04771. You should check it out.
What it does
To use our Alexa skill, just say, "Alexa, ask for a rap." She'll just ask you for a name.
Tell Alexa to rap as someone and she'll drop sick beats on you based on their speech patterns, topics of interest, and overall writing style.
We do this by scraping a target user's Twitter account, constructing a Markov model, and combining that with a "Dope Learning"-derived model that recombines rap lyrics from accomplished English-language rappers based on topics and speech patterns from our Markov model.
Our project aggregates our model of a user's personality with the Dope Learning model of what a good rapper would sound like, combining their interests and written behavioral patterns with assonance rhymes, rhythm, and poetic structure.
Challenges we ran into
Aggregating a good rapper model with the writing patterns of people who are decidedly not rappers. Tweets aren't exactly sick rhymes.
Getting Alexa to rap instead of just talk (hint: lots of pause control!).
Learning: Alexa Skills, AWS Lambda, Python, Selenium, reading a few research papers in the process, and building our Markov model, etc.