Lag when using Guitar Hero Drums

May 17, 2010 at 1:21 AM

Hey, great library and very simple to use. I knocked up a quick program using the library to register hits from the GH drum kit and play appropriate drum sounds. I tested this by mapping various buttons on the Wiimote first and there's no noticeable lag between hitting the buttons and hearing the sounds, but when I use the appropriate drum pad buttons there's a lag of something like 100ms before I get the event that the pad has been hit. Has anyone else tried this and noticed it? the lag makes playing the drums really difficult as I can't keep the beat between what I'm playing and what I'm hearing. I have the Logitech drum set and not the Guitar Hero World Tour set if that makes any difference, but in the official games, the drum kit works perfectly. Also the DrumVelocity appears to not be so accurate, the value wavers between 3 and 6. 6 is a normal hit, the lower values for accentuated hits, but I've found it not too reliable. Anyone noticed the lag?

May 17, 2010 at 4:58 AM

I don't have either drum kit here, so my code is based on what's up on and what other people have tested.  That said, it should act like any other extension...there isn't anything special about the code for the drums vs other extensions.  Can you check to see if a Nunchuk or other extension is showing any lag?

May 18, 2010 at 1:22 AM

Thanks for your reply. I tried a couple of things last night based on your feedback. Changed the program to accept hits from the C and Z buttons on the Nunchuk and these work with no lag. So playing from the keyboard or from the standard Wiimote and Nunchuk sound great, no lag. I modified the code that accepts input from the drums to also recognise the + and - buttons which are part of the housing that the Wiimote plugs into. When I hit those buttons, there's no lag, but the pads still show the same lag. And it seems variable, I notice it the most with a snare sound I'm using because it's so punchy, it's like I'm getting notification of the drum hits at a later point of time or not at all because of some other events because faster drum fills get lost. Also the velocity parameter is really variable, soft hits are six, then I hit it really hard it goes to 1 and then subsequent soft hits register as 1 until it goes back to 6. I have a few ideas kicking around and want to change the class slightly so that the WiimoteChanged event is not raised at all and I create a number of new events which are raised only when the drum pads are hit. That way I ignore the events like when the Wiimote is moved which it obviously is when the drums are being hit. Will let you know how that goes. The Wii version of the later Guitar Hero games have freestyle modes where you play what you want and are really useful for testing drums. When I've tried that there's no latency between hitting the pad and hearing the sound, and also keeping a beat, so I know that this issue can somehow be overcome.

May 18, 2010 at 7:46 AM

Interesting...please let me know what else you find...thanks!