Old 01-25-2011, 10:09 PM   #1
jarl
Human being with feelings
 
Join Date: Jan 2011
Posts: 5
Default Joystick MIDI (Rock Band drums)

Ok... I'm about to give up trying to set up Reaper 3.74 with the (USB, PS3) Rock Band drums kit. So, here I am, asking a probably idiotic question. Nevertheless:

What: RB drums kit for PS3 + Reaper 3.74 (demo)
System: Compaq Presario V2000, conexant (built-in) audio card
Operating system: Windows XP SP3
Other: ASIO4All V2 running

Tried so far: too many things to list

Essentially, I went to Preferences, MIDI devices, Add Joystick MIDI. Selected the drums ("Harmonix Drum kit"), and chose the "Rockband drums" script, script mode "PS3". Checked the "send as midi control" checkbox. When pressing the buttons/pedal on the kit, the "Buttons=<>" line changes, so I assume it's working correctly. I assume this means the drum kit is now seen as an external midi controller. Am I right?

(Other questions so far: why the program doesn't list other txt files I save on the same location as these scripts? What's "bfd"?)

Now, after <long list of trials> I ended up adding a "Virtual Instrument in a new track". Pressed "fx", and added a nice drum set I found mentioned somewhere in the forums (GTG DPC 3). I'm being able to use the virtual keyboard to test the drums (or the Synth, for that matter). But here's the main question:

How on earth do I configure this track to use the joystick MIDI as an input?

I tried some other programs but the latency is awful. I'm impressed by Reaper, and I'm confident it's gonna work much better than other apps, but HOW???

BTW: right now I just want to test the whole setup, specially in terms of latency. Is there any (free) tool available to test this?
jarl is offline   Reply With Quote
Old 01-25-2011, 10:58 PM   #2
ppwazzup
Human being with feelings
 
ppwazzup's Avatar
 
Join Date: Dec 2008
Location: Oregon
Posts: 267
Default

Edit. Tired and drunk. Reread and saw my answer didn't help or answer anything LOL. Sorry.
__________________
Reverbnation, MySpace & Facebook <-- Check out my music!
Follow me on Twitter @NWMetal
ppwazzup is offline   Reply With Quote
Old 01-25-2011, 11:53 PM   #3
naturalbridge
Human being with feelings
 
naturalbridge's Avatar
 
Join Date: Jan 2011
Location: New York
Posts: 421
Default

A google search brought these two threads up:

http://forum.cockos.com/showthread.php?t=39782

http://forum.cockos.com/showthread.php?t=16685

I just skimmed through them, but it looks like they might be of help to you. I've accomplished something similar on my Mac with Reaper using a Wiimote and a program called OSculator, that lets me use my Wiimote to trigger whatever the heck I want it to in Reaper. I want to say the equivalent for Windows is a program called MIDIyoke, but I could be wrong.

Sorry I can't be of more help, I'm pretty new to MIDI and Reaper in general, and my knowledge of Windows related audio stuff is slim to none. However, I'm fairly certain that you should be able to set this up with relative ease once you get the right pieces in place. Good luck!
naturalbridge is offline   Reply With Quote
Old 01-26-2011, 12:34 AM   #4
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,834
Default

ok, before doing that: make sure you can do the following first:

* set up a drum VSTi (use 'virtual instrument on new track')
* use the inbuilt virtual MIDI keyboard to get noise out of it (somewhere in the view menu)

if that's working, and it looks like you've configured the drum kit right, make sure that the drum VSTi is listening for the right notes - it might be an octave out. maybe swap the drum VSTi out for a piano or something so you can see if it's actually making MIDI data properly?
dub3000 is offline   Reply With Quote
Old 01-26-2011, 09:26 AM   #5
jarl
Human being with feelings
 
Join Date: Jan 2011
Posts: 5
Default

@naturalbridge: Thank you for taking the time to check. I had seen those threads before, though, but I failed to find any relevant info on them. Many of the comments are about using external programs, but I'm trying to use the built-in joystick MIDI

@dub3000: the "GTG DPC 3" is a VSTi, and I'm able to control it using the virtual keyboard. I tested also with the raesynth, and the virtual keyboard works flawlessly. The drums, however, don't trigger anything (as far as I can tell). I thought before about the drums being an octave or more off, but when using the MIDI editor nothing happens when I hit a drum (or press the corresponding button, for that matter).

How do you "tell" a virtual instrument to use the input from the joystick MIDI?

EDIT: I decided to test the program using an old joystick I had already forgotten. Lo and behold, it works. So the problem seems to be the script (of course the real problem is I don't know how to use the program ). Then again, if I copy the scripts I have found here (including one from @dub3000) to the same folder where the other scripts are, the new ones are not even listed. Do that mean there's something wrong with them?

Last edited by jarl; 01-26-2011 at 10:32 AM.
jarl is offline   Reply With Quote
Old 01-26-2011, 11:40 AM   #6
jarl
Human being with feelings
 
Join Date: Jan 2011
Posts: 5
Default

As much as I hate answering my own questions (specially the really dumb ones), here it goes:
The scripts for the joystick midi, when using XP, go under the following folder:
C:\Documents and Settings\[User name]\Application Data\REAPER\Data\joystick_midi

I created a text file from the script on this thread by dub3000:
http://forum.cockos.com/showpost.php...2&postcount=17
and put it in that folder. I select this script on the joystick midi dialog box, but in either mode (what's the difference?) I don't get any sound. The "level meter" on the virtual instrument moves (using raesynth), but only the red line. I assume this means there's a MIDI input, but no sound is produced.

So, @dub3000 Given that you managed to make your RB drums work inside Reaper, any idea what's missing?
jarl is offline   Reply With Quote
Old 01-26-2011, 02:00 PM   #7
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,834
Default

There's a midi logger plugin in the included fx - that'll tell you what's coming through.

By default, all midi inputs should feed into a record armed midi track that's been added through te insert menu/new virtual instrument menu item. To check that, click on the level meter in the track view (not the mixer view) - it should already say MIDI - and then the selected input, that'll popup a menu where you can select the particular input.

My script works for a xb360 USB rock band kit, btw.
dub3000 is offline   Reply With Quote
Old 01-26-2011, 08:01 PM   #8
jarl
Human being with feelings
 
Join Date: Jan 2011
Posts: 5
Default

Thank you for your patience
I tested the logger, and found something interesting (using your script): by pressing the button that corresponds to a particular note (say 36), you get the same line in the log as if you press the virtual keyboard key #36. However, with the virtual keyboard there's sound, with the battery there isn't.

I was able to produce sounds from the drums by selecting "learn" for some of the drums' triggers, but they would get "stuck" (i.e. they would sound just once). I guess here's where "my script is for 360" enters the equation. What's the difference between the Xbox and PS3 versions of the controllers?

When using the script included with the program I get nothing from the drums. I'm not sure what the issue may be.

Finally, I hacked some code using the "generic.txt" script, and managed to make this thing work (the drums are not arranged correctly, but at least I know this thing works). It would be nice to understand what's going on with the other scripts, though. Is there a good reference for the scripting language? Something including the use of @submodes and external controllers (buttons, axis, etc) perhaps?
jarl is offline   Reply With Quote
Old 01-26-2011, 09:52 PM   #9
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,834
Default

what velocity/midi channel are the events coming back on?

my script requires you to hit up or down on the joypad thing to set velocities when starting up, from memory - does that help anything?
dub3000 is offline   Reply With Quote
Old 01-27-2011, 12:11 PM   #10
jarl
Human being with feelings
 
Join Date: Jan 2011
Posts: 5
Default

I've tried several options inside the "midi input" menu. The data is being received through channel 1.

Changing the velocities using the joypad works (the red line on the track's "meter" gets higher), but still no sound is produced. To be precise, sound is produced the first time you hit one of the drums, but that's it.

The original script seems to expect a signal that this drum kit doesn't produce (the 1024 bit). I guess that's the problem with that one.

In any case, this seems to be working right now. I'll need to work on my script some more, though. I still need to understand some of the JS quirks (btw: what's the "hasrun" conditional for on the generic script?)


Thank you for your help!
jarl is offline   Reply With Quote
Old 03-27-2011, 06:28 PM   #11
Wilkesin
Human being with feelings
 
Wilkesin's Avatar
 
Join Date: Mar 2008
Location: Birmingham, AL
Posts: 501
Default

Excuse the potentially stupid question but I almost have this working and would love some help.

Windows Xp 32 bit
Reaper current Alpha
Gtr Hero ps3 wireless drums
Addictive Drums Vsti
Generic Script

I am getting sound but things are playing the wrong notes (snare on kit sounding a kick or low tom etc). Is there anyway to edit the script so the snare plays a snare and so on?
__________________
ethersheets.bandcamp.com
Intel i5-2500K | MSI Mobo | 12 Gigs RAM | Win 10 Pro x64 | Reaper x64 | Studio One v3.5 x64
Wilkesin is offline   Reply With Quote
Old 03-31-2011, 06:26 AM   #12
Wilkesin
Human being with feelings
 
Wilkesin's Avatar
 
Join Date: Mar 2008
Location: Birmingham, AL
Posts: 501
Default

*bump*?
__________________
ethersheets.bandcamp.com
Intel i5-2500K | MSI Mobo | 12 Gigs RAM | Win 10 Pro x64 | Reaper x64 | Studio One v3.5 x64
Wilkesin is offline   Reply With Quote
Old 03-31-2011, 06:58 AM   #13
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,834
Default

yep, if you can find and edit the script (on my machine it's in C:\Users\USERNAME\AppData\Roaming\REAPER\Data\joys tick_midi\...), the note values are all set based on the joystick position - i think it's in the values note1, note2, note3, etc... you should be able to just edit that. each of those note values is a midi note number, there is a chart of those if you google for "midi note chart"
dub3000 is offline   Reply With Quote
Old 03-31-2011, 09:54 AM   #14
Wilkesin
Human being with feelings
 
Wilkesin's Avatar
 
Join Date: Mar 2008
Location: Birmingham, AL
Posts: 501
Default

The only one that I could initially get any sound from was the generic script not the rockband script. I dont see anything that says "note1" note2" etc...am I screwed?
__________________
ethersheets.bandcamp.com
Intel i5-2500K | MSI Mobo | 12 Gigs RAM | Win 10 Pro x64 | Reaper x64 | Studio One v3.5 x64

Last edited by Wilkesin; 03-31-2011 at 09:59 AM.
Wilkesin is offline   Reply With Quote
Old 03-31-2011, 05:36 PM   #15
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,834
Default

Quote:
Originally Posted by Wilkesin View Post
The only one that I could initially get any sound from was the generic script not the rockband script. I dont see anything that says "note1" note2" etc...am I screwed?
yeah, i don't think that one works very well. that one uses the position of one of the joysticks for pitch and the buttons are note on/note off.

maybe try the rockband scripts and use one of the included MIDI logger JS plugins to see what's actually being generated. you might be able to see what's coming out.
dub3000 is offline   Reply With Quote
Old 03-31-2011, 07:54 PM   #16
Wilkesin
Human being with feelings
 
Wilkesin's Avatar
 
Join Date: Mar 2008
Location: Birmingham, AL
Posts: 501
Default

Well I recorded a short snippet where I just hit each pad four times so I would know what note each pad was tied to. I dont have it in front of me now, but is this not the same info I would be after? So i just need to go back and find a way to make those midi notes correspond in your script?
__________________
ethersheets.bandcamp.com
Intel i5-2500K | MSI Mobo | 12 Gigs RAM | Win 10 Pro x64 | Reaper x64 | Studio One v3.5 x64
Wilkesin is offline   Reply With Quote
Old 03-31-2011, 08:41 PM   #17
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,834
Default

Quote:
Originally Posted by Wilkesin View Post
Well I recorded a short snippet where I just hit each pad four times so I would know what note each pad was tied to. I dont have it in front of me now, but is this not the same info I would be after? So i just need to go back and find a way to make those midi notes correspond in your script?
if you're getting different midi notes out of each pad, you're gold. use one of the many JS MIDI transpose plugins (limited to the note you're trying to change) to change the pitch of each note to something more sensible. you can just have one transpose plugin per pad in the one fx chain. then save it as a chain.
dub3000 is offline   Reply With Quote
Old 04-01-2011, 12:06 PM   #18
Wilkesin
Human being with feelings
 
Wilkesin's Avatar
 
Join Date: Mar 2008
Location: Birmingham, AL
Posts: 501
Default

Ah. sounds easy enough. I'll give it a shot this evening. Thanks!
__________________
ethersheets.bandcamp.com
Intel i5-2500K | MSI Mobo | 12 Gigs RAM | Win 10 Pro x64 | Reaper x64 | Studio One v3.5 x64

Last edited by Wilkesin; 04-01-2011 at 12:13 PM.
Wilkesin is offline   Reply With Quote
Old 05-13-2011, 05:24 AM   #19
rhancox
Human being with feelings
 
rhancox's Avatar
 
Join Date: Mar 2011
Location: San Antonio, TX
Posts: 13
Default

I've joined the foray of trying to make the Rock Band drum kit work with Reaper and I'm running into some trouble. So, instead of starting a new thread, I thought I'd just continue this one.

I have the original Rock Band drum kit, for PS3. When I connected it to my laptop, Windows (XP SP3) recognized it right away as the "Harmonix Drum Kit for PlayStation(R)3". Using the diagnostics in the 'game controller' applet from the control panel, all the pads and buttons and kick pedal are functioning.

I set up the drum kit as a MIDI device in Reaper. I discovered, as you all did, that the generic script seems to work but the pads are not in the desired order. The Rockband script, for me, only has the kick pedal working.

In the beginning, I tried using Joy2Key but I found that I could hear two sounds being generated. It dawned on me that there were two things processing the drum kit input so I exited Joy2Key and discovered that Reaper was successfully accepting drum kit input and that I wouldn't need Joy2Key. But that's when I discovered the differences between the generic and Rockband scripts.

I did a lot of searching last night for information on the syntax used in these scripts and found nothing. Of course, I was probably barking up the wrong tree. Anyway, I also found this thread, and some other info on here, about trying to hook up the Rock Band drum kit. But, some of it I'm not sure I understand and the rest hasn't answered any questions I still have.

I get the feeling that all I really need to do is modify the Rockband script, or even the generic one, to get the drum kit to work the way I'd like. My question is, how do I modify the scripts? I know I can use Notepad, I'm talking about the syntax. I don't know what I'm looking at.

I'm a programmer so I know a thing or two about scripting. I can see how things are defined in these scripts, but beyond that, I don't know what I'm looking at.

What kind of language is it? Is it a standard MIDI script? Is there a resource on the web I can check that will help me understand it all?

Thanks for your help.
__________________
Recording gear:
Focusrite Saffire 6 USB
MXL 990/991 condenser mics
rhancox is offline   Reply With Quote
Old 05-13-2011, 06:37 AM   #20
rhancox
Human being with feelings
 
rhancox's Avatar
 
Join Date: Mar 2011
Location: San Antonio, TX
Posts: 13
Default

Ok, well.... I think I answered my own question. It's JS scripting. No?

I found a JS Programming Reference here: http://www.reaper.fm/sdk/js/js.php. It answers a lot of questions, but there are still a few left.

From what I can gather, the event() function looks to be the meat of the script. Everything else is just checking and setting a bunch of variables. Unfortunately, I can't find anything in the above mentioned reference about the event() function.

Anybody have any ideas?
__________________
Recording gear:
Focusrite Saffire 6 USB
MXL 990/991 condenser mics
rhancox is offline   Reply With Quote
Old 05-13-2011, 07:41 AM   #21
Wilkesin
Human being with feelings
 
Wilkesin's Avatar
 
Join Date: Mar 2008
Location: Birmingham, AL
Posts: 501
Default

If I understand right you have the same problem I did where it recognized the pads bu the midi info was coming in on the wrong channel. I used the js midi transpose (I think) plugin (one for each pad) to "redirect" the incoming midi info to the correct note. I I was home I would upload my saved fx chain for you, but I'm away and won't be back til Monday.
__________________
ethersheets.bandcamp.com
Intel i5-2500K | MSI Mobo | 12 Gigs RAM | Win 10 Pro x64 | Reaper x64 | Studio One v3.5 x64
Wilkesin is offline   Reply With Quote
Old 05-14-2011, 05:05 AM   #22
rhancox
Human being with feelings
 
rhancox's Avatar
 
Join Date: Mar 2011
Location: San Antonio, TX
Posts: 13
Default

I figured it out, after a lot of studying and research.

First off, I've selected the "rockband_drums.txt" script. Next, I've selected the "PSP (for bfd)" script mode.

In the script, the code section I modified used to look like this:

(buttons & pads_hit) && !(buttons & select_button) ? (
(buttons & pad1) && !(lastbuttons & pad1) ? (
event($x90,note2,vel2);
event($x80,note2,0);
);
(buttons & pad2) && !(lastbuttons & pad2) ? (
event($x90,note3,vel3);
event($x80,note3,0);
);
(buttons & pad3) && !(lastbuttons & pad3) ? (
event($x90,note4,vel4);
event($x80,note4,0);
);
(buttons & pad4) && !(lastbuttons & pad4) ? (
event($x90,note5,vel5);
event($x80,note5,0);
);
);

What I thought was odd was that the first statement was including the select button as part of what would make the whole statement execute. So I made the code look like this:

//(buttons & pads_hit) && !(buttons & select_button) ? (
(buttons & pad1) && !(lastbuttons & pad1) ? (
event($x90,note2,vel2);
event($x80,note2,0);
);
(buttons & pad2) && !(lastbuttons & pad2) ? (
event($x90,note3,vel3);
event($x80,note3,0);
);
(buttons & pad3) && !(lastbuttons & pad3) ? (
event($x90,note4,vel4);
event($x80,note4,0);
);
(buttons & pad4) && !(lastbuttons & pad4) ? (
event($x90,note5,vel5);
event($x80,note5,0);
);
//);

Notice the first and last line are commented out. Now each of the drum pads work. And with current assignments in the script, I get the snare on the left-most pad, the high-hat on the next pad, a tom on the next pad and a cymbal on the right-most pad.

It would be easy to change the assignments to use different instruments, but for now, I'm happy. I got it figured out.

I might add, too, that I'm not using anything external to map a pad to a keyboard character, like Joy2Key, and I don't need to make sure the virtual keyboard is visible to get the drum kit to work.

I hope others coming along can benefit from my discovery.
__________________
Recording gear:
Focusrite Saffire 6 USB
MXL 990/991 condenser mics
rhancox is offline   Reply With Quote
Old 12-13-2011, 04:23 AM   #23
FilGee
Human being with feelings
 
Join Date: Dec 2011
Posts: 2
Default XBOX 360 RockBand Drum Kit & REAPER Working

Right after much clicking,Thinking and tweaking i've finally got this working the way i want Here's what i've used...

Windows 7 Ultimate SP1 x64
REAPER 4.3.1
ToonTrack EZDrummer 1.3.1
ToonTrack Metal Machine EZX Addon Kit
MIDIYoke
Microsoft XBOX 360 PC Driver
XBOX 360 RockBand Kit

First I installed the XBOX Controller Driver i downloaded from here,

http://www.microsoft.com/hardware/en...er-for-windows

Make Sure you download and install the right driver for your Windows Version.

After installing that Plug In the Rockband kit and wait for the driver to connect.

I'm not sure if it's needed but next i installed MIDIYoke for Windows NT
from here,

http://www.midiox.com/index.htm?http....com/myoke.htm

Go to,
"C:\Users\USERNAME\AppData\Roaming\REAPER\Data\joy stick_midi"

*NOTE* where it says "USERNAME" change it to say whatever your Windows user account is called.

And make a new text document and call it "XBOX360 RockBand Kit & EZDrummer"
Open the text document then copy and paste the following text into it without the lines at the top and bottom.

*NOTE*

I Will explain how to change the MIDI mappings after this tutorial, For now just follow the rest of the steps.


----------------------------------------------------------------------------
// rockband drum input

// hold select and hit one of the 4 pads to select skill level

// TODO: xbox 360 values below



// buttons (bitmask), numbuttons (valid bits in buttons)
// systime (time in seconds)
// axis(x), numaxis (number actually supported)
// pov(x), numpov, pov(x) > 360 if not pointing

@submode XBOX360 RockBand Kit & EZDrummer Ride
@submode XBOX360 RockBand Kit & EZDrummer HiHat


(pov(0) == 180) ? (
TARGET_VEL = 40;
);
(pov(0) == 0) ? (
TARGET_VEL = 100;
);

// TODO need to correct these for xbox
kick_button = 16;
pads_hit = 1024;
select_button = 256;
pad1 = $x4;
pad2 = $x8;
pad3 = $x1;
pad4 = $x2;


padmask = pad1|pad2|pad3|pad4;



vel1=vel2=vel3=vel4=vel5=127;
// output config

(submode & 1) ? (
note1 = 36; // kick
note2 = 49; // cymbal
note3 = 33; //snare
note4 = 43; // tom
note5 = 42; // hh

) : (

note1 = 36; // kick
note2 = 49; // cymbol
note3 = 33; // snare
note4 = 43; // tom
note5 = 51; // ride cymbol
//note5 = 48 + 2; // perc

// vel5 = 50;

);


(buttons & kick_button) && !(lastbuttons&kick_button) ? (
event($x90,note1,vel1);
event($x80,note1,0);
);


(buttons & pad1) && !(lastbuttons & pad1) ? (
event($x90,note2,vel2);
event($x80,note2,0);
);
(buttons & pad2) && !(lastbuttons & pad2) ? (
event($x90,note3,vel3);
event($x80,note3,0);
);
(buttons & pad3) && !(lastbuttons & pad3) ? (
event($x90,note4,vel4);
event($x80,note4,0);
);
(buttons & pad4) && !(lastbuttons & pad4) ? (
event($x90,note5,vel5);
event($x80,note5,0);
);



lastbuttons=buttons;

----------------------------------------------------------------------------

Click "File/Save" then close the text document



Next open REAPER then create a new VSTi Track with ToonTrack EZDrummer and Load the Metal Machine Kit. (
This will works for every EZDrummer kit but this just happens to be the kit that i'm using at the moment)

Now click the red button labelled "Record Arm/Disarm" so that it's lit up.
This will enable the MIDI connection for recording.

Next on the same track click the "Record Monitoring: OFF" so that it says "Record Monitoring: ON"

Now in REAPER click "Options/Preferences..." In the left side panel of the "REAPER Preferences" Window find and Click "MIDI Devices"

Under the top half of the "MIDI Hardware Settings" window click the button labeled "ADD Joystick MIDI..."

In the "Joystick->MIDI" window you'll see 2 dropdown box's, In the dropdown box next to "Device" click and select your RockBand Kit. Mine says "Controller (Harmonix Drum Kit for xbox 360)"

In the next dropdown box next to "Processing script:" click and select "XBOX360 RockBand Kit & EZDrummer.txt"

Under that next to "Processing Script" you will notice that there are 2 options. These are the 2 presets i scripted. The first preset will set the MIDI mapping for the RockBand kit to the following.

Red Pad = Ride Cymbol Edge
Yellow Pad = Snare
Blue Pad = Crash Cymbol
Green Pad = Floor Tom


The second preset will set the MIDI mapping for the RockBand kit to the following.

Red Pad = Closed HiHat
Yellow Pad = Snare
Blue Pad = Crash Cymbol
Green Pad = Floor Tom

Basically the presets alternate between Closed HiHat and Ride Cymbol.
This is how i like the kit to be setup.

Anyway, Choose the forst preset called,
"XBOX360 RockBand Kit & EZDrummer Ride" as this is the 1st preset in the list.

Then click the "Reload Script" button & click "Close" "Apply" "OK"

You will need to click the "Reload Script button Everytime after changing presets or after loading a new script.


Now on your EZDrummer VSTi track (Bottom Middle of the track) click the "Input" dropdown box and go to "Input:MIDI/All MIDI Inputs" and select "All Channels"

Try the RockBand Kit Kick Drum you should have sound Now.

If you don't then either you did something wrong, Go back and follow the steps again, Or EZDrummer has'nt finished loading samples yet.

I'll type up a tutorial on how to change the what drum sounds are being triggered in REAPER 4/EZDrummer and post it on this thread a bit later. so keep an eye out. It took me a while to figure this out but now i can create my own scripts aswell as drum mapping using this method. You just need to sit with it and keep trying until it suddenly makes sense, That's how it happened for me and my RockBand Kit works sweet now. I also add EZMix with the "BSToms" preset from the "Metal" Presets pack or the "Super Drum Compression" Preset from the "Rock" Preset pack. These are the best presets i've found that sound really good with this kit.

I've included the "XBOX360 RockBand Kit & EZDrummer.txt" REAPER Joystick MIDI Script pasted above so there's no confusion about it.
Just download the attachment and copy the
"XBOX360 RockBand Kit & EZDrummer.txt"
into,

"C:\Users\USERNAME\AppData\Roaming\REAPER\Data\joy stick_midi"

*NOTE* where it says "USERNAME" change it to say whatever your Windows user account is called.
Attached Files
File Type: txt XBOX360 RockBand Kit & EZDrummer.txt (1.7 KB, 311 views)
FilGee is offline   Reply With Quote
Old 12-13-2011, 09:50 AM   #24
FilGee
Human being with feelings
 
Join Date: Dec 2011
Posts: 2
Default REAPER 4 EZDrummer MIDI Map for RockBand Drums

I made this Drum MIDI Map using REAPER 4.1.3 on the PC and it's for ToonTrack EZDrummer's Metal Machine Kit.
The map should be compatable with all EZDrummer expansion Kits [EZX] the map here is based on the Metal Machine Kit as this was the kit i used to do it.

There are 2 presets that switch between the HiHat and Ride Cymbol for convenience.

Below is the editible part of the REAPER RockBand MIDI script.
for egsample,
note1 = 36; // kick

"note1" means pad 1
"= 36;" means the MIDI key number of the drum sound to be triggered by this pad.
"// kick" means that this midi mapping is a kickdrum (for your reference)

You can find the numbers that trigger different drums in the different EZDrummer kits by looking at the "EZX-Keys.pdf" file that came with any EZX EZDrummer expansion kits you have installed.

For instance if you have the "Drumkit From Hell" installed then you will find this .pdf at,
"C:\Program Files\Toontrack\EZDrummer\EZX_dfh\EZX-Keys.pdf"

There is also a default EZDrummer Midi Keys Map .jpg that's installed with the EZDrummer VSTi called "EZKeys.jpg"
you can find this .jpg here,
"C:\Program Files\Toontrack\EZDrummer\HelpMenu\EZKeys.jpg"




================================================== ========================
vel1=vel2=vel3=vel4=vel5=127;
// output config

(submode & 1) ? (
note1 = 36; // kick
note2 = 49; // cymbal
note3 = 33; //snare
note4 = 43; // tom
note5 = 42; // hh

) : (

note1 = 36; // kick
note2 = 49; // cymbol
note3 = 33; // snare
note4 = 43; // tom
note5 = 59; // ride cymbol
================================================== ========================

To make changes to this script and alter the drums that are triggered by the different pads on the RockBand Kit you will need to refer to the EZKeys.jpg included with the ToonTrack EZDrummer VSTi found here,

[32Bit Windows]
"C:\Program Files\Toontrack\EZDrummer\HelpMenu\EZKeys.jpg"

[32Bit on 64Bit Windows]
"C:\Program Files (x86)\Toontrack\EZDrummer\HelpMenu\EZKeys.jpg"

[64Bit on 64Bit Windows]
"C:\Program Files\Toontrack\EZDrummer\HelpMenu\EZKeys.jpg"

Make changes by looking up the midi key number of the drumkit sound you want to change a particular pad to.
Enter the chosen drum sound number replacing the one found with the new one then click "File/Save" to save the text document. If you editing from inside REAPER then you will need to click the "Reload Script" button to hear the changes.






This part at the top

================================================== ========================
vel1=vel2=vel3=vel4=vel5=127;
================================================== ========================

Means all triggers 1,2,3,4 and 5 (Kick Pedal and The 4 Pads on The RockBand Kit are set to hit with a velocity of "127"
127 is the highest setting and the hardest the sampler will hit the drum kit peices.




Then the first part is for the preset settings "XBOX360 RockBand Kit & EZDrummer HiHat"

================================================== ========================
// output config

(submode & 1) ? (
note1 = 36; // kick
note2 = 49; // cymbal
note3 = 33; //snare
note4 = 43; // tom
note5 = 42; // hh

) : (
================================================== ========================




And the second part Is for the "XBOX360 RockBand Kit & EZDrummer Ride" preset


================================================== ========================
note1 = 36; // kick
note2 = 49; // cymbol
note3 = 33; // snare
note4 = 43; // tom
note5 = 59; // ride cymbol
================================================== ========================


Alter the numbers to your chosen kit peices from the EZKeys.jpg.
These MIDI Key Map scripts are saved to,

"C:\Users\USERNAME\AppData\Roaming\REAPER\Data\joy stick_midi

*Note*
Replace "USERNAME" in the pathname above with the name of YOUR Windows User Account.

and then are loaded when the RockBand Kit is connected and can be accessed by going to,

"Options/Preferences.../MIDI Devices/" then click the "Add Joystick MIDI..." button and add your RockBand Kit. It will be called "Harmonix" because that's the name of the company that makes the RockBand Drum Kit controller.

Once added you can right click the device and choose "Edit Joystick Definition" In the "Joystick->MIDI" Window under "Device" choose the RockBand Kit then the "Processing Script" then "Script Mode"
(There are 2 modes with this script "HiHat and Ride Cymbol") If you want to access the script for editing then click the "Edit Script" button. Refer back to this document and the EZKeys.jpg for info on changing the drum sounds.

I have included a few attachments.

"XBOX360 RockBand Kit & EZDrummer.txt"
This is the complete working REAPER EZDrummer MIDI mapped script with 2 presets.

"EZKeys.jpg"
This is the EZDrummer MIDI map Reference so you can find then enter the numbers of your chosen drum sounds to trigger.

"EZX Metal Machine-Keys.bmp"
This is the EZDrummer Metal Machine MIDI Map reference the included script is based on the Metal Machine kit as this is the kit i am using at the moment and the kit i used alongside the Joystick MIDI Script.

And a few more MIDI maps from the Toontrack EZX And a Metal Foundry SDX Superior Drummer map.
I have more but i'll have to find a way to attach more because it would only let me add a few attachments. Nevermind they cover the most popular kits including the default mapping of the Pop/Rock Kit.

REAPER 4.3.1 x64 Joystick MIDI Key Maps for EZDrummer with Metal Machine Kit VSTi for use with the XBOX 360 RockBand Drumkit.


TOONTRACK EZX & SDX KITS MIDI KEY MAP IMAGES

I've added these direct links because the attachment limit was too low and the one's i did upload where blurry when you opened them. These are a much higher resolution.


http://img15.**************/img15/4580/ezkeys.jpg

http://img710.**************/img710/2...achinekeys.jpg

http://img829.**************/img829/2...xkeyspage1.jpg

http://img834.**************/img834/2...cezxkeysjp.jpg

http://img269.**************/img269/7...xkeyspage1.jpg

http://img851.**************/img851/3...ezxkeyspag.jpg

http://img11.**************/img11/454...ekeyspage1.jpg

http://img248.**************/img248/4...xkeyspage1.jpg

http://img14.**************/img14/990...xkeyspage1.jpg

http://img683.**************/img683/3...xkeyspage1.jpg

http://img600.**************/img600/2...xkeyspage1.jpg

http://img545.**************/img545/7...xkeyspage1.jpg

http://img846.**************/img846/5...dxkeyspage.jpg

http://img205.**************/img205/2...ysdxkeyspa.jpg

http://img196.**************/img196/5...xkeyspage1.jpg


By FilGee [13.12.2011]
Attached Images
File Type: jpg EZX Metal Machine-Keys.jpg (34.5 KB, 1023 views)
File Type: jpg EZX_dfh EZX-Keys_Page1.jpg (40.2 KB, 2248 views)
File Type: jpg EZX_MetalHeads EZX-Keys_Page1.jpg (29.2 KB, 839 views)
File Type: jpg SL-MetalFoundry SDX-Keys_Page1.jpg (52.1 KB, 1934 views)

Last edited by FilGee; 12-13-2011 at 10:25 AM. Reason: missed something out
FilGee is offline   Reply With Quote
Old 03-29-2012, 09:01 AM   #25
ewenflint1
Human being with feelings
 
Join Date: Mar 2012
Posts: 16
Default Rockband drums

I tried the Rockband drums script, and it didn't work. The input line was flashing but there was no sound, although the VMK did make sounds. I recorded some drum hits, and checked my recording in the MIDI editor; it seems that the MIDI events are all 0 length. I think this is because the script sends a MIDI note ON immediately followed by a note OFF. The generic script only sends a note off the next time round the loop, so all events have some length. I suspect the Rockband script might work on a slow computer. I have written a drum script based on the generic script and it works fine; in fact I have several versions: one for 4 pads and a kick pedal, one for 4 pads and a hihat pedal, which switches between open and closed hats, and one with randomized velocity.
ewenflint1 is offline   Reply With Quote
Old 11-17-2013, 05:28 AM   #26
AlexSt
Human being with feelings
 
Join Date: Nov 2013
Posts: 1
Default Xbox 360 joystick MIDI script

FilGee, thanks to tutorial!
here's my script for Xbox360 joystick and EZX Metal Machine. All adjustable parameters are highlighted in a separate section.
Mapping on the picture:
Code:
/* Config for XBOX360 as Reaper Midi Joystick. 17.11.2013 */
// buttons (bitmask), numbuttons (valid bits in buttons)
// systime (time in seconds)
// axis(x), numaxis (number actually supported)
// pov(x), numpov, pov(x) > 360 if not pointing
// event(msg1,msg2,msg3) to send events

// memory map. don't change.
oldaxis		= 100;
buttons_codes	= 200;
buttons_notes	= 300;
pov_codes	= 400;
pov_notes	= 500;
//********************* CONFIG (change here) ********************
buttons_count = 6;
buttons_codes[0] = $x4;	/* blue X   */ buttons_notes[0] = 42; // closed HH
buttons_codes[1] = $x1;	/* green A  */ buttons_notes[1] = 49; // Crash A
buttons_codes[2] = $x2;	/* red B    */ buttons_notes[2] = 57; // Crash B (Sustained)
buttons_codes[3] = $x8;	/* yellow Y */ buttons_notes[3] = 46; // OpenHH
buttons_codes[4] = $x10;/* LB       */ buttons_notes[4] = 36; // kick
buttons_codes[5] = $x20;/* RB       */ buttons_notes[5] = 36; // kick

pov_count = 4;
pov_codes[0] = 0;	/* up    */ pov_notes[0] = 33; // Snare (left)
pov_codes[1] = 90;	/* right */ pov_notes[1] = 43; // floorT head
pov_codes[2] = 180;	/* down  */ pov_notes[2] = 41; // floorT
pov_codes[3] = 270;	/* left  */ pov_notes[3] = 45; // Rack T2

//******************* END CONFIG ********************
hasrun ? (
  (oldbuttons != buttons) ? (
    i=0;
    loop(buttons_count,
        (buttons & buttons_codes[i]) != (oldbuttons & buttons_codes[i]) ? (
        event($x90, buttons_notes[i], (buttons & buttons_codes[i]) ? 127 : 0);  
      );
      i+=1;
    );
  ); // button states

LT = axis(2);
oldaxis[2] != LT ? (
	(abs(LT - oldLT) >= 0.4) ? (
		event($x90, buttons_notes[4],  127);
		oldLT = LT;
	)
); // LT states

(oldpov != pov(0)) ? (
    i=0;
    loop(pov_count,
        (pov(0) == pov_codes[i]) ? (
        event($x90, pov_notes[i], (pov(0) < 360) ? 127 : 0);  
      );
      i+=1;
    );
); // pov states

) : hasrun=1;

oldbuttons = buttons;
oldaxis[2] = axis(2);
oldpov = pov(0);
AlexSt is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:40 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.