Topic: OSC message in dB ?

Hi
Is it possible to send volumes values in dB instead of 0 to 1 normalized values ? Or, if not, is there a formula to convert from dBs to normalized values ?
Thanks

Re: OSC message in dB ?

Following.

Babyface Pro FS, Fireface UCX
MacBook Air M1 / iPad Pro 12,9" M2 2023 / iPhone 15 Pro Max

Re: OSC message in dB ?

If you look at outgoing osc messages when you turn a fader, you should see sth like this:

(/1/volume3Val) STRING(-6.9 dB
(/1/volume3) FLOAT(0.6257049)
(/1/volume3Val) STRING(-6.3 dB
(/1/volume3) FLOAT(0.65181774)
(/1/volume3Val) STRING(-5.4 dB
(/1/volume3) FLOAT(0.6605223)
(/1/volume3Val) STRING(-5.1 dB
(/1/volume3) FLOAT(0.67793137)
(/1/volume3Val) STRING(-4.6 dB
(/1/volume3) FLOAT(0.686636)
(/1/volume3Val) STRING(-4.3 dB
(/1/volume3) FLOAT(0.70404506)
(/1/volume3Val) STRING(-3.7 dB
(/1/volume3) FLOAT(0.7214542)
(/1/volume3Val) STRING(-3.1 dB
(/1/volume3) FLOAT(0.7388633)
(/1/volume3Val) STRING(-2.6 dB
(/1/volume3) FLOAT(0.764977)
(/1/volume3Val) STRING(-1.7 dB
(/1/volume3) FLOAT(0.78238606)
(/1/volume3Val) STRING(-1.1 dB
(/1/volume3) FLOAT(0.8172043)
(/1/volume3Val) STRING(0.0 dB)
(/1/volume3) FLOAT(0.843318)
(/1/volume3Val) STRING(0.9 dB)
(/1/volume3) FLOAT(0.8520225)
(/1/volume3Val) STRING(1.1 dB)
(/1/volume3) FLOAT(0.8781362)
(/1/volume3Val) STRING(2.0 dB)
(/1/volume3) FLOAT(0.9477727)
(/1/volume3Val) STRING(4.3 dB)
(/1/volume3) FLOAT(0.9564772)
(/1/volume3Val) STRING(4.6 dB)
(/1/volume3) FLOAT(0.98259085)
(/1/volume3Val) STRING(5.4 dB)
(/1/volume3) FLOAT(1)
(/1/volume3Val) STRING(6.0 dB)

The rest depends on your mathematical skills ;-)

“Do It For Her”
My Gear: Bontempi Magic light Keyboard

Re: OSC message in dB ?

My mathematical skills are unfortunately pretty limited but I've tried some calculations and I haven't been able to find out the relationship between these values. Here is what I've tried:

Linear: Totalmix fader range is 71dB (65 below 0 and 6 above 0) so a linear calculation with an OSC value of 0.5 would be 0.5 * 71dB = 35.5dB.

Then -65dB + 35.5dB equals -29.5dB but it doesn't seem to work this way, sending 0.5 sets the fader to -12.1dB...

I did a few other logarithmic calculations that didn't give the results I expected either.

But since Totalmix is able to send back gain values in dB, there has to be a way to calculate it so maybe RME could help ?

Re: OSC message in dB ?

yop, of course, its not linear. you could have seen this even after comparing 3-4 Key/Values, i posted yesterday.

There are several methods to calculate a function from key/val Table (depends on the type).

Here is a good starting point (in german), if you want to learn: https://www.informatik.uni-marburg.de/~ … abelle.pdf

Or... i extracted a pretty quick fader slide from button to top, and sorted the Value to dB pairs (just for you;-)).Just copy/paste my table into excel (or openoffice, or pages) and let it draw a diagram. I am sure there is an option anywhere to calculate the final function formula. I am not a excel hero - so i dont know how (as i prefer a pencil and a blank sheet of paper for things like that).

hope it helps!

Value    dB
0.008687576    -63.7
0.017375093    -62.4
0.026062608    -61.1
0.034750246    -59.8
0.04343788    -58.5
0.052125454    -57.3
0.06081315    -56.0
0.06950079    -54.8
0.07818848    -53.6
0.086876236    -52.4
0.09556393    -51.2
0.10425174    -50.1
0.1129395    -48.9
0.121627316    -47.8
0.13031518    -46.6
0.147691    -44.4
0.15637898    -43.4
0.16506693    -42.3
0.17375498    -41.2
0.18244304    -40.2
0.19113109    -39.2
0.19981919    -38.2
0.20850737    -37.2
0.2258839    -35.2
0.23457219    -34.3
0.24326053    -33.4
0.25194895    -32.4
0.26063743    -31.5
0.26932594    -30.6
0.27801454    -29.7
0.2867032    -28.9
0.29539183    -28.0
0.30408067    -27.2
0.3127695    -26.4
0.32145846    -25.6
0.33883652    -24.0
0.34752572    -23.2
0.35621497    -22.5
0.36490437    -21.7
0.37359387    -21.0
0.38228348    -20.3
0.39097318    -19.6
0.39966303    -18.9
0.40835303    -18.3
0.41704318    -17.6
0.42573345    -17.0
0.4344239    -16.4
0.44311455    -15.7
0.45180538    -15.2
0.46049643    -14.6
0.46918768    -14.0
0.4778792    -13.5
0.495263    -12.4
0.5039553    -11.9
0.512648    -11.4
0.5213411    -10.9
0.53003454    -10.5
0.5387284    -10.0
0.5474227    -9.6
0.5561176    -9.2
0.5648131    -8.7
0.5735092    -8.4
0.5822061    -8.0
0.5909037    -7.6
0.59960234    -7.3
0.60830194    -6.9
0.6170027    -6.6
0.6257049    -6.3
0.64311314    -5.7
0.6605223    -5.1
0.6692268    -4.9
0.67793137    -4.6
0.686636    -4.3
0.6953405    -4.0
0.70404506    -3.7
0.7214542    -3.1
0.73015875    -2.9
0.7388633    -2.6
0.7562724    -2.0
0.764977    -1.7
0.7736815    -1.4
0.78238606    -1.1
0.7910906    -0.9
0.7997952    -0.6
0.80849975    -0.3
0.8172043    0.0
0.82590884    0.3
0.83461344    0.6
0.843318    0.9
0.8520225    1.1
0.8694316    1.7
0.8781362    2.0
0.88684076    2.3
0.8955453    2.6
0.90424985    2.9
0.91295445    3.1
0.921659    3.4
0.93036354    3.7
0.9390681    4.0
0.9477727    4.3
0.9564772    4.6
0.96518177    4.9
0.9738863    5.1
0.98259085    5.4
0.99129546    5.7
1    6.0
“Do It For Her”
My Gear: Bontempi Magic light Keyboard

Re: OSC message in dB ?

Thanks a lot for taking the time to help me maggie33. Unfortunately, using series to determine a function is beyond my mathematical knowledge (I've imported the numbers to Openoffice Calc and been able to draw the graphic but I can't find a way to get the function).
I would really appreciate if someone from RME could chime in and give the formula smile

Re: OSC message in dB ?

Maybe try this then https://www.dcode.fr/function-equation-finder

Re: OSC message in dB ?

hselters wrote:

Maybe try this then https://www.dcode.fr/function-equation-finder

Thanks! I've tried but the functions return approximate values (some are pretty close). I guess I'll have to find values empirically.

9 (edited by maggie33 2023-11-01 06:24:35)

Re: OSC message in dB ?

hselters wrote:

Maybe try this then https://www.dcode.fr/function-equation-finder

@hselters: Nice toy!



@yop22:

I've tried but the functions return approximate values (some are pretty close). I guess I'll have to find values empirically.

Why? You got everything you need? roll

I do not think you really tried to understand as you did not post any details in your results. 

Anyhow…
its an expotential function. My 12 Key/Values match 99% exactly.

Here the graph and the formula:

https://i.imgur.com/vzoxRNr.png

“Do It For Her”
My Gear: Bontempi Magic light Keyboard

Re: OSC message in dB ?

Thanks for your answer but In fact I did try to understand...
Here is a spreadsheet that shows that results of the function dcode.fr evaluated. The 2 first columns are from your first post, the 3rd one is the OSC value calculated with the function and the 4th is the result of the reversed function applied to column 3.
So, basically if I want to set a fader at -3.1dB and I send TM the corresponding calculated value of 0.722227309317561, the fader will be set at -2.4 which, at least for my purpose is too far off.

0.008687576    -63.7    0.0388330949856281    -59.4
0.052125454    -57.3    0.0637221766660042    -55.5
0.09556393    -51.2    0.0929273257445269    -51.2
0.147691    -44.4    0.13329999001333    -45.7
0.19113109    -39.2    0.17096670674684    -41.0
0.24326053    -33.4    0.221438124776892    -35.3
0.2867032    -28.9    0.267892995996373    -30.5
0.33883652    -24    0.327056362337121    -25.1
0.38228348    -20.3    0.378582805194948    -21.0
0.42573345    -17    0.430212160941617    -17.2
0.46918768    -14    0.48233349820052    -13.9
0.5213411    -10.9    0.541950708107921    -10.4
0.5648131    -8.7    0.58815223455548    -8.1
0.60830194    -6.9    0.628553440744174    -6.2
0.6692268    -4.9    0.676376937840514    -4.2
0.7214542    -3.1    0.722227309317561    -2.4
0.7736815    -1.4    0.768127817825816    -0.8
0.8172043    0    0.80792856    0.4
0.8694316    1.7    0.858819904786813    1.9
0.91295445    3.1    0.902948245813648    3.0
0.9564772    4.6    0.952567912519148    4.1
1    6    1.00116967327085    5.2

I might be missing something but that what I came up with.
And again, RME, could you please give the formula ? :-)

Re: OSC message in dB ?

I agree, the formula would be useful to have, if it exists.

What are you using to send OSC? Can't you store all values in a table?

Re: OSC message in dB ?

hselters wrote:

I agree, the formula would be useful to have, if it exists.

What are you using to send OSC? Can't you store all values in a table?

I'm using TouchOSC so I could definitely store value pairs in a Lua table but that seems a bit counter intuitive since there must be a secret formula that only RME wizards know wink
And to be honest I only need a few fixed levels but I would have found it more elegant to be able to choose any level so that's not a big deal.

Re: OSC message in dB ?

i extracted a pretty quick fader slide from button to top

and my 3rd post...

https://forum.rme-audio.de/viewtopic.ph … 76#p209576

so - i did not hence about accurancy, or getting thousands values... i just wanted to show you the pinciple.

Get your own values by slowly moving the slider, and then fill in your hundred (or more values) by yoursself. then it will be more accurate.

Its a basic expotential function... used in many audio sw/hw... (logic uses the same btw).

Crying at RME in every post for giving you the "magic"-basic formula, might also help wink

“Do It For Her”
My Gear: Bontempi Magic light Keyboard

Re: OSC message in dB ?

you can use hexler's potocol for that:

https://hexler.net/protokol

Set scale size in TM to 200%, to get finest resolution.
Connect protocol to one of your TM OSC Controllers.
Hold shift (to get finer resolution) while scrolling slowly with your mouse (wheel) a fader from max to min.

Just did the a test for you with the -2,5 dB:

12:38:34.438 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.6 dB)
12:38:34.737 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6) FLOAT(0.7379928)
12:38:34.737 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.6 dB)
12:38:35.140 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6) FLOAT(0.7388633)
12:38:35.140 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.6 dB)
12:38:35.681 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6) FLOAT(0.73973376)
12:38:35.681 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.5 dB)
12:38:36.055 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6) FLOAT(0.7406042)
12:38:36.055 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.5 dB)
12:38:36.597 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6) FLOAT(0.7414746)
12:38:36.597 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.5 dB)
12:38:37.480 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6) FLOAT(0.7423451)
12:38:37.480 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.5 dB)
12:38:37.883 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6) FLOAT(0.74321556)
12:38:37.883 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.4 dB)
12:38:38.035 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6) FLOAT(0.744086)
12:38:38.035 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.4 dB)
12:38:38.318 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6) FLOAT(0.7449565)
12:38:38.318 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56280) ADDRESS(/1/volume6Val) STRING(-2.4 dB)
“Do It For Her”
My Gear: Bontempi Magic light Keyboard