Re: gain-mapping - was Re: OSC next

Felix Homann <[email protected]> Sat, 14 May 2016 16:52:22 +0000
Newsgroups gmane.comp.audio.ardour.devel
Message-ID <CAFz=ag7ZAoyjrjOGky0UtRWw3-W6dASA8bEXYBRBuG8_9XtpRw@mail.gmail.com>
I must admit I have missed the start of this conversation which is a bad
thing to begin with. Nevertheless, it might be interesting to know how some
common OSC controllable hardware is handling faders. So here's how the
Midas M32, Behringer X32 and X Air mixers handle fader/dB values over OSC:

0. The faders range from -90/-oo dB to +10 dB.
1. Internally fader values are represented as "index" values within [0,
1023].
2. The mapping from "index" idx to dB is piecewise linear like this
dblevel = 40  * idx / (steps - 1) - 30; if idx >= steps / 2
                                 80  * idx / (steps - 1) - 50; if idx >=
steps / 4
                                 160 * idx / (steps - 1) - 70; if idx >=
steps / 16
                                 480 * idx / (steps - 1) - 90; if idx > 0
                                 -144;                         if idx = 0
with steps = 1024. The -144 representing -inf.

3. Fader values are being send from the mixer as float "level" values with
level = idx/1023.f.
4. Fader values can be received from the mixer as
4.a)  floats within [0.f, 1.f]. The value is being rounded to one of the
allowed values.
4.b)  strings representing the dB value e.g. "-2.3" for -2.3 dB.
5. The OSC address for dB and level values is the same. The mixer decides
depending on the parameter type.

Kind regards,
Felix

_______________________________________________
ardour-dev mailing list
[email protected]
http://lists.ardour.org/listinfo.cgi/ardour-dev-ardour.org