Rock Band with Electronic Drums (HOWTO)

Comments

  • SandeepSandeep Unsigned
    edited January 2008
    It cut off the bottom of my code, so here's the rest of it (midi initialization included)


    void main_loop()
    {
    os::os_init();
    input::kb_init();
    timer::timer_init();

    // This is the worst midi initialization possible but i'm very lazy
    HMIDIIN midi_in;
    for (int i=0;i < midiInGetNumDevs();i++) {
    MMRESULT res = midiInOpen(&midi_in,i,(DWORD_PTR)&MidiInProc,NULL, CALLBACK_FUNCTION);
    if (res != MMSYSERR_NOERROR) {
    Int3();
    }
    midiInStart(midi_in);
    }

    while (true) {
    // message pump on windows.
    if (os::os_do_frame() != 0) {
    break;
    }

    // main frame stuff.
    if (do_frame() != 0) {
    break;
    }
    }
    os::os_close();
    }

    // External Functions

    // Main function
    //
    int APIENTRY WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)

    {
    main_loop();

    PostQuitMessage( 0 );
    return 0;
    }
  • Aelius27Aelius27 Unsigned
    edited January 2008
    I also struggle with the hat on tougher songs, and generally just revert to the tom. For me it has a lot to do with the yellow visually being on the right of the red on the screen. So my brain wants to move to the right instead of to the left. ;)

    Your code is very similar to how mine was originally. Perhaps it was just my circuit, or my parallel port, or whatever, but I found I was getting missed hits once in a while with that system.

    I moved to multi-threaded, where I have a seperate thread for each note, which seems to be working much better for me. I wasn't able to get the Flawless Drummer achievement using my inital implimentation, but when I moved to the multi-threaded implimentation it all cleared up. *shrug*
  • BlankoBlanko Opening Act
    edited January 2008
    Sandeep,
    Thanks for posting that.

    I'm ->thishttp://www.hobbyengineering.com/H1971.html

    But before I do:

    Aelius, does this confirm this relay will work with either one of your software implementations?

    Sandeep, other than the obvious enclosure, what's the difference between your relay and the one I'm going to get? It seems the wires might attach differently (without soldier?) Does this impact our implementation at all?

    I really can't thank you guys enough. I'm just very happy this is finally coming together.
    David
  • Aelius27Aelius27 Unsigned
    edited January 2008
    Yes, my software will work with this relay board. Though here is my circuit solution which is frankly much cheaper. You can see in the circuit that the NTE3086 has 2 channels, so you end up needing 3 of those in order to do all 5 "notes".

    [ATTACH]361[/ATTACH]
    450 x 350 - 15K
    circuit.jpg 14.9K
  • BlankoBlanko Opening Act
    edited January 2008
    Agreed - your method is a lot cheaper. And I'm going to do this as well. As soon as you provide a little more documentation (I dont know how to implement those those diagrams).

    I'll likely try every method except the R8 (which seems overkill on space and technology). I'll have to drive out of the city to get the relay box. But I'm pretty sure I can get the parts for your circuit locally. Is there anything specific I need know when picking up the opto-isolators? Do I need one for each "pad"?

    Obviously, the long term goal is to move to zolon's standalone hardware solution. But in the meantime, I have no problem figuring it out this way.

    D
  • SandeepSandeep Unsigned
    edited January 2008
    Blanko;249026 said:

    Sandeep, other than the obvious enclosure, what's the difference between your relay and the one I'm going to get? It seems the wires might attach differently (without soldier?) Does this impact our implementation at all?
    David
    Should be pretty much the same. The one I had has solderless connection (make sure you have a jewellers flathead screwdriver). Dont' forget you need a 12V DC power supply (300-500mA is what's recommended).
  • Jack FullerJack Fuller Unsigned
    edited January 2008
    brianwi, Thanks for the info, just a quick question once i soder the XBOX controler, Im going to do it the way that I can still use it as the contoler part.
    After that where do the wires lead? I see that some are hooking up a d9 conector? Do i do this or how do i hook it to the R8? again sorry if the questions are a bit dumb but im learning as i go :) And if you want to e-mail me that would be cool too [email]ross031670@hotmail.com[/email]
  • rustyfloorpanrustyfloorpan Unsigned
    edited January 2008
    Anyone have one for sale? I want to wire it up to my electronic drum set!:cool:
  • Spderweb_larrySpderweb_larry Unsigned
    edited January 2008
    i have a question.
    Everyone is hooking up the drum through their computer to interpret the midi sounds?

    Do these electronic drums need to run through a computer always? or are they self reliant? My reason for asking is this. couldnt you just feed the wires for each pad to the specific colour pad you want?
    like say two drums will be blue, so you take the wires leading from them and attach them to the blue pad of the RB kit.
    Wont that work or is the frequency fed through each pad differently?
    i'm probably not making any sense.
  • zolonzolon Opening Act
    edited January 2008
    I am working on a standalone solution, that pretty much does this, using MIDI still.

    Alot of MIDI Drum Set triggers are designed in a way that you can't just wire them directly to the RockBand Set pads. As the pads are pezio(sp?) triggers, they actually create voltage to trigger, where as (my) drum pads for my electric kit close a circut instead of creating voltage.

    Not sure if that makes sense. Anyways, the only one that I have seen where you can just slap a pad on it and it works, is the bass kick. That one is a actual switch, and not a pezio trigger.
  • brianwibrianwi Unsigned
    edited January 2008
    Okay, now I need help from someone on here. I posted my MIDI note conversion to colors, as well as the R8 program to make it work. However, I don't know the MIDI notes for my TOM 2 RIM and TOM 3 RIM. I have a Roland V drum TD6SW (TD-6V brain). Can someone else who has their set hooked up (or could easily hook it up) to their computer tell me what the RIM shots are. (Oddly it's not in the manual, although TOM 1RIM is and it's midi note 50. Tom 2 is 45, and Tom 3 is 41. but I don't have the RIM ones. Couldn't find it online either.

    I'm GUESSING they are 47 and 43 respectively but would appreciate some help. Thanks in advance.
  • brianwibrianwi Unsigned
    edited January 2008
    Um, nevermind my previous post. Aelius27 filled me in. :) the TOm 2 rim is AUX and TOM 3 rim is TOM 4...and those notes are in the manual. For those of you that care:

    45: Tom 2 BLUE
    32: AUX (also Tom 2 RIM) BLUE
    41: Tom 3 GREEN
    31: TOM 4 (also Tom 3 Rim) GREEN
  • Aelius27Aelius27 Unsigned
    edited January 2008
    Duff420hed;253343 said:
    Nope, the 360 won't support that, and even if it did, Rock Band would have to be written to use it. Trust me, there are no solutions this easy on the horizon unless Harmonix decides to create/support them.
  • BlankoBlanko Opening Act
    edited January 2008
    Yikes! My controller looks very different. (See attached)

    Can you guys help me locate the corresponding connections (to Aelius' board)? I'll be using a multimeter as well - but if someone could get me going...

    I noticed the silkscreen has almost every connection labeled. Would those help in matching things up?

    David
    1024 x 733 - 90K
    800 x 585 - 94K
  • BlankoBlanko Opening Act
    edited January 2008
    Is there a way to test the controller connections without the pc relay?

    I mean, by doing [something] with the wires I can trigger the drums hits...

    Or might I need to have the opto-isolator part built as well? Aelius, would you be able to post a photo of your breadboard setup?


    D
  • zolonzolon Opening Act
    edited January 2008
    You should be able to short the two wires to simulate holding the button down.

    What does the other side of your board look like?

    I havn't cracked mine open yet, still waiting on John. Only physical work I have done so far is replacing the switches for the strummer in a guitar with better ones. (Well, almost done with that, having a issue figuring out how to mount the new switch. Not placement, just attatchment.)
  • BlankoBlanko Opening Act
    edited January 2008
    Can I get a general consensus:
    If you had the money, would you just do the R8 solution?

    brianwi,
    From what I understand, this mod only requires making the right connections on the controller. Connect those wires to the R8. Setup the R8 for your drums and you're on your way. Seems like the most compact and clean solution.

    Are there any negatives to the R8 solution (besides price)?

    Aelius, zolon, once implemented do the pc and msa mod have any other practical application? And even if they did, I'd need custom software for anything else I'd want to do with it... right?

    I may just pickup an R8 tomorrow. brianwi - I'll be going over your documentation. For any one interested this is how you program the R8:
    MIDI Solutions products are programmed by sending them MIDI System Exclusive messages. All that's needed to do this is a computer with a MIDI interface - the Edirol UM-1EX, Edirol UM-2EX, Yamaha UX16, and M-Audio Uno are low cost USB MIDI interfaces that can be used for this purpose (avoid the MIDI interfaces on this list). A computer is only required to program the MIDI Solutions products, once the products are programmed they retain their settings and can be inserted wherever they are needed in your MIDI setup.
    Will you be around tomorrow evening?
  • zolonzolon Opening Act
    edited January 2008
    I'm going the MSA route, and the only other use for it in how I am doing it is I could control xmas light with it. :P

    I am sure there are others..

    As far as the R8, yeah.. If I had the coin, I would have two of them.
  • SystematicGravySystematicGravy Unsigned
    edited January 2008
    I am preparing to work on this project myself so I took my drums apart today. My controller looks different from the soldered example but looks exactly the same as Blanko's. Has anyone figured out where to solder the connections on this version yet? How would I go about finding the correct spots using a multimeter?
  • BlankoBlanko Opening Act
    edited January 2008
    Thanks zolon.

    I'm still on the fence with the R8. It seems like such an over-kill solution. But then again, learning how to build a pc-relay device when it's so far from my skills seems just as over-kill. I'm more into bow-hunting, etc ;)

    I really can't tell if my desire to grab the R8 is because I'm tired of thinking about this project - or if it really just makes more sense in the long run...

    I'll be calling around to see what kind of a price I can get locally.
    D
  • zolonzolon Opening Act
    edited January 2008
    Blanko, good luck. :)

    I'm going to pick up a MSA no matter what though. The guys at Highly Liquid are working their arses off to get me the new firmware, so I have to at least order one now. That and the only real skill I will need is soldering, and last night I proved I could do that buy putting in new micro-switches for the guitar controller.

    The only thing, besides a nice packadge that doesn't require assembly, that makes a R8 win, is the ability to put two triggers on one relay. Highly Liquid said it would take them a couple months to support that.
  • BlankoBlanko Opening Act
    edited January 2008
    Found this site. "Midi-to-anything": http://www.videopete.com/midi/
    I went through a few of the sites. Couldn't find anything like the r8. But there might have been some msa-like products.
    Is the ability to put two triggers on one relay. Highly Liquid said it would take them a couple months to support that.
    But this isn't required if we set our kits to send multiple drums to the same midi note, right?

    And am I correct in my understanding that msa board would take the same MIDI SysEx message programming as the r8?

    There are no r8's available locally. When did they say the msa would be ready?

    D
  • zolonzolon Opening Act
    edited January 2008
    Last update I had was that it's in testing. That was yesterday.

    It does support Sysex, but the values will be different.

    The midi-to-anything won't work. I actually researched that one for some time before I found the MSA.

    I suspect the MSA should be ready by the begining of next week. Highly Liquid doesn't seem like a company to skimp on QA.

    And yes, if you set your drum kit to use the same note for multiple pads, it should trigger the same relay on the MSA.

    See, with a R8 you could plug your drums into a amp, and play with your kits drum sounds on top of the games. With the MSA you could also, but your cymbal would sound like a tom, as they would have to be the same note. Could make it easier to find timing issues, IF your latency in the game is almost nill. *shrug* That was just me spinning ideas off my head.

    As soon as I have more information/updates from John at Highly Liquid I will post to this thread. When I get the "module" I will start a new thread with step by step instructions useing the MSA. (Not to steal any thunder from Aelius27, this wouldn't even be a thought with out his research and work. I just think this thread has gotten jumbled by all the different methods.)
  • Aelius27Aelius27 Unsigned
    edited January 2008
    I've been checked out for a couple days. Sucks that there are some sets with a different circuit board, but it doesn't really surprize me. If anyone near Seattle turns up one of those boards, I'd be willing to poke at it and try and find good solder points that will allow people to keep thier buttons functional.

    I'll probably pick up a MSA board and run the kit with multiple things firing the same midi note. I'll be hard pressed to create a similar solution that is as cheap and easy. I'd like to eliminate the PC for portability reasons.
  • BlankoBlanko Opening Act
    edited January 2008
    If we're going the MSA route, we'll be needing to assign the same channel/note to multiple pads. Here's some information from the TD-20 manual and knowledge base (but I assume all modules support this simple type of customization).

    Pulled from the TD-20 manual:
    When Setting Multiple Pads to the
    Same Note Number

    When the note number is set to be more than one pad
    received, the instrument assigned to the pad with the lowest
    TRIGGER INPUT number is played. When note numbers for
    the head and rim are duplicated, the head instrument is
    played.

    An asterisk (*) appears at the right of the note number for
    TRIGGER INPUTS that are not sounded.

    Example:
    Note number “38 (D 2)” is set for the head and rim of
    TRIGGER INPUT 2 (SNARE) and the head of TRIGGER
    INPUT 3 (TOM 1). In this case, when Note Number “38” is
    received, the instrument assigned to the head of TRIGGER
    INPUT 2 (SNARE) is played.
    I don't think we'll have issues with hitting two of the same notes at the same time...

    Pulled this from the Roland Knowledge base:
    Product: TD-20 TD-20S BK

    Each pad can be assigned to transmit on a different MIDI channel in a Drum Kit. This includes having a different channel assigned for the head and rim individually. Use the following steps to assign a specific MIDI channel to a pad:

    1. Select a Drum Kit to edit.
    2. Press the INST button.
    3. Press F3 twice.
    4. Press CURSOR UP or Down to select "TX Channel".
    5. Press the TRIGGER SELECT LOCK button so it is un-lit.
    6. Hit the pad to be set. If assigning the Head, hit the head portion of the pad. If assigning the Rim, hit the rim of the pad.
    7. Turn the VALUE dial to select a desired MIDI channel.
    8. Repeat steps 6-7 for the remaining pads if desired.
    9. Press KIT when finished. The assignments are stored into the kit automatically.

    NOTE: These assignments can be different for each Drum Kit. If you select a different Kit, assignments from the previous Kit will not be carried over.
    But I'm unclear as to which method we're to use; assign duplicate note or duplicate channel?

    D
  • SystematicGravySystematicGravy Unsigned
    edited January 2008
    Aelius27;258563 said:
    Sucks that there are some sets with a different circuit board, but it doesn't really surprize me. If anyone near Seattle turns up one of those boards, I'd be willing to poke at it and try and find good solder points that will allow people to keep thier buttons functional.
    I don't live near Seattle but I do have a multimeter, so I'd like to try to help find good spots to solder on this other board. I'm just not sure what I should be looking for with the multimemter. I'm assuming I'd be using the ohmmeter, but other than that I'm not sure what to look for. If you could explain how you would go about finding good solder points I'm sure I could put your method to work to help find some good spots.
  • zolonzolon Opening Act
    edited January 2008
    It's duplicate note. The MSA only watches one channel.

    John actually just emailed me saying that it's ready and also that he has been watching the thread and wanted to verify we understood its by note, not channel.

    Heck, read for yourself.

    Hi Jason,

    The "beta" of the firmware is ready. You can see the new configuration
    spec here:

    http://highlyliquid.com/kits/msa-p/sysex-2-1.html

    The link will change as soon as the documentation for "legacy" firmware
    is organized properly.

    It should be solid, so I can ship an MSA with the new functionality
    starting tomorrow. Of course, if any problems are subsequently found,
    I'll send an updated microcontroller with a fix.

    One thing to note--the MIDI channel setting is "global" for all of the
    outputs on the MSA. I'm not sure if it was assumed otherwise, based on
    the posts at the Rock Band forum. As with some other things,
    independent channel settings for each output may appear in the future.

    Let me know what you think. You're welcome to place an order at any
    time--just add a note about "the beta firmware" at checkout.


    Best Regards,

    John
    highlyliquid.com
    I will be putting my order in tonight.

    EDIT: Actually, just put my order in now.
  • zolonzolon Opening Act
    edited January 2008
    Well, I'm near Seattle, havn't popped open my controller yet. Bellevue actually, but yeah. I am willing to help any locals myself, with what I can.
  • BlankoBlanko Opening Act
    edited January 2008
    Awesome!
    I just ordered one. It's the MSA-P, right? I assumed so as it uses the opto-isolators.

    SystematicGravy,
    I'm having some engeneering friends over tomorrow night. They're going to help me figure out our board. With any luck I'll be posting pictures thursday night. But certainly dont let that stop you - it'd be good to double check our results.

    D
Sign In or Register to comment.