AUv3 Parameters Logarithmic Scaling

It seems that Drambo does not respect the kAudioUnitParameterFlag_DisplayLogarithmic flag for a mapped AUv3 parameter. For example, I loaded the free Viking synth as AUv3, mapped the Cutoff parameter, and MIDI-mapped it to a CC. When the CC value is 64, Cutoff is set to 6000 Hz, the middle of the 50-12,000 Hz range. This result should be 490 Hz, the geometric mean of the endpoints. Testing in AUM produces the correct result, confirming that the Logarithmic flag is set. (The same linear scaling results from adjusting the Cutoff knob displayed in the Drambo module.)


Comments

  • For reference, the expected logarithmic scaling is

    y = pMin * (pMax/pMin) ^ x

    where pMin and pMax are the given parameter limits, x is the knob value on 0..1, and y is the scaled output. This gives pMin and pMax at the knob endpoints, and the geometric mean of the endpoints for x=0.5. Note that the shape of the curve depends on the ratio pMax/pMin, so it cannot be implemented generically.

  • edited August 2022

    here's one workaround to get log scaling. the value of number is specific to the range in octaves of the cutoff parameter, as @uncleDave says. Drambo would need to take the aufx parameter range into account somehow. linear scaling may be the simplest option.

  • +1 to this request

    Somewhat related, it'd be nice to see support for AU param scaling so values are not just in the 0-1 range but represent their actual units (dB, %, ms, Hz, etc.)

    Yet another useful addition would be specific UI controls for AU params that are binary or a list of values.

Sign In or Register to comment.