" THE   ZERO   GUIDE "

Now available: the always titillating "FRETBUZZ" software! **NEW**

> INTRODUCTION
> CHAPTER 0: HARDWARE OVERVIEW
> CHAPTER 1: ACQUIRE A COMPUTOR
> CHAPTER 2: CHOOSE YOUR AXE
> CHAPTER 3: GET A PLAYSTATION-TO-USB ADAPTER
> CHAPTER 4: TEST CONTROLLER INPUT
> CHAPTER 5: SOFTWARE OPTIONS
  > SECTION 5.1: DOWNLOAD "FRETBUZZ" SOFTWARE
    > BONUS 5.1a: THE FRETBUZZ SCALE
  > SECTION 5.2: USING MAX/MSP
  > SECTION 5.3: THE MIDI APPROACH
> CHAPTER 6: LOW LATENCY AUDIO HARDWARE
> CHAPTER 7: REAL-TIME PERFORMANCE OPTIMIZATION
> CHAPTER 8: AMPLIFICATION / ANALOG EFFECTS
> CHAPTER 9: NOW FORM A BAND
> APPENDIX A: FOOT PEDAL DESIGN FOR XBOX360 AXE

THE MIDI APPROACH

MIDI is a common protocol that has been around since the early 80's, and a lot of software and music hardware has been designed to send and receive MIDI signals. In other words, if you've got a hardware sampler or synthesizer, or a software synth that you'd like to control with the GH controller, well you might want to read on.

So, the first step is to convert the Game Controller signals into MIDI signals in some way. I found a lot of freeware / shareware programs designed to do just that. Three programs I'd like to mention are LiveSticks, MIDI Driver, and Total Game Control. The one I found most intruiging for the specific goals that I had in mind was LiveSticks.

LiveSticks was created to allow someone to use their video game controller and PC to generate and manipulate MIDI signals. It even came with pre-designed templates for use with PlayStation 2 controllers! Also, the program lets you design your own custom device configuration, and so I did that for 2 parallel GH controllers:


I imported a cheezy JPG of two GH controllers and assigned each button
to a separate MIDI note-on event.


Here we can control the specific assignment of each button.
Notice the different types of MIDI messages you can assign
to each button (note number w/ velocity, pitch bend, etc).

One strong point of LiveSticks software is in using analog joysticks to sweep across a 2-byte MIDI parameter range. This would be perfect for applying the whammy bar to the pitch bend MIDI parameter (Xbox360 controllers only).

Anyway, once you assign particular MIDI events to each button on the controller, you'll need to send the MIDI signals somewhere to be interpreted and used to generate sound. That's up to you! If you're going to be sending these MIDI signals to another program on your computer, then you may need to install an Internal MIDI port driver - sometimes called a MIDI loopback device. I found a simple, fast, freeware driver called LoopBe. I think some German wizard made it, and it works nicely.

Last thing to note: when using LiveSticks and LoopBe AND Max/MSP as my sound synthesis software, I was seeing a higher latency - around 20ms. This isn't a deal-breaker for some musical applications, but it's not as good as the very low latency I got by using Max/MSP alone (thus bypassing the MIDI conversion steps). I don't know exactly where the added latency was incurred, so I won't point a finger at any one piece of software. I originally thought that it could have to do with USB 1.0 polling rates - but after a LOT of research and messing around with USB polling rate adjustments, I determined that it wasn't the culprit. Just be forewarned - I couldn't get a better latency than 20ms with the setup I described above. Maybe someone out there in the world wide webisphere has some light to shed on this! If so, please do!

FINAL NOTE: As of 6/3/2007 I have decided to go full-on with the Max/MSP route, as it's far superior to the above MIDI applications IMHO. I don't plan to provide any more insight or information related to this so-called "MIDI Approach". To those who want to try it, I wish the best of luck to you.

NEXT CHAPTER : LOW LATENCY AUDIO HARDWARE


Tip jar:

Web sight created by SuperSight™ 2.0 web sight maker program
©2007 the guitar zeros™® LLC, s-corp Inc.