OSC Address Subspace for Continuum Fingerboard

I've just got a half-size continuum fingerboard, and I'm now in the process of implementing basic Max patches for interpreting incoming MIDI so that it can be used to control sound processes as flexible as possible. It makes sense to do so using the OSC protocol. But before finishing of the patches I'm wondering if there are any standard practice for how to design the name space. The continuum transmit various MIDI messages (note on, CC, pitch bend) but converting into x-, y-, z-positions is fairly trivial. The fingerboard is multiphonic, able to keep track of up to 10 fingers at the same time. When using the data to control a polyphonic synth, it will be important to keep track of the various voices.

Alexander Refsum Jensenius has pointed me in the direction of the article "Managing Complexity with Explicit Mapping of Gestures to Sound control with OSC" by Wright et. al. Based on the discussions of the OSC address subspace for the wacom as well as the hexaphonic guitar processing, and my own reasoning, the following namespace seems practical.

/n/x - x position for the nth voice, 1≤n≤10
/n/y - Y position for the nth voice
/n/z - Z position (pressure) for the nth voice
/n/active - boolean value to indicate if the nth voice is active or not. 1 when a finger touch the fingerboard, 0 when it is removed form the fingerboard again>

The range for /n/y and /n/z can be scaled to [0,1], but for /n/x it makes more sense to keep the range equivalent to the (float) MIDI pitch values represented by the fignerboard.

My two questions are:

1) Do this name space seem reasonable?
2) Is there any central repository or online directory overview of patches for mapping various control interfaces to OSC in MaxMSP?

Alexander Refsum Jensenius has made OSC wrappers for several interfaces. The paper by Wright et al. seems to suggest that more patches do exist. Maybe it would be a good idea to try to gather them all in the same place instead of having them scattered over a wide range of libraries of 3rd part MaxMSP externals/abstractions?


Your address space seems

Your address space seems reasonable. I would add documentation about the semantics of the voice numbers - are they always numbered starting from 1 up to the current number of active voices? Or do they retain their identity over time with some kind of tracking scheme, so that /3 is assumed to be the same finger as /3 from a few milliseconds ago?

The central repository of controller/OSC mapping/wrapping patches (for Max/MSP and other systems) seems great to me; I'd like to see it hosted here on opensoundcontrol.org.


How do you add documentation

How do you add documentation about the semantics? The Continuum Fingerboard itself maintain track of up to ten simultaneous fingers, and assign them dynamically to 10 MIDI channels (1-9 and 12). I would simply map that to 1-10 so that it is easy to use with e.g. poly~ in Max or send to different MIDI channels on a synth.


Your post *does* document

Your post *does* document the semantics of what I was asking about, by saying that the 1-10 numbering comes from the Continuum itself and that the numbers are meant to represent "fingers".

Eventually I'd like to see a more formal way of describing the semantics of an OSC address space, but for now, simple textual descriptions like this will have to suffice.