## Incoming Float value as Volume – needs conversion

Apr 30, 2013 at 7:30pm

# Incoming Float value as Volume – needs conversion

Hi everyone!

I’ve been reading and looking around for an answer but here is my problem;

i want a visual feedback of an incoming OSC value.

One of my application has a master volume with a range of -90 ( -inf ) and +10 but it sends a float so -90 = 0. and +10 = 1.

so 0 dB = 0.735

I want to interpret this value the same way the master fader behave in the other application so I can create a patch for monitoring.

I just can’t get my head around it.

Any help would be really appreciated.

Thanks

#68026
Apr 30, 2013 at 7:47pm

Hello, this patcher has two [expr] objects that approximate the behavior of the gain~ object. Gain controls tend to use logarithmic scaling. What scalar formula does the incoming OSC have?
[atodb] and [dbtoa] may also be helpful.

– Pasted Max Patch, click to expand. –
#244423
Apr 30, 2013 at 8:14pm

@ 32bit:

[atodb] and [dbtoa] doesn’t give me the right number and the expr you gave me doesn’t give me a number when I attach a float to the output.

I’m a newb here.

#244424
Apr 30, 2013 at 9:31pm

OK, The scalar stuff has to do with the way volume (also known as gain or amplitude) is processed by whatever is transforming incoming numbers (or signals) into other numbers (or signals) to outgoing numbers. The main things to consider are:
when you write: One of my application has a master volume with a range of -90 ( -inf ) and +10 but it sends a float so -90 = 0. and +10 = 1.
First of all, is this application a max app? if so, what object(s) are used to generate the -90 to +10 range?
If it’s not a Max app, what is it?
If the value is an “incoming osc value” what is it addressing within Max? if the goal is to scale the -90 +10 to a number that can be used to set the settings of [gain~] try this quick way:

– Pasted Max Patch, click to expand. –
#244425
Apr 30, 2013 at 9:49pm

OK!

Not it is not a max patch

It’s a software that controls a hardware rig that i’m using. It’s called Cue Station.

I’m receiving a float in max so that’s why I wrote: ”a master volume with a range of -90 ( -inf ) and +10 but it sends a float so -90 = 0. and +10 = 1.”

Master Volume in Cue Station range is -90 > +10

where -90. = 0. and +10 = 1.

I can use [scale] with that float but it doesn’t match the value that my master fader indicates in the other application.

I want to get the exact number to monitor within a Max Patch.

Is it more clear?

#244426
Apr 30, 2013 at 10:20pm

Yes that’s clearer. Without seeing the output of the Cue Station fader values I can’t help with the scaling. Maybe someone on this forum knows.
If [atodb] doesn’t match the Cue Station it may be a matter of playing with numbers in [exp] or [linedrive] until a close match is found…

#244427
Apr 30, 2013 at 10:20pm

“One of my application has a master volume with a range of -90 ( -inf ) and +10 but it sends a float so -90 = 0. and +10 = 1.
so 0 dB = 0.735″

…nö.

you´d better assume 0dB = 1.0, and +10dB = more than 1.0. thats how all audio software handles it (and yes, linear to db/A conversion also works above 1.0).

so … if your input has a range of 0-1 where the 1 should mean +10db, you should scale this input so that it fits to the conversion [atodb] or similar objects perform.

#244428

You must be logged in to reply to this topic.