Virtual Pipe Organ Projects
MIDI Matrix Encoder/Decoder
Our matrix encoder/decoder works with modified Allen consoles having up to three 11x6 or 8x8 matrix manuals and a pedal board. It operates up to 96 SAMs using the original Allen (MOS & ADC era) power supply and associated SAMs driver circuitry. The controller is the PIC32-based UBW32 from SparkFun. Communication with pistons, toe studs, and stop action magnets is handled via I2C using three or more Centipede Shield boards from macetech. There are eight analog inputs for expression pedals and console potentiometers, and a relay output to delay power to audio amplifiers via an external relay. There are six status LED outputs and an LCD port so that Hauptwerk status information can be displayed.
This encoder is unusual in that MIDI traffic is never strung out through a conventional MIDI 31,250 bps serial connection or daisy chained through additional encoders. This prevents the skewing of MIDI notes (who wants to play arpeggios?) as well as preventing additional latency caused by the daisy chaining of devices. While these delays may be tolerable in simple MIDI configurations they do eat away at the overall system latency mandating less audio buffering than might otherwise be desirable.
MIDI Bus Encoder/Decoder
The Bus Encoder is similar to the Matrix Encoder but adapted to read bus-style keyboards. The encoder connects to eight or more Shift In and Shift Out boards. Each Shift In board reads a single keyboard or up to 64 pistons or stops. A single Shift Out board sends data to 64 SAMs which activate 64 stop tabs or drawknobs. A typical configuration would be six Shift Ins and two Shift Outs handling 3 manuals, pedal, 64 pistons, 64 stops, status LEDs, up to 8 expression pedals or analog controls, and an LCD display.