Математика за преобразованием линейных и логарифмических значений:
1. Линейный в децибел (логарифмический):
decibelValue = 20.0f * log10(linearValue)
Примечание: лог - база 10
Предположим, что линейное значение в виде процентного диапазона от [0 (мин. Об.) До 100 (макс. Об.)], Тогда значение децибела для половины объема (50%) равно
decibelValue = 20.0f * log10(50.0f/100.0f) = -6 dB
Полный объем:
decibelValue = 20.0f * log10(100.0f/100.0f) = 0 dB
Отключение звука:
decibelValue = 20.0f * log10(0/100.0f) = -infinity
2. Децибел (логарифмический) в линейный:
LinearValue = pow(10.0f, decibelValue/20.0f)