Does SPA_PROP_channelVolumes use a linear or logarithmic scale?
The PipeWire documentation says about SPA_PROP_channelVolumes:
A volume array, one volume per channel (Array of Float).
0.0 is silence, 1.0 is without attenuation. This is the effective volume that is applied. It can result in a hardware volume and software volume (see softVolumes)
Does the volume from 0.0 to 1.0 use a linear or logarithmic scale?
A bug report for Audacious was filed about this topic, stating that the PipeWire volume setting is logarithmic, while for ALSA/PulseAudio it is linear.
Is this true? And if true, what would be the best way to achieve a linear scale?
See also:
- Source code of Audacious' PipeWire plugin
- Audacious' amplify function, mentioned by John in the bug report
P.S. I have written the PipeWire output plugin for Audacious (based on code by Qmmp) and would be glad to get clarifications and support about this "issue". Thanks.