New Guitar Hero controller with MIDI

    Jan 09 2011 | 12:04 am
    Wonder if anyone's tried this out?
    Finally they put MIDI on it...great news for hacking required!
    I wonder if each button on the frets sends a note, or if you have to strum to send it? If it could send one just by "hammering", then man, you would have a ton of controls...

    • Feb 20 2013 | 4:31 am
      After successfully translating the wireless binary code into MIDI from the Rock Band 3 Keyboard using [hi] (message me if you want the patch, haven't tested it on windows but it works great on Mac), I bought one of the wii Mustang guitars on Amazon and am working on doing the same thing but it is turning out to be quite a bit more complicated. It's not a straight forward binary code like the keyboard was, but I have to figure out some way to isolate specific patterns in the lists that are printed from hi after each button press, then once I can create a kind of matrix to map out what frets are currently being held, I can then use the string triggers (easy to figure out, just route lists 22-27 and their velocities (element two of list) for the six strings to trigger a noteout). My biggest problem is with the A and B strings, because their frets generate the same exact list in different ranges (with one exception that I explained in the comments section of my patch that I have copied below and that you can find in the patch that I have pasted here. I am trying to wrap my head around how to use max to decipher what frets are being held on what strings. I think this might be a job for javascript or maybe some C++ coding that is still slightly over my head. Could anyone take a look at the messages that are being printed to the max window from hi when I press and release each fret (1-17) starting on the low E string up to the high E. I copied the messages straight out of the max window and pasted them in comments at the far left of the patch and added spaces to show the on/off press and release of each fret in order. The first list to appear after every press/release and string pluck is 35 followed by a 4 digit number. I think I need some kind of script to group each of these separate actions and analyzing all the lists as they come in, and then generate a MIDI note number based on the current "tuning" of the strings. I know it looks a little scattered but I hope you can follow my comments and see how I have arranged the printed messages. Thanks!
    • Feb 20 2013 | 4:23 pm
      Anyone good with javascript know how to group together and analyze lists to produce a brand new list out of the [js] outputs? If you look at the printed "fret" data to the far left (now labeled by string), you can see how each new group of lists (separated by spaces to show button presses and releases) starts with a list in which 35 is always the first element. I need to group these together so I can analyze all the lists that come in with each button press and release, and use that information to deduce which fret is being pushed, then I can translate that into a new 2-element list (first element = string # 1-6 and second element being the fret number 0-17).
      As I said above, the troublesome strings will be the A and B strings, because the javascript will need to look for the presence of two lists in order to distinguish between frets 1-7 and 9-17). Not sure why the wireless data is set up like this, but at least there is a way to distinguish the different frets.
      Thanks, any help at all would be awesome... I'm completely new to scripting and this kind of data analysis is way too far over my head.
    • Feb 20 2013 | 4:24 pm
      my bad, here's the patch again with the js object towards the middle