Automating Rock Band vocals

rockband_audio_simulator

When it comes to Rock Band, our friends suck at singing. No, really.

We’re cool with them beating on the drum set completely off-time, but the sound of them trying to sing “Tom Sawyer” makes us want to cut out our eardrums.

We’re willing to bet that Cornell students [Gautam Kamath and Dominick Grochowina] have friends like ours. Their Electrical and Computer Engineering final project aims to remove the tone deaf from in front of the microphone, allowing a computer to sing vocals instead.

Since Rock Band simply listens for the proper frequency to be sung, the pair figured it would be easy enough to monitor the game’s output and feed computer-generated signals back into the microphone. Once the game’s vocal bar is isolated via a series of filters, an ATMega644 is used to interpret the notes and generate the corresponding tone via a speaker.

While automating Rock Band gameplay is nothing new, we don’t recall seeing anyone try to cut the singer from the band. We think it’s a pretty cool concept – rock on!

Edit: Updated with video

22 thoughts on “Automating Rock Band vocals

  1. cool hack but takes the fun out of rockband imo. i just think you need to hang out w/more tone friendly pals ;)

    however, i know a few pals that could def use this hack for when i’m not singing. hehe

  2. What an overly complicated project. There were a couple achievements in Rock Band 1 related to vocals. One was something like beat the game on vocals, and another was get 100% on a song on expert vocals. Well, you can play an electric keyboard and have it pass for vocals (works much better without going through airwaves first; i.e. hook up headphone output of piano to headset input of 360 controller in my case). I tried to do this, but it was rather difficult to translate the display on screen into notes on a keyboard. So instead, I ripped the game disc to my computer, extracted the iso, and opened the game archive with some program I found that searches inside container files for known file types. I searched for midi files, since I knew that was how the song data was stored (what the game uses for notes [for every instrument], not the audio you hear), and extracted those. Then I would simply edit the midi files so only the vocal track remained (got rid of all the other tracks, and also deleted extra info in the vocal track, like star power phrases). Then I hooked up my computers audio output to a 360 controllers mic input, and simply played back the game’s own files. I still had to sync them up, but that wasn’t too bad just to pass the song (to get that 100% though, that was difficult). Also, strangely I couldn’t get a song or two to work, and ended up just opening the midi in an editor and using the notes from that and playing it myself on the keyboard.

    Anyway, this was much easier than this project here.

  3. Andrew – that is a very clever solution. But I don’t think these students would have been able to use it as a final ECE project. :)

    I wish they had a video!

  4. “I searched for midi files, since I knew that was how the song data was stored (what the game uses for notes [for every instrument], not the audio you hear), and extracted those. Then I would simply edit the midi files so only the vocal track remained (got rid of all the other tracks, and also deleted extra info in the vocal track, like star power phrases). ”

    Or you could just extract the isolated vocal audio track, which is far easier than your steps.

    What’s your point? Your solution is dull. This is overcomplicated but interesting.

  5. Yeah i was gonna say the easiest thing to do is just put the mic close to the speakers — the sound of the background vocals will nearly always score really well if not 100%.. or just sing it; it’s not that hard.

  6. I recently did this for the rb3 achievement of getting all triple perfects on bohemian rhapsody. I can sing well, but its freakin impossible when all my friends are said ‘tone deaf’ ones.

    My method was simpler – I just go into practice mode, turn down all channels except the ‘assist tone’ which is a distorted sine wave which is correct for the required sound. Multitrack recording software is used to spit out the 3 different vocals from 3 different speakers. (In my case I used stereo from an mp3 player and a third speaker from the laptop) The only hard part was pressing play at the same time.

  7. Hey akeldamach there’s no video of your birth, so I guess YOU didn’t happen. now stfu before they ban you for life for such stupid ass comments. I never seen anything made by you on here so just do like I said and SHUT THE FUCK UP!!!

    I can sing Tom Sawyer and get perfect everytime. who needs machines for that? Not Me.

  8. I think all this really needs is to shut up when there’s no note to sing. Otherwise, it’s pretty neat.

  9. Wow, this looks like a neat little project, but since when is programming an ATmega qualify as a FINAL project for an ENE degree?

  10. I expect they could have gotten much better tonal resolution if they used HD output from the system, instead of standard def. As it stands now, it sounds quite a bit more tone-deaf than i expected that game to allow. But it’s still a neat concept, and solid execution.

  11. @ OP — Awesome project! :)

    @ K.J. — It’s a final project for a particular class (ECE 4760), not for the entire degree.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s