A website. With stuff on it.

iED05 USB Drum KitI recently purchased the ION iED05 drum kit, despite having seen a number of reviews that stated that it had no capability outside of the software – and therefore drum samples – supplied with the kit.

As I suspected, that’s not really the case! With a bit of jiggery-pokery, you can make the ION iED05 drum kit, and, I believe, the DrumXtreme DX-100, which appears to be the same kit with a different name, work with any MIDI capable software, which means you can use it with your sequencers, software synthesizers / samplers and notation programs, and assign pretty much any sounds or samples you like. Plus it sounds infinitely better driving pure Sound Font percussion kits, and is more responsive than the original software (which unfortunately has a small but noticeable lag time between striking a pad and playing the sample, which can be disorientating.).

Oh, and you can still play the Virtual DrumX tutorial drum game that is supplied, albeit with your own MIDI drum kits! Whee! (See below for details on that)

I should probably stress before I start that this is strictly a PC/Windows method. I don’t own a Mac, and I don’t know what you’d do to achieve the same on one. Sorry, Mac users! (I don’t even know if you can use the kit on a Mac… certainly no Mac software is supplied. So hopefully I’m not upsetting anyone anyway!)

Also, obviously I haven’t tested it with all MIDI software. Most of my testing was with Cubase, and it works perfectly fine with that. Since we’re exactly emulating the conditions and signals that your true external MIDI instrument would send, it ought to work with any software that lets you specify a MIDI input port.

I also can’t say for sure whether all of these drum kits are similarly calibrated, so it’s possible that to get the optimum performance you may have to tweak a few variables in my script. But don’t worry, it’s well commented and easy to do! More about tweaking later, too!

So, on to the details…

The Details!

  • First, you need a MIDI driver so that you can map the output to your software’s MIDI input. I used the freeware Maple Virtual MIDI Cable. Download and install it, then REBOOT (no, you really do have to. Trust me).
  • Second you need GlovePIE, which does all the clever stuffs, and basically translates the input from the drum kit from game controller format to MIDI format. GlovePIE doesn’t even have to be installed – just unpack it and run it.
  • Third, you need my script, which tells it what to do. Download this and open it in GlovePIE. Don’t forget to hit ‘run’!
  • Fourth, you need some MIDI capable software. I assume if you’re following this at all, you know what you want to use your drum kit with!

All you need to do in your software is match the MIDI IN port that you want to play your drums on to the output from GlovePIE. The default in my script maps to Maple Midi In Port 2. It’s possible your configuration may be different, so you may just have to change the output number in the script to match if you want a different port. At the top of the running GlovePIE script, next to the Run/Stop button, is a debug output which lists the device name it’s outputting to.

So, for example, in Cubase, select, say, track MIDI 01, and change IN : to read ‘Maple Midi In Port 2’. Now, don’t forget to change OUT to something audible… probably the wavetable synth of your sound card. Depending on your software you may have to explicitly set the MIDI channel to 10 to hear percussion sounds.

And that’s about it. Your drums are now liberated from the shackles of cutesy proprietary software and bad sampling! Enjoy!

Tip: If you have a Creative soundcard, and you just want to play the drums (with decent kits and samples!) I find the bundled SoundFont Bank Manager to be perfectly adequate – just fire it up, hit the ‘Drum Kit’ toggle, and select or load your sound font kits.

Trouble Shooting

If you don’t hear anything when you play your drums, you either don’t have your input-outputs connected correctly, or you’re not generating anything audible. As mentioned above, make sure that what appears on the debug line of your running GlovePIE script matches the selected MIDI input for your drum channel.

Many MIDI programs show a meter that will help you. If striking the drum makes the meter register, then your ports are correctly matched, but you probably haven’t specified an output. Your available options will depend on your soundcard, but look for something like ‘Synth A’ or ‘GS Wavetable SW Synth’.

Play the game with MIDI drums!

There’s really nothing wrong with the Virtual DrumX tutor/game software they supply (for the uninitiated, it plays like Guitar Hero… and if you don’t know what that is, crawl out from under your rock and Google it :p).

Happily, you can still play the game, using this method, albeit with MIDI drums. Yay!

All you’ll need is some software running underneath the game that you can have playing the MIDI output. As I said earlier, I have a Creative Sound Blaster, and the bundled SoundFont Bank Manager is perfect for this.

I’ll try and find an equivalent freeware that will do the same thing and update here, because you really don’t want your full blown sequencer running under it just to render MIDI to your soundcard. (If you know of a simple MIDI input > Soundcard MIDI output tool with a tiny footprint that’s preferably free, lemme know!)

All you have to do is mute the audio from the VirtualX software to silence the distinctly average sampled drums, which is on the WAVE audio channel. You can either do this from the advanced volume interface in Windows or from the mixer within Virtual DrumX. The audio for the track is controlled by the CD audio channel, so you can adjust the balance between your MIDI and CD channels to suit.


The script is well commented, so if you need to change anything, it should be fairly simple. For example, at the top of the script is a bunch of offset variables that are used to counter the fact it’s VERY difficult to calibrate your drum kit as a game controller in Windows! If your drums are too loud when you hit them softly, and therefore don’t have much of a velocity range, add a negative value to the appropriate drum, or vice versa.

Tip: Though it’s certainly not easy, you actually can calibrate your drum kit in Windows for better response. Open Control Panel > Game Controllers and select your Drum Kit from the list, then open ‘Properties’. Go to the Settings tab and click ‘Calibrate’. Now just do your best… it’s not going to be easy to do everything it says in order, but what you can do is redo the cailbration over and over, because it seems to only add to the profile, not overwrite it. So using the table at the bottom of this page as a reference, comparing with the responses on the Test tab of the controller properties, you CAN calibrate it. For example, when it says to move your joystick on the x axis, hit the red drum a few times in a range from soft to very hard. Just do your best. I found that some calibration is better than no calibration – mainly for the velocity ranges.

The Technical Stuff!

For those interested in tweaking the script or taking the concept further, or if you’re just plain curious as to how it all works, here’s some info on the script and method.

By all means, if you think you can improve on the script, and I’m sure there’s ways to improve it, then please do. Just a) gimme some credit, and b) lemme know!

I’m sure the velocities could be refined, but basically, my math sucks.

MIDI Mappings:

First, though GlovePIE allows you to explicitly call a drum sound and automatically transmits it to channel10 (MIDI percussion channel), you can’t set a velocity on those sounds in the same way as you can for a note, so each drum is mapped to the equivalent note instead.

Drum Pad input
Red Drum 1 ClosedHiHat F#3
Yellow Drum 2 AcousticSnare E3
Green Drum 3 HighTom C4
Blue Drum 4 HighMidTom A3
Purple Drum 5 CrashCymbal1 C#4
Bronze Drum 6 LowTom F3
Left Pedal 10 OpenHiHat A#3
Right Pedal 9 BassDrum1 C3
Cymbal Mute 7 not working at present!
(I can’t find a way to mute
the playing sound)

This seems to work satisfactorily for most GM Drum kits. If you find you would prefer another sound generically; for example, you want to globally remap the purple drum to always play CrashCymbal2, then near the bottom of the script you could change the note that is being referenced in the output line (midi.CSharp4Velocity = var.PurpleDrum%).


As far as velocities go, the drum kit uses various axes… axisis… axises…. uh… the drum kit makes use of various inputs from the joystick, as follows:

Drum Pad input
GlovePIE / game controller mapping
Red Drum 1 Joystick1.x
Yellow Drum 2 Joystick1.y
Green Drum 3 Joystick1.slider
Blue Drum 4 Joystick1.roll
Purple Drum 5 Joystick1.yaw
Bronze Drum 6 Joystick1.pitch
Left Pedal 10 * see below
Right Pedal 9 * see below

* The Left and Right Pedals don’t seem to have a velocity input… despite being a pedal, it appears to behave as a simple button.

Additional Info

Having played around with this configuration for some hours now, I have found a couple of things that may or may not be of use to know.

Personally, I find the bass pedal to be a bit twitchy, sometimes producing a double hit. To combat this, I just changed the wait command for the right pedal to about double the global var.WaitTime, which seemed to stop the double kick, but still respond quick enough for fast beats. Your mileage may vary.

I, uh, don’t know what else you might need to know. So I’ll leave it there.

  1. […] Using the ION iED05 USB Drum Kit with MIDI capable software […]

    Pingback by wibwobweb.com » Blog Archive » Ooh, content! — September 17, 2007 @ 5:38 am



    Comment by element — September 22, 2007 @ 3:43 pm

  3. Mate, thats awesome, all works brill….except for one thing.

    There seems to be even more of a lag when using with Cakewalk Music Creator, than the provided software with the drums – anything I cn do to alter this?

    Thanks in advance,


    Comment by Jon Tupper` — September 23, 2007 @ 3:51 pm

  4. @Jon, I gotta say I haven’t tried it with Cakewalk. Strange that it would lag particularly with that or any one piece of software. If I can, I’ll give it a go myself and report back with any findings.

    Comment by Jay — September 24, 2007 @ 9:31 am

  5. Wow!…Great work….your now on my list of legends….gonna go and beat them pads hard πŸ™‚

    Comment by Pete Thomas — October 5, 2007 @ 3:50 pm

  6. Great stuff son, I haven’t had any time to investigate this but I check today and find your article. Thank you πŸ™‚

    Comment by Adam — October 7, 2007 @ 12:02 pm

  7. If you’re using a software synth, you’ll need a fast sound card with dedicated asio driver to bring the latency right down. If you’re using a sound card with onboard hardware synth (eg: sblive) then latency isn’t an issue.

    Comment by mak — October 12, 2007 @ 12:46 am

  8. Ok, I’ve had a bit of a play with this now.

    If you’re having latency issues then check out ‘asio4all’ generic asio driver. It works for my (very old) integrated laptop soundcard.

    I love this approach – I find it really fascinating so well done for getting this far.

    The slow polling, though, is a serious downer and makes the system pretty much unusable for anything slightly flamboiant. Each pad needs to be polled about every 20-30ms and compared to the previous results to test for a new hit. eg:

    if joy.y > PrevSnare then DoFreshHit();
    PrevSnare = joy.y;

    I don’t know anything about these scripts but I’ll be looking into it as soon as I get the time.

    I do have another issue with this and Reason. The kit will trigger all loaded instruments ok appart from the NN-XT sampler??? It gets the midi data ok but only occasionally triggers the notes. I’ve had this type of thing before when using drum machines as sequencers to drive synth’s; The problem being that the note was too short, ie. the note off data was transmitted to quickly causing the note to end before it had even begun. So, how can I make the midi notes longer?

    Comment by mak — October 15, 2007 @ 8:45 pm

  9. OK! New polling technique works a treat… but what’s the joystick name for input 8 (the extra trigger input)?

    Comment by mak — October 15, 2007 @ 9:20 pm

  10. Joystick1.Button8 I presume???

    I’ve sorted out the hi-hats so they now work properly (different notes for open/closed) by setting a boolian ‘var.open’ in the pedal test block and using that as a conditional for sending open or closed data.

    Comment by mak — October 15, 2007 @ 11:20 pm

  11. Could I combine 2 drums at the same time to have more pads & pedals, using 2 separate “brains” on 2 usb ports?


    Comment by Phil Ranger — November 11, 2007 @ 3:56 am

  12. can I use this on guitar pro?
    sorry I’m kinda newb. I did install the first two, ran the code in second. I have installed gp. any way you could guide me?

    Comment by userfailure — November 12, 2007 @ 12:42 am

  13. @Phil

    Good question! To which I don’t really know the answer. It all hinges on whether Windows will register two drum kits in the game controller applet. I suspect that it would – can’t see any reason why not.

    If so, then what you’d have to do is basically duplicate each part of the script and refer to ‘Joystick2’ instead of ‘Joystick1’. Then of course you can change the notes that are fired for the joystick2 drums and have 12 of em!

    Actually, if I had the cash, I’d be tempted to give that a go myself! πŸ™‚

    Comment by Jay — November 14, 2007 @ 2:21 pm

  14. @userfailure

    Guitar Pro being the tablature editor software? I’ve never tried it (my only ‘guitar’ skills are on Guitar Hero II!), but if it supports direct midi input (I only saw reference to importing midi files in the feature set) then I guess you could use it.. a midi note is a midi note. Only I’m not sure how you’re gonna make guitar tabs by banging on a bunch of drums πŸ˜‰

    Comment by Jay — November 14, 2007 @ 2:25 pm

  15. Huh. I just noticed that someone is selling information on ebay on how to achieve what this article describes and provides for free. I would hope they’re not actually selling this article or my script. That would annoy me muchly. But either way, more fool anyone who pays them for it!

    Comment by Jay — November 14, 2007 @ 3:26 pm

  16. Thanks for this article! Using the info provided here and a little tweaking of my own I managed to get Harmonix’s USB Drum Kit that comes with Rock Band to register in Cubase – Awesome!

    Comment by Adam — November 30, 2007 @ 8:31 pm

  17. @Adam,

    That IS cool! I shall look forward to doing the same myself… when the UK eventually gets Rock Band sometime around March next year (big game publishers can’t be bothered with piss-ant little islands with only 60 million backward natives).

    Comment by Jay — December 3, 2007 @ 11:39 am

  18. Thanks VERY much for this ! I’d managed to get the drum kit to work with Kontakt 2 via a midi to joystick converter, but couldn’t figure out how to get velocities – looks like you have the answer, nice one !

    My tip: If you want to use the drum kit with music software like Cubase, Reason, etc, but without paying for an expensive soundcard download ‘ASIO4ALL’ here:

    I reduces the delay between hitting the pad and the sound coming out of your pc (latency) to nothing. Sounds too good to be true, but I can now use Kontakt, with all the effects I want, with a regular soundcard.

    thanks again.


    Comment by Nath Stealth — December 11, 2007 @ 12:07 pm

  19. Thanks for working this out and posting it.

    Comment by simon h — December 26, 2007 @ 2:37 am

  20. Hi,This is just what i am looking for:)
    My only question is this,do i copy the entire script and run in glovepie,or just the parts with the drum info?

    Comment by madriff — December 30, 2007 @ 2:07 pm

  21. Hello, does anybody know how to reconfigure the the key each drum is outputted at as Reason’s Redrum doesn’t respond on all channels, you can change the settings in the NN-XT but the drums sounds are aweful any help would be amazing. thanks for the advice already given by the way!!!!!!!!!!

    Comment by Dave — December 31, 2007 @ 4:17 pm

  22. Thanks a whole bunch, I am a happy bunny and your efforts are much appreciated. One little thing – I’ve been trying to get the hi-hat to work like a proper drum kit’s, but with no joy. I can get RedDrum to make two different sounds depending on the status of Button10, but I can’t get Button10 to trigger a sound on its own. Anyone got any thoughts?

    Comment by Zack — January 8, 2008 @ 12:05 pm

  23. I can’t get it to work, I’ve checked in properties and the drumkit is there and working. When I load up Cubase SE and change the midi in and out bits its not having it, even when I have treid all the combinations. Any ideas?

    Comment by Kevin — January 18, 2008 @ 11:37 pm

  24. Hi. I usually use Cool Edit Pro for my multitrack WAV recording and have not used MIDI before. Is it possible to use your method with Cool Edit Pro?

    Comment by Adrian — January 19, 2008 @ 1:43 pm

  25. Hi,

    Ive just got myself an ION kit. Ive tried using the method youve explained…

    In cakewalk The midi input is working…but only works on hi hat and snare…and on those it plays 5 notes at once. Which is a mess πŸ˜€

    Anyone have this problem or kno what im doing wrong?!

    Also…I can only get an open hi hat sound from the hat pad. The pedal ‘closes’ when pressed. but has no effect on the actual hi hat pad.

    Any ideas?


    Comment by Marc — February 15, 2008 @ 5:45 pm

  26. This is exactly what I’m looking for, I have but one problem, when I run the script, all drums fire, I’m using Cakewalk Homestudio XL. I have tried the script on another sequencing platform with the same results. Any suggestions?


    Comment by Mark E Dunker — February 23, 2008 @ 4:55 am

  27. Same as Marc really – but used midi yoke to look at output. Seems several drums playing at once – and not the tom toms?

    Anyone got this script working well yet?

    Comment by Ian — February 27, 2008 @ 2:00 pm

  28. im having the same problem as marc. all pads work tho except 1 of the toms but when i hit them i have 5 or 6 sounds at once. ive tried with acid pro 6 and fl studio 7 and its the same with both. any help would be most appreciated


    Comment by chris — March 4, 2008 @ 9:22 pm

  29. Sorry, guys. I don’t have Cakewalk to try it on… seems weird though. If I get the chance I’ll give it a go and report back. If anyone else figures it out, please let us know!

    Comment by Jay — March 6, 2008 @ 2:19 pm

  30. Yeah as it’s been mentioned above a couple of times.. it would be very VERY useful to get this workin with Reasons Redrum. Anyone got any clues? I have it recognising the installed progs in this article.. but no sound thus far.


    Comment by Jay — March 8, 2008 @ 8:54 pm

  31. Why have you removed my question??? Reason… Redrum… anyone? Thanks..

    Why did you remove it??? Bizarre…

    Comment by Jay — March 9, 2008 @ 4:28 pm

  32. Oooh its reappeared? Hmm… lol.. sorry.. again tho.. anyone…Reason… πŸ˜›

    Comment by Jay — March 9, 2008 @ 4:29 pm

  33. I bought 2 kits, hoping to somehow “combine them” into one bigger kit *for the purpose of more low toms, cymbals, cowbell etc.* and I was wondering if there was anyway to map them together in one GlovePIE script. I was thinking just copy paste the script into the script and just change all the “joystick1.x” “joystick1.y” etc into “joystick2.x” “joystick2.y” etc. but I’m not too sure if that’d work. I’m not sure if I’d need to change anything else..

    And since I’m horrible at programming (I can barely read your script without breaking my mind) I’m not sure if you’ve mapped the pads to keyboard keys… Since I feel that’s needed, would you mind helping me to do so? As in, what format to put the pads names in and what not.

    Any help is appreciated. Thanks

    Comment by Alexander — March 10, 2008 @ 7:13 am

  34. I have same problem but used the drum player in piano suite (free to redirect the output). It did work once but then stopped again! Recalibrating changes things each time I try it. I wonder if the driver or the hardware has changes on later models. I noticed in calibrate that the buttons also fire when you hit a pad so if joystick.button1 etc could be used to detect the hit but I tried this and it didn’t help. Changing the var.senseThreshold to 0 stopped the multiple hits but some tom toms still dont work. It feels like a bug in the driver or glovepie. Setting a variabke to show the non working pads shows that they dont seem to change even though I can see them change in the joystick control pannel display.
    Also I don’t get any delay with the virtualdrumx but I wanted it to work so I could use other samples.


    Comment by John — March 11, 2008 @ 12:34 am

  35. Update on my little predicament.
    I’ve gotten the snare, the hi-hat pad, and the middle tom to work.
    (buttons 1, 2, and 4)
    However, for the rest (High tom, cymbal, low tom pads and the 2 pedals) they don’t work.
    I’ve tried mapping them as “joystick1.button3” etc. but it still doesn’t read them. Any way to somehow add to this that’ll help out the pads that aren’t working?

    Comment by Alexander — March 11, 2008 @ 12:52 am

  36. I forgot to mention that when you get multiple drums played you can see the variables for all the drums change together in the variable tab so either glove pie has a bug or the drum driver sends a change on all the pads. It might be that this is only very short and small on the wrong pads and could be filtered out.


    Comment by John — March 11, 2008 @ 8:41 am

  37. @the other Jay – I didn’t remove your comments… they’re all moderated due to a bunch of spammers who try to add a few hundred links here a day. When you post a comment, you see it in preview, but then you won’t see it on your return til I log in and approve it.

    Comment by Jay — March 11, 2008 @ 9:50 am

  38. @Alexander.

    I haven’t tried it, cuz I’m not lucky enough (and the wife not tolerant enough) to have two kits, but as you said in your first post, you ought to be able to refer to them as joystick1.x and joystick2.x. but i dont think you’ll be able to just copy paste the whole script and run both. I think you’ll need to include both sets in the one running script.

    Try putting an ‘or’ after each script statement that refers to joystick1 and putting a duplicate command for joystick2? e.g. “if Joystick1.button10 or Joystick2.button10 then var.LeftPedal = 100%”.

    Comment by Jay — March 11, 2008 @ 9:56 am

  39. Hi everyone!

    I have one of these USB drum kits from e-bay. I was able to download the software from http://www.ion-audio.com and it seems to work, except I can’t get the program to recognize the (required)MP3 music files. I had to burn my own CD, as the files were zipped from the download and the program requires a drive lable(E). Windows media player plays the mp3 files and I even tried putting the files in a folder but, nothing. I have the USB unit plugged into the computer (and recognized by windows and Xtreme software), but I am using a different unit at the momemt(Non USB “Brain Unit” – *ION iDMO-2. I would like to try the tutorials and games (with more mp3’s would be ideal!). Even bought used PS2 considered Rock band kit!
    Thanks, Henry.
    BTW: With this other (*ION) “Brain unit” about every 200(moderate – fast)taps, I get a “crash” of all sounds at once.

    Comment by Henry Rody — March 14, 2008 @ 11:06 pm

  40. Hey, Gang…

    I don’t know if this helps or not – because it doesn’t pertain directly to the script, but…

    I use Cakewalk Pro Audio 9 and you CAN record your Ion IED05 drum kit as digital audio. I know that doesn’t allow you to edit your drums in MIDI format but you can use digital audio editing to get where you want to go. After all, they ARE digital drums…lol

    All you have to do is make sure you have both your Cakewalk and Virtual Drum X software up & running. Set your Cakewalk recording & playback source to your soundcard. Give yourself an extra measure or two of Count-In so that you can start your Cakewalk recording and then flip your computer over to your Virtual Drum X (Virtual Drum X has to be your top window) and you’re golden.

    Record your digital drum line and then go back and make any corrections, revision, etc. with a punch-in (just like in a “real audio recording studio”) and everything is GroovusMaximus (Latin for Groovy to the Max).

    I hope this helps someone out there. Let me know if you run into any “Funkus Maximus” issues.

    Rock On…
    Max };-)

    Comment by Max — March 16, 2008 @ 12:40 am

  41. Dude this tutorial rulez but unfortunately doesnt work for me.I did everything you wrote but I still have the annoying lag and can tdo anything about it.You mentioned ASIO which reduces, even makes delay disappear. This doesnt occur to me.I’m trying with EZdrummer,still theres the lag, but when I tried the edrum monitor,which the same program as GlovePie,and thats the source of the delay.I have no idea why it doesnt work for me, since you mentioned a regular soundcard is enough to get sounds with no delay. Any idea?

    Comment by Dave Shwartz — March 23, 2008 @ 8:48 pm

  42. Please somebody hewlp me it doesnt work write to polcrendszer@gmail.com and probably u can help me fix this annpying problem!! thanks

    Comment by Dave Shwartz — March 25, 2008 @ 7:07 pm

  43. Hey… great work!

    I have a problem. When I try to use the drum set with my creative as you suggested, for 4 of the pads I get 4 sounds at a time, 4 times in a row…
    so if I hit the hihat, I’ll get 4 different sounds at the same time 4 times…

    do you have any suggestion?

    Comment by Christian — March 26, 2008 @ 9:36 pm

  44. Same problem…running Redrum on Reason. Green doesn’t register at all. A hit on any other pad results in a crash of all the other pads. Foot pedals don’t work at all. I’m no programmer and I’m having a hell of a time sifting through the code. Help would be greatly appreciated.

    Comment by ozzy — April 4, 2008 @ 2:44 am

  45. Hi, again awesome conquest i’ve been hunting for a while on for something to do this….however being the programming iliterate idiot i am i’m having trouble getting the drums to register.

    I’ve install/rebbot for Maple and install and run your script in GP.

    Using either guitar pro (percussion tracks) and cool edit (adobe audition)i’m not able to achieve any sounds for my kit??

    I’ve asigned the Midi IN to midi IN device to Maple Midi IN Port 2 and the midi OUT device to Waveabe SW Synth in both programs yet nothing?

    Am i being an idiot or are these programs untested with your script?

    Any advise or help very mch welcome


    Comment by Stuart — April 20, 2008 @ 12:13 am

  46. Hey… i had the issue with multiple pads firing multiple times, I just installed glovepie version 0.29 instead of 0.3 and it works great now.

    Comment by Dave — April 27, 2008 @ 9:27 pm

  47. I was able to get the cymbol choke to work in fl studio. Using cut groups, i assume most software would impliment something similar where one pad will cut the output of another. Setting the button7 to output a midi note which will trigger a pad with volume set to 0 will effectively choke the cymbol.

    Comment by Dave — April 28, 2008 @ 2:51 am

  48. The script works excellent with GlovePie 0.29. Thanks

    Comment by Melissa — May 1, 2008 @ 1:30 am

  49. If you’re having trouble with the drums playing 4 times every time you hit one drum, try using version 0.29 of GlovePIE instead of 0.30. That fixed it for me in Sonar.

    Hope this helps


    Comment by Tom — May 1, 2008 @ 8:31 pm

  50. I have followed this tutorial without any luck.

    I am using Anvil studio as the midi program, but when I test midi connections it says the device is busy and gives an error code for the anvil studio people then shows the midi test screen, however with the midi in an out set to the drum it randomly says that drum pads are going on and off when they are not and when selecting midi out port 2 the program crashes….and this is the one it says to use from the debug on GlovoePIE

    Any suggestions or known fixes?

    Comment by Daniel — May 9, 2008 @ 6:55 pm

  51. Ok a new update…tweaked some settings and ran the DrumX program in the background but now each time i hit a pad it cuts out the midi!

    Comment by Daniel — May 9, 2008 @ 7:02 pm

  52. WOW anther update..ok some error as some other guy…hear all sounds at once and only the hi hat and snare work!

    Comment by Daniel — May 9, 2008 @ 7:10 pm

  53. Does anybody know if I can get a rollup usb keyboard to work with this method. It uses it’s own software only and I want to use it control softsynths.

    Comment by Seb — May 28, 2008 @ 9:25 pm

  54. I am new to all this. I don’t seem to understand the linkage between GlovePIE and the drum set. I am guessing from what you are saying, that glovePIE and the scripts are going to translate the sound into a midi message for cakewalk. I use Cakewalk Creator 4. I see the maple ins and outs, but when I go to record, I don’t see the drums registering in the program. I have Vista if that matters for the script written. Should I have the Virtual Drum X open as well when I try to record? I opened the scripts in GlovePIE, opened Cakewalk, tried to record. What am I missing?

    Comment by misunderstoodk9s — June 5, 2008 @ 2:57 am

  55. yes. well my question got deleted too. I guess it wasn’t approved yet as described above? Anyhow, I got the drums to register in Cakewalk. My problem was that Cakewalk was not picking up on my soundcard as an out. All I saw were my 4 Maple ins/outs. Here is what Cakewalk told me to do.
    “To hear MIDI playback:

    To hear MIDI playback, you will always need a MIDI instrument like a

    keyboard or built-in synthesizer to select under Options | MIDI devices.

    If you don’t have a synth showing up under Options | MIDI devices, or if

    you only see “Microsoft MIDI mapper,” then you have 2 options:

    1) Go to Options | Audio | Advanced. Put a check in the box that says

    “Always Use MME Interface” (or change the Driver Mode to MME-32bit) then

    press OK. Restart the program and let the Wave Profiler Test your

    hardware. Go back to Options | MIDI devices. You should now see

    “Microsoft GS Wavetable S/W synth” under outputs. Select this new

    device and click OK.

    2) If your soundcard supports WDM or ASIO drivers, you can use a DXI as

    your synth. Go to View | Synth Rack and add one of the synths from the


    For detailed instructions, see the tutorial called “Using SoftSynths” or

    “Using the Edirol VSC” under Help | Help Topics. These tutorials will

    be very helpful if you choose option 2″

    Now my problem is the latency issue. I downloaded the ASIO4all driver ( as well as ReWire), but can’t seem to get the settings right in Cakewalk. I don’t know if I even need to change the settings. Can any Cakewalk users out there help me? I tried changing buffers as well as trying to turn echo off. I am at a loss.

    Comment by misunderstoodk9s — June 7, 2008 @ 9:24 pm

  56. It finally works! GlovePIE 0.30 didn’t work, but since I downloaded version 0.25 it works fine.

    I changed the script a little to add:
    Open and Closed HiHat sounds both work (depending on de pedal state)
    Pedal HiHat also work
    Cymbal switch let me switch between Crash and Ride Cymbal.

    Comment by Tijn — June 10, 2008 @ 11:52 am

  57. Hi.

    In real drums hihat without push pedal is Open and not this “Red Drum 1 ClosedHiHat F#3 ” then soun is “tisss” and not “tic”
    When you push an release de hihatpedal sound is
    “tissss” or “tic+tisss”
    And when hihatpedal is push and push red drumpad the sound is “tic”

    -Red pad only. sound:”tissss”.
    -Pedal push&release(100ms). sound: “tissss” or “tic+tissss”
    -Pedal push and not release sound: “tic”
    -And pedel+drumpad. sound: “tic”

    Can you programing this or similar?

    Thanks for all and for your awasome script

    Comment by antfros — June 12, 2008 @ 12:54 am

  58. Hey thanks very much for this, its exactly what I wanted. Worked fine for Cakewalk for me and after a bit of code tweaking I got it going for Reason/ Redrum too. Excellent, I got the hi hat working too which was a bonus.

    Comment by David — July 6, 2008 @ 8:29 pm

  59. what did you do to get it working with reason?

    Comment by armand — August 20, 2008 @ 3:07 am

  60. Works with version 0.25 perfectly, thank you very much (ended alot of frusration for me there).

    Comment by Jiinx — September 4, 2008 @ 1:12 am

  61. Just incase anyone is interested.
    This drum kit can be used to record its drum sound by using nero wave editer,just use digital as input and have drum sample program on top of nero whilst recording, works a treat.

    Comment by Doogie — September 9, 2008 @ 5:52 pm

  62. hi, how is the latency if for exampled used in Cubase?

    Comment by 2tall — September 12, 2008 @ 7:56 pm

  63. For those of you wondering how you can get the hi hat pedal to work, you know, like an actual hi-hat, you can modify your code with a nested if statement, like so:

    if Joystick1.x > var.senseThreshold then
    if Joystick1.Button10 then
    var.RedDrum = MapEnsureRange(Smooth(Joystick1.x, 5), -1,1, 5,100) * 10 + var.RedDrumOffset%
    var.LeftPedal = MapEnsureRange(Smooth(Joystick1.x, 5), -1,1, 5,100) * 10 + var.RedDrumOffset%
    wait var.WaitTime

    Then you’ll have to go near the bottom and get rid of the entire “if Joystick1.button9” etc code. That whole section.

    The last step is to add a simple % to the end of “midi.ASharp3Velocity = var.LeftPedal”

    Bada-bing. You won’t have the sound it makes when you initially press the button, but if you’re a good drummer, you’ll want it this way better than no open and close control.

    Comment by DJ Yoshiman — September 17, 2008 @ 9:40 pm

  64. i need drivers virtual drum x, please
    i buy a 1come used

    Comment by javier veliz — September 27, 2008 @ 5:23 pm

  65. HI,

    I bought one of these when they where called drumxtreme, but got a bit frustated about the sound lag and the lack of good sounds.

    this sounds brill. Anybody has any recomendations on a MIDI freeware I can use?
    Will Audacity do teh job and let me asign some good sounds to it?


    Comment by despaniard — October 11, 2008 @ 12:28 pm

  66. hey we are gettin one of these kits for my brother and i was going to buy a Creative Sound Blaster X-Fi Titanium fata1y pro sound card (im a gaming nutcase) jsut wondering if this will support this drum kit ok? also how does it interface with the pc? USB or directly into the sound card?


    Comment by Jack Powell — October 11, 2008 @ 2:52 pm

  67. oh im a pleb, its a USB drum kit XD well ignor that bit of ma question then! lol but wil it supprot that sound card πŸ˜€

    Comment by Jack Powell — October 11, 2008 @ 2:55 pm

  68. Good page, good info, good work. Think I really should thank you for your time and effort, so… Thanks, big time.

    Comment by chip — October 18, 2008 @ 11:18 pm

  69. Wow! Using GlovePie 0.25 makes it work with Cakewalk Sonar Homestudio! Whoo-hoo! Of course now the open/close hi-hat needs to be fixed but that’s not a big deal.


    Comment by Mike — October 22, 2008 @ 9:46 pm

  70. Hey guys,
    I just got my ION, but this isnt working. I selected all the right devices in Fruityloops and my dad also tried it in Cubase, both not working. Is there something really important i’ve missed? Please help me, because the DrumX sounds SUCK!

    Comment by Lorenzo — November 3, 2008 @ 9:35 pm

  71. Hi Yoshi, I’ve tried to modify the code as you suggested and the hi-hat now works correctly, although I get a triple hit on the red pad.
    I mean, i hit it once and it plays the sample three times.
    been using it with EZ, Battery3 and Groove Agent, same result.

    Any ideas?


    Comment by Solid — November 19, 2008 @ 6:56 pm

  72. Nice work, just got one for Christmas and have finally worked out why what you said above wasnt working! I had another joystick connected and the drums need to be Controller 1, not 2 as it was defaulting to, so if it doesnt work – make sure you uninstall any existing joysticks. Sounds much better using the Soundbank through X-Fi but its just too quiet and I cant seem to boost it enough for me not to be able to hear the stick hits on the pads! Any ideas?

    Comment by Chris White — December 26, 2008 @ 6:14 pm

  73. The usb drums are very versatile & cheap to repair / mod.
    I instantly got my unit to play the Dtxmania game without installing any drivers or software Im also using cubase sx, sampletank & pro tools with the emu 0404 pci soundcard having 2ms latency, the midi control response is perfect.

    Thank you …..

    Comment by gunmansole — December 30, 2008 @ 6:12 am


    Another option is to edit midi drum channel 10 settings to simulate a choke to cut the hi hat pedal sound.
    Its already configured in cubase sx 3 with the lm7 drum module.


    Comment by element — January 5, 2009 @ 2:14 pm

  75. Hi, recently I bought a usb drum kit ied05 but still i cannot do it work fine. I suppose the software CD that comes with the drum kit is broken.
    Yesterday i wrote to technical support but I am waiting the response.
    Can anyone write to me for pass me a iso image of the software? My email is saraguato ( A ) gmail.com

    Thank you!

    Comment by saraguato — January 11, 2009 @ 2:05 pm

  76. Solid, after the else statement in my code, do the following lines come?

    var.RedDrum = false

    Comment by DJ Yoshiman — January 14, 2009 @ 12:30 am

  77. Also, this seems to be a satisfactory way to do virtual drumming, and I’ve even used my hi-hat pedal as a double-bass pedal and created some code for that, but it just doesn’t seem fast enough when I want to do really fast songs, and unfortunately lowering the WaitTime any lower than 80 ms will cause much double and triple-hitting.

    I’m currently seeing if there’s a way to tie the program into GlovePIE, because the program on the CD doesn’t seem to have an issue with this, but I also want to be able to use my samples.

    Comment by DJ Yoshiman — January 14, 2009 @ 12:34 am

  78. Hi I recently purchased an Ion iED05 second hand but I didn’t come with the software cd. Is there a way I can use it without the software or is it possible to download the software?



    Comment by Paul Newborough — January 29, 2009 @ 12:30 pm

  79. Running Cubase and although the programme registers the midi in signal there’s still a lag on the midi in (channel 10). When trying to use it for my Halion Drum kits it just won’t work at all.
    Thanks for the info which I’ve followed through and through, but I can’t seem to find how to get it to work properly!

    Comment by Jonnybull — January 30, 2009 @ 12:35 am

  80. hey, i think the unplugging of other usb controllers is a must in the tutorial i couldn’t figure out what i was doing wrong, then i read that post. but it works, and thanks for making it.

    Comment by JerryD504 — February 13, 2009 @ 6:08 am

  81. Thanks for our hard work. Has anyone else seen the VR Drums software that will be shipped with the latest version? It looks like it’s midi enabled.

    Comment by Kieran — February 16, 2009 @ 4:56 pm

  82. hi i cant download glovepie due to too little bandwith whenever i go on any other ways to get it please.

    Comment by david miller — March 12, 2009 @ 9:24 am

  83. Recently purchased the IED05 kit minus the software (which I really was not interested in anyway). Thanks to this brilliant method using Maple MIDI and GlovePie, I was able to trigger Battery 3 using Cubase LE. However, I am unable to produce the same results using Cakewalk SONAR Producer. There is no MIDI activity registering. If there is anyone out there that can help me with the correct configuration for Cakewalk SONAR, I would appreciate it tremendously.

    Comment by Joe — April 9, 2009 @ 3:55 am

  84. Hi, great tutorial thanx, I’m using this on a laptop with midiyoke, aiso4all and cubase and it works perfectly with no noticable lag at all, sweet!
    Ok peeps, I’ve been trying to use the code posted by DJ Yoshiman to modify the Hi-hat operation. I followed the instructions exactly, tried it out and all that happened was that I lost both the hat and the bass drum completely (By the way, does it matter where you nest the new code? I placed it directly after the joystick button1 code as this seemed the best place, but Yoshi never specifies).
    I then tried it again but by deleting the code for joystick1.button10 instead of button9 (as it seemed counter-intuitive to delete code for a pedal that had nothing to do with the hat operation). Lo and behold, my bass drum is now back but when I hit the hat (reddrum, j button1), it just fires the sample constantly until i stop running the script, if I hit the hat pedal (j button10) I hear the close hat sound once but the other hat sound is still constantly playing over the top. Has anyone else come across this? If so do you have a fix and could you post it here cos I know jack diddly squat about programming. Thanx

    Comment by The Walster — April 15, 2009 @ 1:32 am

  85. Ok folks, looks like I solved my own problem. I fried my brain for 10 mins looking over the code and figured I needed to replace the second “if” expression in Yoshi’s code with an “and” instead. This and a little logical rewriting seemed to do the trick. Here’s how to do it;

    Use the original code supplied in the tutorial and edit the code for Button1 so that it reads like this:

    // BUTTON 1 – RED DRUM (Closed HiHat)
    // joystick.x controls button 1 velocity
    // yes, we could refer to it as midi.ClosedHiHat, e.g. midi.ClosedHiHat = Joystick1.Button1, but then you can’t specify velocities,
    // which is why we’re referring to the notes that the drums are mapped to and explicitly setting it to the percussion channel

    if Joystick1.x > var.senseThreshold then
    var.RedDrum = MapEnsureRange(Smooth(Joystick1.x, 5), -1,1, 5,100) * 10 + var.RedDrumOffset%
    wait var.WaitTime
    var.RedDrum = false

    if Joystick1.x > var.senseThreshold and Joystick1.button10 then
    var.LeftPedal = MapEnsureRange(Smooth(Joystick1.x, 5), -1,1, 5,100) * 10 + var.RedDrumOffset%
    wait var.WaitTime
    var.LeftPedal = false

    Now delete the original code for Joystick Button10 and hey presto, you have a controlable hi-hat.

    Unfortunately, as with DJ Yoshiman’s fix there is no independent sample fired when you press the pedal on it’s own, but maybe someone who knows about this stuff can sort that and let me know, cos with my random guess work it might take some time. Ttfn.

    Comment by The Walster — April 15, 2009 @ 2:23 am

  86. It took one read through these comments and I was up and running in about 30 minutes.

    For anyone having trouble:

    1. I downloaded an old version of GLovePIE as recommended above by some. 0.25 worked fine for me. You can DL it from a few mirrors as there is always a bandwith error when DLing from the main site.

    2. The maple virtual cable is no longer at the site referenced here. For now, it’s mirrored at http://www.linuxsampler.org/ethernetmidi – DL it there.

    3. I already have a bunch of MIDI devices installed, so on my system, the default output (midi.DeviceOut = 3) did not correspond to the virtual cable and therefore did not work. If you’re having this problem, advance the device incrementally one at a time until the output matches something that your DAW program can access. I had to try all the way until DeviceOut=11 before it outputted to a MIDI device that I could choose from my DAW’s pulldown menu. Interestingly, MIDI OMNI mode did NOT work with my DAW, which I thought it would.

    Good Luck!

    Comment by John Smith — April 24, 2009 @ 3:26 am

  87. Hi guys, has anyone figured out how to make the kick REALLY sensitive. I dont want to wake my sister up in the night even if i do have headphones by banging about.

    Comment by Rob — May 13, 2009 @ 10:30 pm

  88. Sorry thats KIT not kick

    Comment by Rob — May 13, 2009 @ 10:30 pm

  89. Does anyone know if this USB to midi approach works with the Ion IDM05? I spent 8 hours on it yesterday but the GlovePIE and script does not see it. I was able to prove that the Midiox part is working fine. This system comes with a midi connector so I could use a hardware midi to USB cable, I am just trying to reduce the number of cables. Thanks Chris

    Comment by Chris — June 1, 2009 @ 3:06 pm

  90. Hi, I can’t fing the Maple Virtual MIDI Cable anymore anywhere. Is there any other option?

    Comment by Cokekola — July 14, 2009 @ 10:05 am

  91. why doesnt green and purple drum work in reason redrum

    Comment by ian — July 16, 2009 @ 11:53 am

  92. please someone answer this would be such a cool thing if it would work in reason on the redrum but evrytime the green and puple drum wont work please please help someone ianandhyde@yahoo.co.uk

    Comment by ian — July 16, 2009 @ 11:55 am

  93. Thanks for advice!

    Comment by Martin — August 8, 2009 @ 11:11 pm

  94. This is working great with Battery 3 demo version but (a) I’d like more kits without paying the very high price for the full version – any suggestions? And (b) I can’t get the hi-hat open and close function working using the code suggested above. Could somebody copy and paste the code at they have used to get this working so I can copy and paste it into the script, also letting me know exactly where it needs to go in the script? Even better if they can do the same with the code needed to get the cymbal choke button working as it should. Thanks.

    Comment by Adrian — August 17, 2009 @ 10:38 pm

  95. @Yoshiman:
    I’ve read all the posts,but reading the code seems the left pedal isn’t 9, but 10.The code should be this:

    // equivalent to midi.OpenHiHat
    if Joystick1.x > var.senseThreshold then
    if Joystick1.Button10 then
    var.RedDrum = MapEnsureRange(Smooth(Joystick1.x, 5), -1,1, 5,100) * 10 + var.RedDrumOffset%
    var.LeftPedal = MapEnsureRange(Smooth(Joystick1.x, 5), -1,1, 5,100) * 10 + var.RedDrumOffset%
    wait var.WaitTime
    var.RedDrum = false

    Now it works almost as a real hit-hat:
    -if you press left pedal+ red pad the sound is closed hit hat
    -if the left pedal is not pressed and you hit red pad the sound is open hit hat.
    The problem is: when you press left pedal only (not hitting red pad) there’s no sound. I think the sound should be the same sound you hear when you press left pedal+ hit left pad.
    Could you help us to make it perfect?
    At least, superb job, I use it with FL Studio and asio4all and it rocks!

    Great,job, thank you

    Comment by Ricky — August 22, 2009 @ 1:26 pm

  96. As DJ Yoshiman gently suggested me I added this code in addiction to the other:

    // BUTTON 10 – LEFT PEDAL (Open HiHat)
    // equivalent to midi.OpenHiHat
    if Joystick1.button10 then
    var.LeftPedal = 100%
    wait var.WaitTime
    var.LeftPedal = false

    The sound of pedal hit hat was very low, so I added
    midi.ASharp3Velocity = var.LeftPedal

    at the end and now it works.
    But the sound is not natural, because pedal hit hat and open hit hat have the same sound.
    So I’ve studied a bit how midi works with hit hat, I discovered that in midi hit-hat is composed of three sounds, not two. Those are the midi names and the corresponding notes:
    –Closed Hat red pad +left pedal pressed,midi note F#3 midi.FSharp3Velocity var.RedDrum%

    –Open HiHat red pad +left pedal NOT pressed,midi note A#3, midi.ASharp3Velocity = var.LeftPedal%

    -Pedal Hi Hat,left pedal only,midi note G#3 midi.GSharp3Velocity = var.LeftPedal

    I’ve tried all the day to assign those three sounds, but with this script glovepie use only the first note assigned to var.LeftPedal, ignoring the second value.
    In expample if I put:
    midi.GSharp3Velocity = var.LeftPedal
    midi.ASharp3Velocity = var.LeftPedal%

    glovepie assign G#3 to Pedal Hi Hat and to Open HiHat.
    Please, could someone explain how to those three sounds?

    Comment by Ricky — August 23, 2009 @ 1:49 am

  97. I modified this script to solve an hit-hat bug: now the hithat sound are three instead two as in the previous version, I added Pedal HitHat to Open HitHat and Closed HitHat. Now it works well and it sound natural.I tested this with Ezdrummer and FL Studio FPC. I’ve used a Pacific Digital DrumXtreme DX150 . Thanks to DJ Yoshiman for suggestions:-)

    // ION iED05 USB Drum Kit MIDI Mapper – Free your USB drums!
    // http://www.wibwobweb.com/ied05midi
    // v1.1 modified by DJ Yoshiman ( http://djyoshiman.genericdudes.org/ )
    // v.1.2 modified by Ricky

    // This is a script to translate the game control signals from the
    // ION iED05 USB Drum Kit to general midi percussion
    // I’m sure it could be improved, so feel free!
    // Specifically, the velocities might be tweakable, but my math sucks!

    // I modified this script to solve an hit-hat bug: now the hithat sound are three instead two as in the previous version, I added Pedal HitHat to Open HitHat and Closed HitHat. Now it works well and it sound natural.I tested this with Ezdrummer and FL Studio FPC. I’ve used a Pacific Digital DrumXtreme DX150 . Thanks to DJ Yoshiman for suggestions:-)

    // MIDI setup
    // device 3 should equal Midi In Port 2 – make sure your application is using the same port or edit it here!
    midi.DeviceOut = 3
    debug = midi.OutDevName
    midi.GeneralMidi = true
    midi.DefaultChannel = 10 // MIDI percussion channel
    // Midi.Channel10.volume = 100% // you might not want to override your software. If you do, uncomment this!

    var.senseThreshold = -1.00 // range of velocity is -1 to 1
    // you can change this to change global sensitivity if you experience any problems due to lack of calibration

    // you can edit these variables to tweak the velocities of the various drums,
    // since it’s pretty darned hard to calibrate the drum kit as a game controller.
    // For example, my Snare plays too loud with a gentle tap, so I’ve offset it by a negative amount

    var.RedDrumOffset = 0
    var.YellowDrumOffset = -3000
    var.GreenDrumOffset = 0
    var.BlueDrumOffset = 0
    var.PurpleDrumOffset = -2000
    var.BronzeDrumOffset = -3000

    var.WaitTime = 100 ms // waits are important. if you don’t add them, GlovePIE polls so fast it sends multiple signals
    // if you are a far better drummer than me and you’re experiencing drops in your drum hits, try lowering this number

    // BUTTON 2 – YELLOW DRUM (Snare)
    // joystick.y controls button 2 velocity
    // equivalent to midi.AcousticSnare

    if Joystick1.y > var.senseThreshold then
    var.YellowDrum = MapEnsureRange(Smooth(Joystick1.y, 5), -1, 1, 5,100) * 10 + var.YellowDrumOffset%
    wait var.WaitTime
    var.YellowDrum = false

    // BUTTON 3 – GREEN DRUM – (High Tom)
    // joystick.slider controls button 3 velocity
    // equivalent to midi.HighTom
    if Joystick1.slider > var.senseThreshold then
    var.GreenDrum = MapEnsureRange(Smooth(Joystick1.slider, 5), -1, 1, 5,100) * 10 + var.GreenDrumOffset%
    wait var.WaitTime
    var.GreenDrum = false

    // BUTTON 4 – BLUE DRUM (High Mid Tom)
    // joystick.roll controls button 4 velocity
    // equivalent to midi.HighMidTom
    if Joystick1.roll > var.senseThreshold then
    var.BlueDrum = MapEnsureRange(Smooth(Joystick1.roll, 5), -1, 1, 5,100 ) * 10 + var.BlueDrumOffset%
    wait var.WaitTime
    var.BlueDrum = false

    // BUTTON 5 – PURPLE DRUM (Cymbal)
    // joystick1.yaw controls button 5 velocity
    // equivalent to midi.CrashCymbal1
    if Joystick1.yaw > var.senseThreshold then
    var.PurpleDrum = MapEnsureRange(Smooth(Joystick1.yaw, 5), -1, 1, 5,100 ) * 10 + var.PurpleDrumOffset%
    wait var.WaitTime
    var.PurpleDrum = false

    // BUTTON 6 – BRONZE DRUM (Low Tom)
    // joystick1.pitch controls button 6 velocity
    // equivalent to midi.LowTom
    if Joystick1.pitch > var.senseThreshold then
    var.BronzeDrum = MapEnsureRange(Smooth(Joystick1.pitch, 5), -1, 1, 5,100 ) * 10 + var.BronzeDrumOffset%
    wait var.WaitTime
    var.BronzeDrum = false

    // Button 7 is the cymbal (Purple Drum) rim mute button …
    // but I can’t find a way to mute it. ie, this bit doesn’t work. Boo!
    // But potentially, you could make the rim switch do something else here!
    if Joystick1.Button7 then
    var.PurpleDrum = 0
    midi.CSharp4 = false

    // BUTTON 9 – RIGHT PEDAL (Bass Drum)
    // equivalent to midi.BassDrum1
    // not really necessary to do this since it doesn’t have velocity,
    // but for the sake of modularity and readability…
    if Joystick1.button9 then
    var.RightPedal = 100%
    wait var.WaitTime
    var.RightPedal = false

    // BUTTON 10 – LEFT PEDAL ONLY (Pedal Hi Hat) / I added this new value to map left pedal
    // equivalent to midi.Pedal Hi Hat

    if Joystick1.button10 then
    var.LeftPedalOnly = 60% // I’ve set 60 because 100 was too much

    wait var.WaitTime
    var.LeftPedalOnly = false

    // BUTTON 1 + LEFT PEDAL (Closed Hat)
    // equivalent to midi.Closed Hat
    if Joystick1.x > var.senseThreshold then
    if Joystick1.Button10 then
    var.RedDrum = MapEnsureRange(Smooth(Joystick1.x, 5), -1,1, 5,100) * 10 + var.RedDrumOffset%
    var.LeftPedal = MapEnsureRange(Smooth(Joystick1.x, 5), -1,1, 5,100) * 10 + var.RedDrumOffset%
    wait var.WaitTime
    var.RedDrum = false

    // note, you can’t set those Midi values inside the IF
    // because IF statements in GlovePIE cause it to send the midi message
    // again even if it hasn’t changed, whereas outside IF statements it
    // only sends a MIDI message if it has changed.

    // Potentially you could remap the notes to change drums/kits, but these should work for most GM Percussion
    // and you’d be advised to set up a midi drum map of your own to match these notes instead
    midi.FSharp3Velocity = var.RedDrum%
    midi.E3Velocity = var.YellowDrum%
    midi.C4Velocity = var.GreenDrum%
    midi.A3Velocity = var.BlueDrum%
    midi.F3Velocity = var.BronzeDrum%
    midi.CSharp4Velocity = var.PurpleDrum%
    midi.ASharp3Velocity = var.LeftPedal% // we can refer to them explicitly as percussion
    midi.GSharp3Velocity = var.LeftPedalOnly
    midi.C3Velocity = var.RightPedal // if we don’t care about setting velocity

    // debug = ‘Red: ‘ + var.reddrum + ‘, Yellow: ‘ + var.yellowdrum + ‘, Green: ‘ + var.greendrum + ‘, Blue: ‘ + var.bluedrum + ‘, Bronze: ‘ + var.bronzedrum + ‘, Purple: ‘ + var.purpledrum + ‘, Left Pedal: ‘ + var.LeftPedal + ‘, Right Pedal: ‘ + var.RightPedal
    // outputtofile(‘Red: ‘ + var.reddrum + ‘, Yellow: ‘ + var.yellowdrum + ‘, Green: ‘ + var.greendrum + ‘, Blue: ‘ + var.bluedrum + ‘, Bronze: ‘ + var.bronzedrum + ‘, Purple: ‘ + var.purpledrum + ‘, Left Pedal: ‘ + var.LeftPedal + ‘, Right Pedal: ‘ + var.RightPedal)

    Comment by Ricky — August 24, 2009 @ 12:52 am

  98. great site.
    i have bought onde ION idm05 and a cant list nothing. i have to control the midi chanels? thankyou

    Comment by Gabriel — August 27, 2009 @ 7:38 pm

  99. hello i just bought this from a friend and need the cd , went to the WEBSITE of ion and they dont supply the drivers for or the software can anyone help with a few links been searching and found nothing

    Comment by toby — September 16, 2009 @ 3:54 am

  100. Re…Glovepie polling speed of 80ms max.

    For the more advanced drummers familiar with daws & midi.Ive found an alternative to glovepie.
    I recommend trying virtuasonic mijoy pro.
    Its a vst joy – midi instrument which has many advantages over glovepie.you can now play the usb drums at faster speeds without generating double hits.Just like on the original v drum software.
    Ive just got it & i’m certain you can also configure the cymbal choke.
    I’ll keep everyone posted

    Thank you all for you contributions

    Comment by snare1 — December 30, 2009 @ 3:11 am

  101. Hi, I have a ION IED05. The main unit has two out: USB out , and MIDI out. I connect the USB for the PC USB, and with a midi software, there are strong latency. Then I think you connect ION to PC with MIDI Cable. I think this cable has a normal midi and a game port style ends. Please let me known this cable pin assignments. Very thanks.

    Comment by hgabor47 — March 28, 2010 @ 7:00 am

  102. I have tried this with GlovePie and all the scripts given above. Everytime i get the same outcome: my program only recieves MIDI Signals from the snare, Tom2 and cymbal pads.

    And when I hit them they just send a jumbled MIDI message, resultsing in about 6 bangs of several drums going off everytime i hit any drum. Useless!

    I would be endlessly grateful if someone helped me out!

    Many thanks

    Comment by Jack — May 5, 2010 @ 12:31 pm

  103. hi, i have the ion VRDrum midi kit (Studio Session Drums) and the ASIO driver can reduce the lag on the game (but not remove it), but in VRD midi, I can COMPLETELY remove lag by making MIDI out my SBxFi sound card
    isn’t there some way to do this with the game too? the game is SO MUCH MORE REALISTIC than band hero (8 or even 9 inputs!)

    Comment by john — July 1, 2010 @ 2:41 am

  104. A great tutorial!! It explains all the minute facts and details about how to use ION iEDO5 drum kit with MIDI software.

    Comment by Groove Monkee — August 18, 2010 @ 12:00 pm

  105. Hi, I’m considering buying one of these drum sets, however for a totally different reason than most buyers. I play congas, not the drum set, but I have the same issues that some other drummers have. I can only practice mostly at nights. My questions: 1.With this set can I use three drum pads as congas of three different pitches? 2.Does the ‘velocity sensitive’ characteristic allow for close approximation to actual conga playing so I can practice at nights?
    3.What’s the diameters of the pads? Thank You Very Much, Charlie

    Comment by Charles Purcell — March 17, 2011 @ 12:21 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.