DWD: Karaoke Flow

For my week #2 homework in Dynamic Web Dev, my assignment was to play a bit with JavaScript and CSS in forms, to basically build a front-end prototype for a project for class.

I decided to use this as an opportunity to do a simpler project (at least initially), called Karaoke Flow.  It could also be called Rap Libs (like Mad Libs, RIP the creator of Mad Libs :( ), as suggested by one of my classmates.

Basically what Karaoke Flow is is a chance for me to use puns and wordplay (in the tradition of my Turner family and my dad’s poetry expertise) to create dope rhymes.  I also wanted to create a cool music project and learn how to DJ and make digital music possibly while at ITP.

Karaoke Flow is a party game.  Everyone gets a certain amount of time to create 2-4 lines of rap lyrics based on randomized prompts for two topics.  So each person will write some lyrics on something like “basketball” and “women”.  After, say, 5 minutes, the rhyme creation is over.  Then whoever’s got the mic next will get up and perform the randomly selected lyrics.

The emcee gets a mic, a random beat, and the random lyrics.  That’s it.  It’s his or her job to create the flow, matching lyrics to the beat, and possibly freestyling if confident enough.  It can be recorded, it can be based on just one set of two topics, or it could just be all sorts of randoms.

I was inspired by this on my long runs where I’d listen to Drake, Lil’ Wayne, and Kanye.  Check out some of their winners:

Drake, “Fancy”:

Jason had this girl Tammy with a purple Bentley
How she got it I ain’t never get to ask
I just knew that she was fine like a ticket on the dash

Kanye West, “Hell of a Life”:

One day I’m gon’ marry a porn star
We’ll have a big ass crib and a long yard
We’ll have a mansion and some fly maids
Nothin’ to hide, we both screwed the bridesmaid
She wanna role play, ‘til I roll over
I’mma need a whole day, at least rolled doja
What party is we goin’ to on Oscar day
‘Specially if she can’t get that dress from Oscar de
La Renta, they wouldn’t rent her, they couldn’t take the shame
Snatched the dress off her back and told her, “Get away.”
How could you say they live they life wrong?
When you never fuck with the lights on

Kelly Rowland, Lil’ Wayne, “Motivation”:

Uh, girl I turn that thing into a rainforest
Rain on my head, call that brainstorming

By the way, rapgenius is a great site.  It has highlighted lyrics with popups that explain all the references within each line of the song.  Helps you appreciate just how much cleverness goes into rap lyrics.

Right now the JS functionality is basically limited to a click() event for submitting, and a click() event for a popup for instructions and one for adding new text input boxes for more rap lyrics.

I’m assuming I can use this front-end to interact with node.js, which will sync clients with the server and end a timer clock at a sync’d time.  I’m also hoping to use MongoDB to save the lyrics and to add more lyrics from current rap songs.

Other features I’d like to have: ability to record and playback peoples’ performances, remixing like Reggie Watts does on the fly.

http://www.youtube.com/watch?v=es3H0_IMLvo

There’s not much at Karaoke Flow yet, but you can already go visit the site to see the interface.

I am maintaining the code publicly on github. And here’s the JSFiddle: