Генерация звука звуковой дорожки с заданным децибелом - PullRequest
0 голосов
/ 02 марта 2019

Я использую звуковую дорожку для генерации звукового сигнала с заданной частотой и дБ.в звуковой дорожке есть метод с именем

setStereoVolume()

, который получает левый и правый объем.однако в этой библиотеке громкость устанавливается по амплитуде, которая находится в диапазоне 0 -1, где 0 - это минимум, а 1 - это максимум, но мои пользователи вместо этого дают дБ, поэтому мне нужно преобразовать дБ в амплитуду.после поиска я нашел формулу как amp = 10^(dB/20).проблема в том, что для этой формулы работает только -ve дБ, для + ve дБ формула возвращает значение выше 1, что означает макс.

audioTrack.setStereoVolume((float) Math.pow(10,volumeL_val/20),(float) Math.pow(10,volumeR_val/20));

как я могу конвертировать + ve дБ в амплитуду в диапазоне 0-1, что приемлемо для Android.

...