Основы программирования в Win32API. Марапулец Ю.В. - 136 стр.

UptoLike

Составители: 

мизации скорости и объема звукового потока, в то время как отдельными па-
раметрами точности и качества можно пренебречь. В таких случаях использу-
ются другие способы кодирования, когда звуковая информация представляется
в виде относительных изменений амплитуды (ADPCM – adaptive differential
PCM, адаптивная разностная ИКМ), мгновенных «снимков» спектра (Audio
MPEG) и т. п. Обрабатывать звук в PCM способен любой звуковой адаптер.
Иные способы кодирования аппаратно реализуются лишь в специализирован-
ных адаптерах.
Совокупность основных параметров потокаспособа кодирования, час-
тоты дискретизации, количества каналов (стерео/моно) и разрядности отсчета
называется форматом потока (Wave Format). Желаемый формат указывает-
ся при открытии устройства; для смены формата требуется закрытие и повтор-
ное открытие устройства. Главным параметром формата является способ ко-
дирования, который также называется еще признаком формата (format tag).
Каждый способ кодирования порождает группу однотипных форматов, разли-
чающихся лишь точностью представления, а следовательно, и качеством пере-
дачи звука.
Основные частоты дискретизации (11 025, 22 050, 44 100 Гц)
в сочетаниях с различным количеством каналов (1 или 2) и различной раз-
рядностью отсчета (8 или 16) при способе кодирования PCM образуют 12
типовых форматов. Частота 11 025 Гц (полоса звуковых частот примерно до
5 кГц) приблизительно соответствует качеству телефонного сигнала, частота
22 050 Гц (полоса до 10 кГц) – среднему радиоприемнику, частота 44 100 Гц
(полоса до 20 кГц) – качественной звуковой аппаратуре.
Наименьшей единицей звукового потока является блок. Соответственно,
размер каждого буфера, передаваемого звуковой подсистеме, должен быть
кратен размеру блока, а объем данных, возвращаемый устройством ввода, все-
гда будет кратен размеру блока. В PCM блоком считается набор отсчетов, пе-
редаваемых за один период частоты дискретизации, а именно: один отсчет
для монофонических потоков, двадля стереофонических и т. д. Таким обра-
зом, блоки следуют друг за другом с частотой дискретизации, а отсчеты в бло-
ках размещаются начиная с левого (нулевого) канала. Если отсчет занимает
более одного байта, то байты размещаются в порядке по старшинству, в по-
рядке возрастания, как это принято в процессорах Intel. Восьмиразрядные от-
счеты в PCM представляются в виде беззнаковых целых чисел; за нуль сигнала
принято «центральное» значение 128 (шестнадцатеричное – 80). Итак, пре-
дельно отрицательной амплитуде сигнала соответствует нулевое значение от-
счета, а предельной положительнойзначение FF. Для пересчета значений
отсчетов в знаковую двуполярную форму в диапазоне от –128 до +127 из них
нужно вычитать 128 (0x80) или прибавлять то же самое смещение, вычисляя по
модулю 256, что дает такой же результат.
Отсчеты с разрядностью более восьми представляются в виде целых чи-
сел со знаком в стандартном формате Intel, за нуль сигнала принято нулевое
значение отсчета. Здесь может без каких-либо ограничений применяться
136
мизации скорости и объема звукового потока, в то время как отдельными па-
раметрами точности и качества можно пренебречь. В таких случаях использу-
ются другие способы кодирования, когда звуковая информация представляется
в виде относительных изменений амплитуды (ADPCM – adaptive differential
PCM, адаптивная разностная ИКМ), мгновенных «снимков» спектра (Audio
MPEG) и т. п. Обрабатывать звук в PCM способен любой звуковой адаптер.
Иные способы кодирования аппаратно реализуются лишь в специализирован-
ных адаптерах.
     Совокупность основных параметров потока – способа кодирования, час-
тоты дискретизации, количества каналов (стерео/моно) и разрядности отсчета
– называется форматом потока (Wave Format). Желаемый формат указывает-
ся при открытии устройства; для смены формата требуется закрытие и повтор-
ное открытие устройства. Главным параметром формата является способ ко-
дирования, который также называется еще признаком формата (format tag).
Каждый способ кодирования порождает группу однотипных форматов, разли-
чающихся лишь точностью представления, а следовательно, и качеством пере-
дачи звука.
     Основные частоты дискретизации (11 025, 22 050, 44 100 Гц)
в сочетаниях с различным количеством каналов (1 или 2) и различной раз-
рядностью отсчета (8 или 16) при способе кодирования PCM образуют 12
типовых форматов. Частота 11 025 Гц (полоса звуковых частот примерно до
5 кГц) приблизительно соответствует качеству телефонного сигнала, частота
22 050 Гц (полоса до 10 кГц) – среднему радиоприемнику, частота 44 100 Гц
(полоса до 20 кГц) – качественной звуковой аппаратуре.
     Наименьшей единицей звукового потока является блок. Соответственно,
размер каждого буфера, передаваемого звуковой подсистеме, должен быть
кратен размеру блока, а объем данных, возвращаемый устройством ввода, все-
гда будет кратен размеру блока. В PCM блоком считается набор отсчетов, пе-
редаваемых за один период частоты дискретизации, а именно: один отсчет –
для монофонических потоков, два – для стереофонических и т. д. Таким обра-
зом, блоки следуют друг за другом с частотой дискретизации, а отсчеты в бло-
ках размещаются начиная с левого (нулевого) канала. Если отсчет занимает
более одного байта, то байты размещаются в порядке по старшинству, в по-
рядке возрастания, как это принято в процессорах Intel. Восьмиразрядные от-
счеты в PCM представляются в виде беззнаковых целых чисел; за нуль сигнала
принято «центральное» значение 128 (шестнадцатеричное – 80). Итак, пре-
дельно отрицательной амплитуде сигнала соответствует нулевое значение от-
счета, а предельной положительной – значение FF. Для пересчета значений
отсчетов в знаковую двуполярную форму в диапазоне от –128 до +127 из них
нужно вычитать 128 (0x80) или прибавлять то же самое смещение, вычисляя по
модулю 256, что дает такой же результат.
     Отсчеты с разрядностью более восьми представляются в виде целых чи-
сел со знаком в стандартном формате Intel, за нуль сигнала принято нулевое
значение отсчета. Здесь может без каких-либо ограничений применяться

                                    136