GameTrak is a controller that was used by a few games on Playstation 2, and later also PC, and Xbox.
See images, but more interestingly, look at videos like
- Game Trak Theory
- Ge Wang: The DIY orchestra of the future
- Line of voice and string －for Game-trak controller, Kyma system.
Device internals are fairly simple, two copies of:
- a wire spool (middle area) that rotates a potentiometer as it is pulled out
- ...physically threaded through the middle of an analog joystick (on the sides) much like those in gamepads.
- Which is one pot per axis
All pots are 5kOhm.
There's also a chunky weight that keeps the thing on the floor.
The IC on the board is epoxy-blob'd, so presumably custom.
While PS2, PC, and XBox variants all look the same and are all connected through USB, they are not quite interchangeable out of the box.
Some revisions can be easily tweaked, others not.
All boards are USB, so all are detected fine on a PC (name, HID, layout).
...but Rev 1 is PS2-only will in that it will not seem to output any values on PC. (I've always assumed such incompatibility between consoles was intentional, and at data level rather than USB level).
....while Rev 2 can be bridged for PS2, Xbox, and PC - it's even silkscreened as such.
They probably developed it for PS2 initially, then decided they wanted to release it for other platforms.
Interfacing one with software
If you have a rev2, then you take a few minutes to solder-bridge it for PC and you're ready.
...ready for for anything that takes joystick style input, that is, which e.g. most music production software allows in some way or other, be it any DAWs that can take joystick-like input, or software like ChucK or Kyma or Max.
I also have a rev1.
It's presumably possible to create a PS2-gametrak-specific driver to deal with the different format, but not really a convenient solution in that most platforms do not make custom drivers very easy to use (and it being HID doesn't actually make that easier).
So this became a DIY project instead:
Your own hardware
The potmeters are all 5kOhm, so putting them across Vcc and Gnd is fine (consumers 1mA each at 5V).
Wiring the middle to an ADC doesn't even need any extra components. You want some board with an ADC that muxes to at least 6 pins (because six pots). Which describes most arduino-style boards, though you probably want a Nano or Micro (or some other small board - Teensy, ESP, blue pill) to fit it into the case.
You can go a more custom if you want. For example, this project made a PCB (for a PIC microcontroller) and the same sized board and the same sockets as the original, so that you don't even need to cut anything.
There's a number of similar projects and plans you can find around.
The things you want to plan up front:
- how and where to fasten the microcontroller
- and how to expose the USB
- tension relief on the cable you have/add
- what you want to output - serial MIDI, USB-MIDI, CV, or such.
- I went for
- serial MIDI because I didn't have a ATmega8U2 style board on hand
- and prepared for CV
- could be PWM-based
- could even be basically (buffered, voltage-divided and possibly shifted versions of) the pot outputs themselves
Generic output towards a DAW would probably map each axis to its own CC, so that you can decide on the DAW end what to do with it.
I wanted it to be more of an instrument that doesn't need heavy DAW-internal mapping, so experimented with
- one side controlling
- which note is being played (remembered for next note trigger)
- quantizing that to different scales (remembered for next note trigger)
- pitch bending (sent as CC)
- the other side
- triggering notes pluck-style (sent as NoteOn), or bow-style (sent as CC)
- have otherwise unused axes send CC
It turns out that imitating motions of a real instrument makes a lot more intuitive sense than six degrees of freedom that do seemingly arbitrary things.
TODO: play with the code more and put it on github