Skip to content

Enough with multiplicative amp parameters and 0.001 #526

@dpwe

Description

@dpwe

amp_coefs is unique among the CtlCoefs in that the components are combined by multiplying rather than summed, and as a result default values of zero are ignored, so to silence a voice we must set amp_coef[COEF_CONST] = 0.001. Other codebases are laughing at our ungainliness.

Instead, we should move to log-domain amplitude specification so we can sum instead of multiplying, and 0 means "no change".

The units of amplitude could be Bels (I.e., 10s of deciBels), with 0 meaning inaudible, and a target level of 6 (60 dB, I.e. the same contrast as 0.001 to 1.0 in the current scheme).

We could have the default amp_coef[COEF_VEL] be 6.0 or 8.0 so a normalized key velocity between 0 and 1 exercises the range.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions