Topic: MIDI to dB Mapping (Control Curves)

Is there detailed information on how TotalMix maps MIDI fader commands onto fader dB values?

Documentation such as "Fader val: 0=Off, x68=0dB, x7F=Max" is helpful, but I actually am in need of the full curve ... i.e. the formula used for the mapping. This formula will certainly involve some calls to log() or pow() ...


Motivation: I am using Cantabile to coordinate setting levels in TotalMix. MIDI encoders that control volume affect settings in Cantabile for FX and also are forwarded to TotalMix to adjust the level of dry signals. This gives me the latency benefit of TM Direct Monitoring.

However, Cantabile uses different control curves than TotalMix, so dB values do not line up. Cantabile control curves are configurable by specifying the formulas used to map between MIDI and various Gain values, so I can change Cantabile to match TotalMix.

(I am guessing TotalMix control curves cannot be configured??)

This could be figured out by some laborious reverse engineering, but I'm hoping I can get the official control curve formula(s).


BTW, the Cantabile functions for the default control curve are:

dB = log(MIDI, 10) * 60 - (log(96, 10) * 60)

   ... and the inverse:

MIDI = 10 ^ ((dB + 118.93627)/60)

Re: MIDI to dB Mapping (Control Curves)

I've mapped all 128 possible values of incoming MIDI to the dB values shown on the Faders in TotalMix. All faders seem to respond the same (great!). However, I cannot determine the function that generates this data set. Any help would be appreciated!!

MIDI 0 maps to negative infinity
MIDI 1 to 127 map to these db values in order:

-63.2, -62, -60.9, -59.7, -58.6, -57.5, -56.3, -55.2, -54.1, -53.1, -52, -50.9, -49.9, -48.9, -47.8, -46.8, -45.8, -44.8, -43.8, -42.9, -41.9, -41, -40.1, -39.1, -38.2, -37.3, -36.4, -35.6, -34.7, -33.9, -33, -32.2, -31.4, -30.6, -29.8, -29, -28.2, -27.5, -26.7, -26, -25.3, -24.6, -23.9, -23.2, -22.5, -21.8, -21.2, -20.5, -19.9, -19.3, -18.7, -18.1, -17.5, -16.9, -16.4, -15.8, -15.3, -14.8, -14.3, -13.8, -13.3, -12.8, -12.3, -11.9, -11.4, -11, -10.6, -10.2, -9.8, -9.4, -9, -8.6, -8.3, -8, -7.6, -7.3, -7, -6.7, -6.4, -6.2, -5.9, -5.6, -5.4, -5.1, -4.9, -4.6, -4.4, -4.1, -3.9, -3.6, -3.3, -3.1, -2.8, -2.6, -2.3, -2.1, -1.8, -1.5, -1.3, -1, -0.8, -0.5, -0.3, 0, 0.3, 0.5, 0.8, 1, 1.3, 1.5, 1.8, 2.1, 2.3, 2.6, 2.8, 3.1, 3.3, 3.6, 3.9, 4.1, 4.4, 4.6, 4.9, 5.1, 5.4, 5.6, 6

I've tried Wolfram Alpha's curve-fitting algorithms, but they limit data input severely. I've also tried the one at https://www.dcode.fr/function-equation-finder ... with no luck. I'm sure is a straightforward function in the TotalMix code, but I have not been able to figure it out ...

3

Re: MIDI to dB Mapping (Control Curves)

You either have a too agressive spam filter or did register with an invalid email address. Check it...

Regards
Matthias Carstens
RME

Re: MIDI to dB Mapping (Control Curves)

Matthias -

Sorry for the bouncing email to ... Could you *please* re-send to:

   [edit: mail link removed]

I will be releasing code to the Cantabile community to do the correct mapping for TotalMix (TotalMix uses a set of 4 curves which are all *very* different from TotalMix).

Thanks for your assistance!

5

Re: MIDI to dB Mapping (Control Curves)

It didn't 'bounce'. If you did not receive it then it vanished somewhere into the nothing. Let's see if it works this time.

Regards
Matthias Carstens
RME

Re: MIDI to dB Mapping (Control Curves)

Here's the full description of my integration of Cantabile with TotalMix:

https://community.cantabilesoftware.com … oring/8120