midi

How to convert YAMAHA digital mixing console fader value to MIDI


I'd like to convert YAMAHA digital mixing console "fader value"(db) to MIDI data.

I understand that yamaha mixing console use two "MIDI control change message"(fader L, fader H) to expressed each fader in high resolution.

However, I don't understand how to "fader value"(db) mapping those message. I captured that message, but did't find out that rules.

Is there calculatin method or mapping table ?

Please could you help me.

Capture Data: ch 1 fader

0.0db
RECEIVE    | ENDPOINT(AUDIO4c DIN) TYPE(CONTROLCHANGE) CHANNEL(1) DATA1(1) DATA2(102)
RECEIVE    | ENDPOINT(AUDIO4c DIN) TYPE(CONTROLCHANGE) CHANNEL(1) DATA1(33) DATA2(119)

0.15db
RECEIVE    | ENDPOINT(AUDIO4c DIN) TYPE(CONTROLCHANGE) CHANNEL(1) DATA1(1) DATA2(103)
RECEIVE    | ENDPOINT(AUDIO4c DIN) TYPE(CONTROLCHANGE) CHANNEL(1) DATA1(33) DATA2(39)

0.45
RECEIVE    | ENDPOINT(AUDIO4c DIN) TYPE(CONTROLCHANGE) CHANNEL(1) DATA1(1) DATA2(104)
RECEIVE    | ENDPOINT(AUDIO4c DIN) TYPE(CONTROLCHANGE) CHANNEL(1) DATA1(33) DATA2(7)

Solution

  • This is a 14-bit controller (see p. 17 of the MIDI specification); the actual controller value is MSB*128+LSB.

    So the mapping is as follows:
    0.00 -> 13175
    0.15 -> 13223
    0.45 -> 13319

    This is perfectly linear. So CC = 13175 + 320 * dB, and dB = (CC - 13175) / 320.