The Infusion Systems ICubeX is a digitizer that can be used to convert analog sensor data into a MIDI data stream. The ICubeX can be used in "Host" mode, where a computer recieves the sensor values via MIDI System Exclusive messages and does its own processing (and output) based on the sensor data. It can also be used in "Standalone" mode, where a computer is used to configure the digitizer, after which it can be unplugged from its connection to the computer, and will do the mapping of sensor inputs to MIDI data by itself.
icubeis a relatively small application for Linux that allows ICubeX users to program their digitizers from within Linux, and also acts as a sensor->MIDI mapping program.
icubeis a functioning program that can be used with an ICubeX. It currently only works in "Host" mode - it cannot be used to program the digitizer for "Standalone" use (this will hopefully work very soon). It can map sensor data into NoteOn/NoteOff, Program Change, Controller, PitchBend, Channel Pressure and Polyphonic Pressure messages. The NoteOn mode includes 3 variants: simple noteOn/noteOff based on a sensor threshold, noteOnWithPressure, in which sensor changes after a note is turned on but before its turned off are converted to channel pressure messages, and noteOnToggle, in which a noteOn is sent when the sensor first exceeds a threshold, and turned off the next time it exceeds (not crosses) that threshold. That said, its also a very new program. There is a thread related bug during startup that will not arise if run under
gdb, making it hard to track down. I am sure there are other problems too. If you are not a C++ programmer, ICube is quite likely to be more hassle than its worth right now.
It turned out that I had a poor design for handling note-on/note off mappings that led to poor performance "feel". This has been dramatically improved. There were also some other small bugfixes.
I am trying to design a mapping system that would allow the various FSR sensors (touch, mini-touch, etc.) to be used as switches with set-and-stay-set behaviour rather than the current "return to zero" when all pressure/tension/flex is removed.
trace-outputvariable added to the config file, invert button and midichannel controls now operational.
icubeis currently available as a tarball (.tar.gz) file, in the same state that you'd end up with if you were using CVS. I intend to try to reduce the library dependencies in the near future. Its not right that such a simple program should have so many dependencies. You will need a set of my usual audio+MIDI development libraries, available (at this time, only via CVS) from the Quasimodo website. Specifically, you will need:
% sh ./autogen.sh % ./configure % make % make install-guileDATA % make install (optional)