Do you envy people who can bust out some fire freestyle raps about absolutely anything? I certainly do. That's why I wrote a bot for people like us.
What it does
WikiBeat uses natural language processing and the knowledge on the internet to put together couplets that are not only spicy af, but also completely factual. This means that WikiBeat has both educational and entertainment value. And it's all wrapped up into a nice little web app with a sleek and simple interface.
How I built it
The backend of WikiBeat is entirely Python. When a topic is received, it uses the Wikipedia api to gather content on the topic and process it into rhymes using NLTK and various logic. Then the Python wave module and the google text-to-speech api are used to turn the couplets into actual sound, and put them onto a beat.
Challenges I ran into
Accomplishments that I'm proud of
The front end for this project turned out to be much more polished and pretty than I had anticipated. I'm proud of the way it looks. I'm proud of the project and idea itself. It gives me a good laugh every time I test it.
What I learned
What's next for WikiBeat
Some improvements that I wanted to implement, but didn't have time included: Putting this project on Heroku or some similar service. As it is, it's actually very close to being ready to be put into production, however, I simply didn't end up having time. Using a translation API to translate lines to a foreign language and back, in order to get more rhyming material to work with, while still staying factual.