Rock Band with Electronic Drums (HOWTO)

Aelius27Aelius27 Unsigned
edited August 2012 in Less Rokk More Talk
**UPDATE** : Picture of solder locations posted to Page 4.

I read the rules, and saw that we weren't supposed to talk about hacks. I assume that they mean SOFTWARE hacks that help people cheat, rather than hardware hacks to help us enjoy their game more, but I could be wrong.

Harmonix, I mean no offense. I'd really like to not be banned, and just have this thread deleted if my interpretation is wrong. This is the only thread I will talk about this on from here on out, so if you delete this thread mum is the word from here on out. :)

Now that I've hopefully provided some form of disclaimer that might keep me from being banned...

This will be my thread that I'm brain dumping my HOWTO on. It will unfold over time as I put together the pictures/video to help you guys out.

Here is my initial video, for those that want proof and haven't seen it yet.
http://www.youtube.com/watch?v=mdD2i2r6tFw

My system has changed, and frankly my drumming has gotten better. ;)

Seriously though, at the time of the video I was using the BasicX processor. That processor doesn't natively support the MIDI baud rate, so it was a pretty serious hack. I also found that processor to be a little unreliable, and had some problems with triggering. I'm waiting on a UART that supports the correct MIDI baud rate currently, because I would like to return to that system...

In the meantime, I've moved to a PC based system for the time being. The PC system is 100% reliable. I got the "Flawless Drummer" achievement using it, and I'm currently playing through the game on Hard. My latency is low enough that you can't tell the difference between my drums and the Harmonix drums at all. We had a Rock Band party at my house with ~ 15 people or so on Friday using only my Roland Drums. Everyone loved it and we had no problems with needing different calibrations.

I'm inputing MIDI to the PC via a PCI based sound card with a gameport, and a gameport to MIDI cable. I wrote custom software on the PC to process the MIDI messages and pulse pins on the parallel (LPT) port. Then I have a small circuit that uses opto-isolators for the switching in order to isolate the PC electronics from the drum/360 electronics.

I don't really see a business opportunity that scales well here, so you can put away your fear and wallets. I'm planning on making everything I've written and discovered freely available. Because I actually do like money, at the end of all this, if you really feel moved to throw money at me, you can paypal me. :)

Comments

  • BakksterBakkster Road Warrior
    edited January 2008
    rworne;235103 said:
    Considering Harmonix's stated stance on open standard controllers - why should this hack not be allowed?
    There are many threads about hacking the hardware, and as long as they don't abuse the game to give you an advantage in online play, or steal DLC or proprietary info, HMX is probably cool with it.
    Shady515;235109 said:
    What about kind of the opposite-hooking up Rock Band drums to a pc via usb and being able to jam with some sort of soundboard or something?
    Search the forum for DrumIt (I believe is the name), as this program has already been written.

    Very cool, and something I had thought about doing as well. Any plans to skip the dismantled RB drums and go straight from MIDI to USB? I assume it would only require spoofing the USB info of the RB drums and adding that information to the micro controller's code.

    Very cool indeed.
  • zolonzolon Opening Act
    edited January 2008
    Welp, it's not roland, but I found a Yamaha DXP III Electronic Drum Kit for only $600.

    Picking this up ASAP, and then I will start hacking cables to get it to work with RockBand.

    I will take step by step pictures and document the path I took, for two reasons. One, I am going to probably mess up along the way, if it's documented, maybe some one can tell me where. The other, well, some one needs to. :P

    Thanks for showing us all that this can be done.

    And yes, there is a program called DrumIt that allows you to use ANY game controller as a drum set, aka, the RockBand drums with your windows computer.
  • rwornerworne Opening Act
    edited January 2008
    Shady515;235109 said:
    What about kind of the opposite-hooking up Rock Band drums to a pc via usb and being able to jam with some sort of soundboard or something? (I can't find an electronic drumset and I'm a guitarist who found out I can play the shxt out the drums!) Isn't there some sort of program I can get and just plug in my RB drums and jam? Even better, custom sounds per pad-like dog barks on the yellow pad and bells on the blue? Or something...Ideas...
    Got an Apple?

    You can hook up your RB Drums to a Mac and use Garage Band.
  • igotriceigotrice Unsigned
    edited January 2008
    Wow, good work Aelius27.

    Question: for those of us who just want to mod a double bass pedal, how do you think we should go about using just a Roland KD-7 or similar pedal trigger with a MIDI controller?
  • Shady515Shady515 Unsigned
    edited January 2008
    no, it's a Dell...All I know for pc is Frets on Fire and Guitar Zero. I will look up Garage Band and see if there's one for windows xp.
  • BakksterBakkster Road Warrior
    edited January 2008
    igotrice;235908 said:
    Question: for those of us who just want to mod a double bass pedal, how do you think we should go about using just a Roland KD-7 or similar pedal trigger with a MIDI controller?
    I think a double-bass mod (without using a full MIDI drum set) is overly complicated. Just make each kick drum trigger act as a momentary switch, and connect them in parallel. This combination could then simply be plugged into the kick drum port with no further modifications needed.

    If you are using a full MIDI drum kit, both kick drums should simply trigger the same MIDI channel.
  • zolonzolon Opening Act
    edited January 2008
    Aelius27,

    You mentioned you made a program to relay the midi. As I am not a programmer by any means, I was wondering if I could get a copy?

    I picked up the DTExpress III Drum Set, so now I am trying to figure out how to get the MIDI converted in some fashion that I can control.

    Thanks.

    Temp Solution :P

    image
  • edited January 2008
    Awesome work man, I knew it wouldnt be long until someone cracked this. Thinking about buying a simple midi kit myself so in a few months something like this could come in very handy. Keep up the good work *thumbs up*
  • BlankoBlanko Opening Act
    edited January 2008
    Can't wait to get this mod going. It's annoying having a real electric kit and a dinky toy both consuming my small condo.

    However I'm not looking forward to testing my soldering skills - which are essentially non-existent.

    Just a few questions:

    1) I have a htpc setup near my drums - so I'll be using that instead of breadboard. But besides this pc, is there anything else I need to use between the rb-drum-controller and the xbox? After soldering the connection, how does the rb-drum-controller connect to the pc?

    2) Will the pc method still work if I use my midi-to-usb adapter? (I've never had any missed notes)

    3) For the less inclined, can you video be more explicit with the soldering part of the project? And/or would you be able to build this part for me - for a fee of course?


    Amazing work all around.
    David
  • Aelius27Aelius27 Unsigned
    edited January 2008
    Sorry I didn't get this up this weekend. My internet connection was unavailable for a few hours right when I wanted to be doing this. Sucked.

    There is a full description of everything I'm using currently for the PC method in the first 2 posts. Yes, there are opto-isolators between the RB drums and the PC.

    I'd probably be willing to do some parts of the hacks for a fee. You'll be happier in the long run if you do it yourself though...
  • zolonzolon Opening Act
    edited January 2008
    I'm trying to figure out how to relay from midi to LPT. As I mentioned before, I am not a programmer, so I have no clue how to go about this.
  • BlankoBlanko Opening Act
    edited January 2008
    I'd love to do it myself. I'm just concerned about ruining my kit. The only experience I have soldering is from a dinky light-organ I made in school almost 10 years ago. Anyway, I guess we'll see how confident I am after you document that process (with video hopefully).

    Is this soldering tool appropriate?
    http://www.thinkgeek.com/gadgets/tools/78cf/

    Is this a good reference for the opto-isolator?
    http://en.wikipedia.org/wiki/Opto-isolator

    So, as I understand it here's the pc mod process:
    1) soldier wires to rb-drum-controller circuit board
    2) run (each of?) those wires to an opto-isolator
    3) connect a serial cable via cut wires to the opto-isolator
    4) connect the serial cable to the pc
    5) connect vdrums to pc (midi)
    6) run software to interpret midi signals (I'll gladly pay you for this, regardless of any other help I need). Any time frame on this - so I can begin testing?
    7) software sends signals via serial cable to opto-isolator(s)
    8) opto-isolator(s) trigger the corresponding rb-drum-controller circuits

    Forgive my ignorance if I'm way off :)

    Thanks again for all you've done.
    David
  • rwornerworne Opening Act
    edited January 2008
    Dayum. I want to do this so bad.

    So I'm looking for a kit. Low priced ones are ION, Alesis, and the Yamaha DTXplorer.

    I've read many people griping about the crappy MIDI implementation on the ION, but I don't know about the other two. Though I just assume Yamaha knows what they are doing.

    I don't play the drums, but I am interested in trying to learn. RB is the best motivator I could find. :)
  • zolonzolon Opening Act
    edited January 2008
    I can't afford the midi-relay box solution, so now I am just sitting here banging my head against code that I have no clue about.

    Any word about release of your software Aelius27?
  • zturnzturn Unsigned
    edited January 2008
    WOW that would be so cool to have! but i could never be able to pull something like that off and would it work with the PS3 version??
  • zolonzolon Opening Act
    edited January 2008
    Well, I have been banging my head against the wall for a few days on how to send pulses to LPT pins based on MIDI events, and yeah. This is WAY above me.

    Windows XP aparently won't allow direct access to the LPT, so any option will require special drivers right there.

    I have found a few USB UART/FIFO options that would require some codeing still, but they come with the special drivers that allow single pin operation.

    Aelius27, can we at least get some pointers in how you went about the software development?

    I also possibly found another solution that doesn't require any programming.

    http://highlyliquid.com/kits/msa-r/

    I have emailed the company asking advice on which one of the MIDI Decoders should be used in such a project. As soon as I have more information, I will follow up here.
  • BlankoBlanko Opening Act
    edited January 2008
    Excellent sleuthing. I didn't even know such a diy midi decoder existed.

    D
  • zolonzolon Opening Act
    edited January 2008
    I got a response from Highly Liquid and it appears either the MSA-R and the MSA-P will work.

    The outputs (relay contacts) of the MSA-R and MSA-P are isolated from
    the rest of the MSA board, so backfeed should not be a problem, as long
    as you stay within the limits of the MSA specifications.

    The MSA-R outputs act as any mechanical switch would--so if you can get
    the control to "trigger" using a switch or just a piece of wire, the
    MSA-R should work just as well.

    The MSA-P outputs are similar. They act, roughly, as a switch with a
    22-ohm resistor in series.
    Friday I will be ordering the MSA-P as it has a faster response. When it comes in I will start the mod and report with pictures of the whole process.
  • Aelius27Aelius27 Unsigned
    edited January 2008
    The MSA board looks like a really good solution.

    To answer your question, for my LPT access I'm using the dll/driver described here: http://logix4u.net/Legacy_Ports/Parallel_Port/Inpout32.dll_for_Windows_98/2000/NT/XP.html

    Hope that helps!
    -- Scot
  • zolonzolon Opening Act
    edited January 2008
    Thanks Aelius27.

    I actually was reading that page last night, and started working down that path when I stumbled across the MSA. :)

    After talking with my roommate who is currently in school for programming, we both agreed a hardware solution would be better because we wouldn't have to worry about system overhead then.

    I wouldn't have even thought about either solution with out your insight though, so again, thank you.
  • BlankoBlanko Opening Act
    edited January 2008
    Wow, amazing work Aelius and zolon.

    Aelius, can I bother you to confirm the soldering tool I noted a few posts back is satisfactory? I'm also still a little un-clear as to how I'm to connect the opto-isolators to the parallel port - it sounds like I'd still need a breadboard (though no microcontroller).

    Zolon,
    Again - excellent solution. I'm still anxiously waiting on more details regarding the pc mod. But I'll happily jump on this project as well. (But I certainly don't want to steal you thunder.) But would you be able to post a rough plan of attack?

    Also, are you having the board pre-built for you? I'll order one today - I'm just concerned I'm getting in way over my head.

    D
  • zolonzolon Opening Act
    edited January 2008
    If you have the funds, and don't know how to solder, get it pre-built.

    Also, do yourself a favor. Go to radio shack or fry's or some other electronics store that sells parts, and pick up a hobby kit. Use it for practice on soldering. Make sure you get one that requires soldering.

    Course, the MSA is cheap enough, you could just pick up a couple of them so you can practice. As most kits I am seeing are about the same price now.

    http://www.aaroncake.net/electronics/solder.htm

    That is just the first link on google when searching for "How to solder" .

    There is ALOT of information out there.

    When I have time tonight, if I have time, I will do a rouch sketch and scan it in of how I'm going to attack this with the MSA. I want to do that anyways so there are step by step instructions.
  • Aelius27Aelius27 Unsigned
    edited January 2008
    I have one of those cold-heat soldering tools, and was very unimpressed. I much prefer my $10 cheapo soldering iron I got from radio shack.

    Zolon: Yeah, the MPA solution looks like a good price. All of my solutions have focused primarily on what I had lying around, so were very cheap. As I mentioned in the inital post, figuring out where to wire the buttons and such is the springboard, once you get to that point there are a million different options for what is essentially a midi-to-switch solution. Opto-isolators, transistor switching, relays, etc.

    I also prefer a hardware solution honestly, but wasn't 100% happy with the performance of the BasicX processor that I happened to have on hand, and the PC was an easy/free substitution. I'll certainly be moving to some kind of standalone hardware solution in the future.
  • Aelius27Aelius27 Unsigned
    edited January 2008
    Looking at the MPA specifications, I don't think their products are going to work...

    Their products only seem to support having the relay on for as long as the Note is on. The problem here is that electronic drum hardware generally sends the Note Off message immediately after the Note On message. So the relay (or whatever) will only be on for a few milliseconds. In my fairly extensive testing, I needed to hold the switch closed for ~ 35ms in order for there to be no dropped notes.

    I believe the drum chip is using a polling method to get the button data, rather than reacting to the rise or the fall. So if you don't have the button "down" for ~ 35ms then sometimes the timing of the poll misses it entirely.

    Additionally, it doesn't look like the MSA products support multiple midi notes going to the same relay, which is one of the best reasons to use an electronic drumset. Having 2 crashes & Tom3 all be the green trigger is _really_ nice.
  • zolonzolon Opening Act
    edited January 2008
    Hmm.. Even when soldered directly to the buttons on the controller portion?

    Only one way to find out, and if it doesn't work, then I could run the drums to my computer, and use Reason or something to send a longer note on. Then I am MIDI all the way to the controller.

    I think there might be a way to program the MIDI Drum Kit Controller to also send a longer "Note: ON" signal. I will look into that when I get home.

    And on the multiple triggers for one pad, I already thought about, with optoisolators or something, of joining the output pins on the MSA for multiple channels.

    Aka, say HighHat is Channel 2, and Tom1 is Channel 3. I would solder the output pins for both channels to Yellow on the controller.

    I just emailed Highly Liquid and asked if there was a way to add delay between the Note ON/OFF signals using the MSA.

    If not, and still wanting to stick with a complete hardware solution, I could use something like this.

    http://www.maplin.co.uk/module.aspx?ITAG=FAQ&ModuleNo=25224&doy=9m1#faq

    Not that exactly, but I am sure there is something closer to what I am looking for out there.
  • Aelius27Aelius27 Unsigned
    edited January 2008
    Okay, here is a snapshot of where I wired by signals in. I did this because I wanted the controller section of the drums to remain functional as a controller. You can kind of see in the picture that I wired my signals to a DB-9 connector to make transportation easier.

    I would highly recommend you keep it functional as a controller, since you can't navigate in any of the standard xbox menus (profile/sign in/etc) using the drumset.

    image

    The wires are sort of color coded. Green is on the top, last pin on the right. Red is on the right, 5th pin down, followed by blue (6th pin), then Yellow (7th pin). Finally the kick is on the bottom, 5th pin from the left (next to an unconnected pin).

    I got ground from an unpopulated location below the USB connector, on the right side of the board.
  • Aelius27Aelius27 Unsigned
    edited January 2008
    Zolon: Yes, even when soldered directly to the buttons. If you use a multi-meter, you'll find that the locations I soldered to are 0 Ohm resistance to the button pads. I chose those locations specifically because they were effectively identical to the button pads, but left the button pads functional.
  • Aelius27Aelius27 Unsigned
    edited January 2008
    The R8 that Brian used supports all sorts of different programs, which is undoubtedly why it is 6x the cost of the MPA solutions. He was able to ignore the Note Off messages, and just program Note On messages to turn the relay on for 40ms. He was also able to program it to turn the same relay on from several different pads.

    Let me know if they get back to you with any solutions though. For $50 I'd probably pick up one of the MPA solutions as well. Easier than rolling my own. ;)
  • BlankoBlanko Opening Act
    edited January 2008
    "
    Having 2 crashes & Tom3 all be the green trigger is _really_ nice.
    Besides the fact that the responsivness of the roland drums destroys rb drums, this is the best reason.
    As I mentioned in the inital post, figuring out where to wire the buttons and such is the springboard,
    ... and I sit at the edge my seat knawing at my fingernails in anticipation.
    Might you be posting these specific instructions soon?

    Still not sure about connecting the opto-isolators to the lpt port.

    Zolon - thanks for the advice. I'll be dropping my rs on my way home.

    Thanks again,
    David
  • zolonzolon Opening Act
    edited January 2008
    Thank you VERY much for the photo with explaination. That saves me ALOT of work.

    As far as the R8, yeah, that is the optimal setup. My lady is already at the breaking point though and I can't justify another $500 for a video game. ;)
Sign In or Register to comment.