One option for connecting the EEGsynth software to modular synth hardware is though our own open hardware Arduino-based USB to CV/Gate modules.
Another option is to use readily available commercial hardware, such as the Doepfer MCV4, A-190-2, A-190-4, Pittburgh Modular MIDI 3, or Kenton USB-Solo. We decided to give it a try with the Shuttle Control from Endorphin.es.
The Shuttle Control is a very versatile Eurorack compatible module that connects (over USB) to a computer. MIDI commands are used to control the 16 analog outputs, which support -5 to +5 Volt. It comes with 16 presets (each containing the mapping between MIDI inputs and the 16 voltage outputs), which can be edited with a web-based editor.
So far so good. The confusion starts when trying to make sense of the (very limited) PDF manual. It lists that each of the channels can be configured to be controlled in about 17 different ways. Trying to map this onto the MIDI messages, only the Pitch 1V/oct, Pitch 1.2V/oct and the Pitchbend options make sense to me.
For Pitch 1V/oct and Pitch 1.2V/oct, the following setting makes sense when sending a “note_on” message where note is from 0 to 127, velocity is larger than 0, and the MIDI channel is used to select the corresponding CV output.
The problem with the Pitch 1V/oct and Pitch 1.2V/oct is that only 7 bit resolution is available, i.e. the voltage changes from -5 to 5 in 128 steps, which means that the smallest step size is 78 mV.
Another one that I managed to get to work is the Pitchbend setting. In mido/portmidi this is realized by sending a “pitchwheel” command with a pitch value between -8192 and 8191. Again the MIDI channel is used to select to which of the CV outputs it applies.
What is really nice about the web interface is that (in Chrome, not in Safari) you can not only load/save the settings, but also directly write the settings to the Shuttle Control through WebMIDI.
Given more time with the Endorphin.es Shuttle Control, I might find out to use more of its features. For now I will only use the Pitchbend setting to output EEGsynth control values from -5 to 5 Volt.