Re: Ardour MIDI tracer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 15 Aug 2014, Paul Davis wrote:

On Wed, Aug 13, 2014 at 10:16 PM, Len Ovens <len@xxxxxxxxxxxxx> wrote:

      Is it just me? Has anyone else looked at pitch bend events on the
      Ardour MIDI Tracer? Quick test:

      ================================================
       - edit->Preferences->Control surfaces.
       - select both enabled and feedback for generic MIDI.
       - double click on it and select bcf2000 with mackie protocol
       - open an external midi monitor (using qmidiroute here) and connect
      it to
              Ardours MIDI control out.
       - also open Ardours MIDI tracer window and connect it to the same
      output.
       (Now qmidiroute will be in decimal and MIDI Tracer is hex..)
       - use the mouse to move the gain up and down on channel one with an
      audio track.
      =================================================

 the trace shows MIDI messages. there are no 10 or 14 bit MIDI messages. only
"controllers" with 14 bit state. 14 bit state is sent as two messages (when
necessary). the tracer shows each individual message.

Pitch bend, which the mackie faders use, is specified in the MIDI standard and in the MCP spec as: Ex yy zz in one event. WHere x = channel, yy = LSB (7 bits) and zz = MSB (7 bits). This is one event. This the way I send fader info to Ardour and It is also the way Ardour sends info back to me when I use a mouse to move a fader. Lets compare the output of the tracer with qmidiroute: (using fader5 as happens)

tracer			db	qmidiroute			midi
===========================================================================
Pitch Bend chn  5 1a	-0.5	Ch  5, Pitch  4378 (111a)	e4 1a 42
crt/alt/mousewheel down
Pitch Bend chn  5 09	-0.5	Ch  5, Pitch  4361 (1109)	e4 09 42
Pitch Bend chn  5 79	-0.5	Ch  5, Pitch  4345 (10f9)	e4 79 41
There is no second midi event with the msb, this info is missing.

I am well aware that controllers are 7 bits in an event. The MIDI standard does double up some of them for 14 bit, but I am not aware of anyone who uses them.

Speaking of which... I was looking at the MIDI codes for some more upscale Control surfaces:
Allen & Heath iLive control surfaces
Yamaha CL series mixers

Both of these use NRPN (Non-Registered Parameter Number) for some of their messages. The A&H uses this because they have run out of controllers (I would guess) and still only get 7 bits for their faders. They use three events, the first one has the mixer channel (as well as the midi channel), the second has a code for what in the channel it controls (0x17 for fader) and the third is the data. Yamaha uses four events, the first two carrying the controller number (they have not bothered to group them the way A&H has) and the last two are MSB and then LSB. The wiki for NRPN says the controller number for the first two bytes should be 0x63 and 0x62, however, Yamaha has these listed backwards. As there are other typos in the same page, this may just be a typo too.

I do not know if the Ardour midimap binding msg="byte byte byte" would handle this or not. I know Jack would consider this 4 events and probably not accept just the first status byte with 8 running status data bytes following as a single event.

--
Len Ovens
www.ovenwerks.net
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux