On Sun, Mar 4, 2012 at 2:50 AM, Emanuel Rumpf <xbran(a)web.de> wrote:
Am 4. März 2012 11:14 schrieb J. Liles
<malnourite(a)gmail.com>om>:
On Sat, Mar 3, 2012 at 11:14 PM, Emanuel Rumpf
<xbran(a)web.de> wrote:
There should at least be an accepted, standardized
way for transmission of MIDI data over OSC !
I've started a draft:
http://wiki.linuxaudio.org/wiki/user/emrum/midi-osc-map
Yes, OSC is useless as it comes out of the box. So is TCP. So is
access to audio hardware. It's a transport mechanism. Look to
libmapper for a way to make it generally useful. I've implemented
something similar for useful OSC signaling in Non-*, but it's
conceptually the same as libmapper and (currently imaginary) JACK OSC
ports. Generic Input and output signals which can be connected to one
another without requiring each party to be separately configured. And,
for the record, liblo defines a MIDI datatype for transport of midi
over OSC--although I don't see much point to doing that, as
it merely combines the deficiencies of both.
True somehow.
OTOH if most applications would have a
_standardized_ mechanism to support musical control over OSC,
there would be a small chance, that OSC could replace MIDI
somewhere in the future.
The chance for MIDI to improve seems very low, due to its technical limits.
IRC Yamaha as an improved MIDI format for their digital pianos,
but I wouldn't call that a standard.
I personally don't think that the way notes are encoded is the primary
limitation imposed by MIDI. A note is a frequency, an attack/decay
modulation, and a duration. MIDI does an acceptable job of handling
these. If you want more resolution, then the ultimate is a waveform...
The way OSC is used, and in libmapper in particular, is to say things
about the input device, not the music, which, as far as the input
device is concerned, doesn't exist. Things like the low-resolution
continuous variation of force applied to a button, or the position of
a finger on the length of a resistive strip. These things have nothing
to do with music, so the fact that there's no standard for notes is
not a problem. The standard I propose (and use), as does libmapper, is
that of Control Voltage floating point values between 0.0 and 1.0.
Generally speaking, the neither the source nor the sink cares about
the scale of the value, only that it varies between a minimum and a
maximum. Users like to see the actual values, but it is a much more
usable system if they are scaled to 0.0-1.0 on the wire.