a-law/необработанные аудиоданные

Я провел вечер, возясь с необработанным вводом/выводом звука A-закона от встроенных инструментов ALSA aplay и arecord, и пропуская их через автономный фильтр скользящего среднего, который я написал.

Мой вопрос: звук, кажется, закодирован с использованием значений от 0x2A до 0xAA - диапазон 128. Я читал это руководство, которое является информативным, но на самом деле не объясняет, почему было выбрано смещение 42 (0x2A). Файл, который я использовал для проверки, представлял собой прямоугольную волну, экспортированную из Audacity как беззнаковый 8-битный звук 8 кГц и проверенную в шестнадцатеричном редакторе.

Может ли кто-нибудь пролить свет на то, как A-закон кодируется в файле?


person aktungmak    schedule 15.05.2012    source источник
comment
A-закон — это просто прямое сопоставление исходных выборочных значений сигнала; см. напр. en.wikipedia.org/wiki/A-law.   -  person Oliver Charlesworth    schedule 16.05.2012
comment
Нет, на самом деле это компандированное 8-битное представление 12-битного сигнала, а не линейное отображение. Я, конечно, уже прочитал статью в Википедии, я надеялся на что-то более подробное... Например, почему все данные находятся в диапазоне от 2A до AA?   -  person aktungmak    schedule 16.05.2012
comment
Я никогда не говорил, что это линейное отображение. Я не могу придумать причину, по которой вы получаете только определенные значения.   -  person Oliver Charlesworth    schedule 16.05.2012
comment
О, подожди. Вы сказали, что ваш входной сигнал был прямоугольным; имеет только два значения...   -  person Oliver Charlesworth    schedule 16.05.2012


Ответы (1)


Это может помочь;

/dev/dsp

8000 кадров в секунду, 8 бит на кадр (1 байт);

# Max volume = \xff (or \x00).
# No volume = \x80 (the middle).
person JimmyLandStudios    schedule 15.12.2014