Какое максимальное и минимальное значение для Android audiotrack, аудио типа float? - PullRequest
0 голосов
/ 22 января 2019

Мне нужно вывести звук с левого и правого каналов на разъем для наушников, а разъем для наушников - на осциллограф.Я не могу получить правильную звуковую форму с Float.MAX_VALUE и Float.MIN_VALUE.Обычно 16-битный звук max / min является коротким типом со значением +/- 32767.Таким образом, вы можете назначить значения с Short.MAX_VALUE и Short_MIN_VALUE.Но в настоящее время мой звук имеет тип float, то есть AudioFormat.ENCODING_PCM_FLOAT, и использование Float.MAX_VALUE и Float.MIN_VALUE не дает правильную форму звукового сигнала в осциллографе.Фактическая звуковая форма волны будет иметь шум в 0,4 миллисекунды до и после, но когда я беру плавающее при 3,5f или -3,5f, форма волны выглядит правильной, но она не достигает максимума.Так, каково максимальное и минимальное аудио значение типа float?enter image description here enter image description here enter image description here

Фактическая форма звукового сигнала будет иметь 0,4 миллисекунды шума до и после.enter image description here

Правильная форма волны должна быть такой формы.Если установлено значение 3,5f / -3,5f, форма будет правильной, но не максимальной.enter image description here

1 Ответ

0 голосов
/ 22 января 2019

Из документов :

... Реализация не обрезает значения выборки в пределах номинального диапазона [-1.0f, 1.0f] при условии, что все усиленияв звуковом конвейере меньше или равны единице (1,0f), а также при отсутствии эффектов постобработки, которые могут добавить энергию, например, реверберации.Для удобства приложений, которые вычисляют выборки с использованием фильтров с усилением, отличным от единицы, допускаются значения выборки на +3 дБ сверх номинального диапазона.Однако такие значения могут в конечном итоге быть ограничены или ограничены, в зависимости от различных коэффициентов усиления и последующей обработки в тракте аудио.Поэтому приложениям рекомендуется предоставлять выборочные значения в пределах номинального диапазона.

Увеличение мощности на 3 дБ соответствует увеличению напряжения на sqrt (2), или примерно 1,41.Таким образом, согласно документации, ваше устройство может обрабатывать -1,41-1,41, но учтите предостережение об отсечении.

...