Можно ли рассчитать значение децибела с уровня громкости звука?
Предположим, что воспроизводится звук (это может быть любой трек, но я использую сгенерированный звук с AudioTrack). Во время воспроизведения звука громкость звука увеличивается с 0 (без звука) до 99 (максимум). Теперь я хочу получить значение децибела, например, если уровень громкости равен 50.
Возможно ли это?Android - Рассчитать децибел с уровня громкости
Я нашел, как вычислить значение децибел в этой теме: Calculate Decibel from amplitude - Android media recorder
power_db = 20 * log10(amp/amp_ref);
, но здесь он использует амплитуду, а не громкость звука.
ОК, я попробую это. Тогда будет ли 'amp_ref' равным, в этой формуле? – VCODE
Вам нужно будет выбрать один - децибелы - относительная мера объема, а не абсолютная мера. Попробуйте 30dB в качестве базовой линии и при необходимости отрегулируйте. – theelfismike
Я до сих пор не понимаю ... Предположим, что amp = 50 и amp_ref = 30 (как вы указали). Тогда db = 20 * log10 (amp/amp_ref), будет равно = 0. Это выглядит неправильно. Основная проблема заключается в том, что клиент хочет увеличить каждые 2 секунды интенсивность тона с 10 децибелами, начиная с -10 до 100. Кстати, можно ли имитировать? – VCODE