forked from rbdrum2midi/rbdrum2midi
-
Notifications
You must be signed in to change notification settings - Fork 0
Use your RockBand and Guitar Hero game drumkits as midi controllers
License
sakamoto-neko/rbdrum2midi
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Rockband Instrument Midi Driver by Randommatt and ssj71 Version 0.7 Installation: Requires libusb-1.0, libjack, and libasound2 dev packages to compile and runtime libraries to run This project now uses cmake, so to install do: mkdir build cd build cmake .. sudo make install or if you prefer to compile manually: cd src gcc *.c -o rbdrum2midi -lasound -lusb-1.0 -ljack you will have to execute this locally (or copy the binary to /usr/bin) when using this method.. Execution: either run the executable localy: src/rbdrum2midi (you may have to run this as root if you do not have the correct usb permissions; see notes below) or run from terminal: rbdrum2midi Tested Drumkits: -PS3 Rockband pro drumkit -PS3 Guitar Hero world tour kit -XBox 360 Guitar Hero world tour kit -PS3 Rockband 1 drumkit -XBox 360 Rockband 1 drumkit If your kit isn't listed theres a chance it will still work. If it is a rockband kit try the option '-rb1'.If it doesn't we will happily add support for your kit if you can build and run the commands: lsusb /rbdrumkit -dbg Hit each drum a few times and copy and paste the output to a new issue in github https://github.com/rbdrum2midi/rbdrum2midi/issues Other Tested Instruments: -PS3 Rockband wireless guitar -Xbox 360 Rockband wired guitar -Xbox 360 Rockband3 wireless keyboard (-xbkey argument) Usage: connect rbdrumkit wireless dongle (PS3 works, Wii should, xbox probably won't), start rbdrum2midi. This will create an ALSA midiport, start the jack audio server and Hydrogen (or your drum program of choice). If you are using qjackctl, under the alsa tab of the connection window, connect "Game Drumkit Client" to Hydrogen. You may also need the a2j bridge. run with the '-h' option to see the full useage. the midi notes are mapped as follows RB3 drumkit default midi mapping: kick pedal 1: midi note 36 kick pedal 2: hihat mode (controlling yellow cymbal) red pad : midi note 37 yellow pad: midi note 38 yellow Cymbal: midi note 41 when kick2 is down, 42 when it is up. blue pad: midi note 39 blue Cymbal: midi note 43 green pad: midi note 40 green Cymbal: midi note 45 RB1 drumkit default midi mapping: kick pedal : midi note 36 red pad : midi note 37 yellow pad: midi note 38 blue pad: midi note 39 green pad: midi note 40 Guitar Hero drumkit default midi mapping: kick pedal : midi note 36 red pad : midi note 37 yellow Cymbal: midi note 41 blue pad: midi note 39 Orange Cymbal: midi note 43 green pad: midi note 40 This corresponds to the setup for the Hydrogen YamahaVintageKit (note that you can easily change the mapping to GM using the command line arguments). Note that only the pro-drumkit and Guitar Hero drumkits have velocity information. This is a hardware limitation. With defaults only rockband drumkits have a hihat pedal as other drumkits only have a single pedal. However the single pedal on the other drumkits can become the hat pedal through the command line arguments. Hihat mode changes the hihat drum (default yellow cymbal) midi note when the pedal is opened or closed You can set the 2 midi values with args -hto and -htc as well as which drum and pedal control the hihat. The pedal can also play a sample by assigning the hat pedal a midi note value (i.e. -htp bkb -bkb 44).i Some samplers will play the appropriate hat sample depending on whether the hat pedal note has sent a note off. To do this (disable the note switching) assign a 0 to the hat pedal (arg -htp 0) and assign the pedal the note you wish (i.e. -bkb 44). This interface was concieved as the simplest while maintaining flexibility for these different methods. To fix usb permission problems create the file 90-drumkit.rules with the following line: SUBSYSTEM=="usb", ATTR{idVendor}=="12ba", ATTR{idProduct}=="0210", GROUP="audio", MODE="0664" SUBSYSTEM=="usb", ATTR{idVendor}=="12ba", ATTR{idProduct}=="0120", GROUP="audio", MODE="0664" SUBSYSTEM=="usb", ATTR{idVendor}=="1bad", ATTR{idProduct}=="0003", GROUP="audio", MODE="0664" SUBSYSTEM=="usb", ATTR{idVendor}=="1bad", ATTR{idProduct}=="0005", GROUP="audio", MODE="0664" this will work if your linux distro has an "audio" group and your user is a member, otherwise substitute "audio" with "users". Place this file in /etc/udev/rules.d/ and reload the udev deamon. If you are using the JACK driver, it is important that you get these permissions right. Running the program as super will not allow you to see the JACK dbus daemon unless you ran JACK as super. The original programs' copyrights, disclaimers and limitations still hold. ======OLD README CONTENT======= (left for historical reasons) Version 0.4 Complete code rewrite for tidyness and modularity, for RB1 kits the option is now -rb1 for both xbox and ps3. for more usage instructions: rbdrum2midi -h Since Ubuntu 12.04 and other "newer distros" regular cmmi may not work so please try the following: gcc main.c -o rbdrum2midi -lasound -lusb-1.0 then running the output program using ./rbdrum2midi For addition information on useage (such as assigning the midi values), run it with the -h option. If your drumkit doesn't seem to work right, we probably haven't had anyone to help us implement it yet. You can help us by sending us the output of lsusb and running ./rbdrum2midi -dbg (you will probably need to do it as root (sudo) unless you do the workaround found below). Hit each drum a couple of times and send us the output telling us which signals correspond to which drum. Please post these results on the discussion board of our sourceforge project at http://sourceforge.net/projects/rbdrum2midi/ and we'll do our best to accommodate you quickly. See previous versions for more detailed instructions. Version 0.3 Support for rb1 drumkits has been added. Usage: xbox rb1 kit rbdrum2midi -rb1x PS3 rb1 kit rbdrum2midi -rb1p Problem with dynamic velocity detection for RB2 and RB3-pro kits is solved. Version 0.2 Added support for Guitar Hero: World Tour drumkit for the PS3, xbox and wii support is now possible for Rockband drumkits (in the sence that now they may actually work). Guitar Hero drumkit midi mapping: kick pedal : midi note 36 red pad : midi note 37 yellow Cymbal: midi note 41 blue pad: midi note 39 Orange Cymbal: midi note 43 green pad: midi note 40 Xbox and wii RB drumkits should get recognized by the program, but if the signalling is different from the PS3 kits, they won't work or at the verry least the mapping will be different. Unfortunately I don't have xbox and wii hardware to test with, so this is the best I can do. To use rbdrum2midi without root priviledges create a rules file in /etc/udev/rules.d/ file 90-drumkit.rules: SUBSYSTEM=="usb", ATTR{idVendor}=="12ba", ATTR{idProduct}=="0210", GROUP="audio", MODE="0664" SUBSYSTEM=="usb", ATTR{idVendor}=="12ba", ATTR{idProduct}=="0120", GROUP="audio", MODE="0664" SUBSYSTEM=="usb", ATTR{idVendor}=="1bad", ATTR{idProduct}=="0003", GROUP="audio", MODE="0664" SUBSYSTEM=="usb", ATTR{idVendor}=="1bad", ATTR{idProduct}=="0005", GROUP="audio", MODE="0664" this will work if your linux distro has an "audio" group and your user is a member, otherwise substitute "audio" with "users". Version 0.1 This userland program uses libusb to gain access to the velocity sensitive data in the rockband 3 wireless usb prodrum controller (with cymbals) and use it as an ALSA MIDI controller. It has a low latency setup so that it can give a fairly good drumming experience. This is an evolution of the Rockband 2 Drum Driver of which I have attached the original README. Installation: Requires libusb and libasound2 dev packages to compile and runtime libraries to run It follows the ussual cmmi: ./configure make make install Execution: either run the executable localy: src/rbdrum2midi (you may have to run this as root if you do not have the correct usb permissions) or run from terminal: rbdrum2midi Usage: connect rbdrumkit wireless dongle (PS3 works, Wii should, xbox probably won't), start rbdrum2midi. This will create an ALSA midiport, start the jack audio server and Hydrogen, in the connection window under the alsa tab connect "129:PS3 Joystick Client" to Hydrogen. the midi channels are mapped as follows RB3 drumkit midi mapping: kick pedal 1: midi note 36 kick pedal 2: midi note 42 red pad : midi note 37 yellow pad: midi note 38 yellow Cymbal: midi note 41 blue pad: midi note 39 blue Cymbal: midi note 43 green pad: midi note 40 green Cymbal: midi note 45 This corresponds to the setup for the Hydrogen YamahaVintageKit. To fix usb permission problems create the file 90-PS3-drumkit.rules with the following line: SUBSYSTEM=="usb", ATTR{idVendor}=="12ba", ATTR{idProduct}=="0210", GROUP="audio", MODE="0664" place this file in /etc/udev/rules.d/ and reload the udev deamon. The original programs' copyrights, disclaimers and limitations still hold. Rockband 2 Drum Driver by Javantea Version 0.1 This userland program uses libusb to gain access to the velocity sensitive data in the rockband 2 wireless usb drum controller and use it as an ALSA MIDI controller. It has a low latency setup so that it can give a fairly good drumming experience. The official homepage: https://www.altsci.com/concepts/page.php?s=rockband2-drum&p=1 Copyright (C) 2008 Joel R. Voss This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
About
Use your RockBand and Guitar Hero game drumkits as midi controllers
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 78.4%
- Makefile 16.6%
- CMake 5.0%