Операционные системы. Учебное пособие. Марапулец Ю.В. - 220 стр.

UptoLike

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

В Win32 дополнительно введен тип Aux - вспомогательные звуковые устройства
(например, микшеры), при помощи которых реализуется управление параметрами звука,
регулировки, настройки и т.п. Wave–устройства предоставляют весь необходимый сер-
вис для записи и воспроизведения цифровых звуковых потоков в реальном времени с
промежуточной буферизацией данных. Каждый из типов включает устройства ввода (In)
и вывода (Out). Первые служат для записи звука от внешнего источника в приложение,
вторые - для воспроизведения звука, порожденного приложением, или извлеченного из
звукового файла, или полученного иным способом.
Типовой звуковой адаптер содержит стереофонические АЦП и ЦАП (аналого-
цифровой и цифро-аналоговый преобразователи), микшер и управляющий цифровой
процессор, координирующий работу всех узлов адаптера. Микшер расположен в анало-
говой части адаптера. В его задачу входят: регулировка входных уровней различных ис-
точников звука - микрофона, линейного входа, компакт-диска, модема и т.п., сведение
всех источников в единый звуковой сигнал, поступающий на АЦП, а также регулировка
выходного сигнала адаптера, снимаемого с ЦАП.
В режиме записи схема АЦП через равные интервалы времени опрашивает вход-
ной сигнал и формирует последовательность мгновенных значений амплитуды, назы-
ваемых отсчетами. В зависимости от заданного режима, разрядность отсчета (sample
width) может быть разной: 8 или 16 бит - для простых адаптеров и от 18 до 24 - для
сложных и качественных. Чем больше разрядность отсчета, тем выше точность цифро-
вого представления сигнала и ниже уровень шумов и помех, вносимых АЦП при оциф-
ровке.
Частота, с которой АЦП опрашивает входной сигнал, называется частотой дискре-
тизации (sample rate). Для точного цифрового представления сигнала частота дискрети-
зации должна быть как минимум вдвое выше максимальной частоты сигнала; на практи-
ке обычно выбирается небольшой запас для компенсации погрешностей. Например, для
представления сигналов с полосой частот до 10 кГц выбирается частота около 22 кГц.
Последовательность отсчетов, сформированная АЦП, передается управляющим
процессором в основную память компьютера при помощи внепроцессорного доступа к
памяти (DMA - на шине ISA, Bus Mastering - на шине PCI). После заполнения части
(обычно половины) выделенной для обмена области памяти адаптер подает сигнал аппа-
ратного прерывания, по которому драйвер адаптера извлекает накопленные в памяти
данные и переносит их в буфер программы, которая запросила запись звука. После за-
полнения буфера программы драйвер подает ей программный сигнал, по которому про-
грамма переносит данные в нужное ей место: в другую область памяти для обработки,
на диск, отображает на экране и т.п.
При воспроизведении звука происходит обратный процесс: программа записывает
последовательность звуковых отсчетов в буфер и передает его драйверу, который по
частям переносит данные в область памяти для DMA. Управляющий процессор адаптера
последовательно извлекает из памяти отсчеты и направляет их на ЦАП, где они преоб-
разуются в обычный электрический звуковой сигнал, который, пройдя через регуляторы
микшера, попадает на выходной разъем адаптера.
Для удобства буфер обмена между процессором и звуковым адаптером делается
циклическим (кольцевым). Это означает, что пока одна сторона (адаптер или ЦП) ведет
запись первой половины буфера, другая сторона должна успеть прочитать данные из
второй половины, и наоборот. Если быстродействия ЦП или драйвера не хватает, или
нарушается правильная работа системы аппаратных прерываний, то записываемый звук
теряется, а воспроизводимый - зацикливается. Зацикливание короткого фрагмента вос-
производимого звука - типичный признак неверного выбора линии прерывания для
адаптера или неисправности в системе прерываний.
222
     В Win32 дополнительно введен тип Aux - вспомогательные звуковые устройства
(например, микшеры), при помощи которых реализуется управление параметрами звука,
регулировки, настройки и т.п. Wave–устройства предоставляют весь необходимый сер-
вис для записи и воспроизведения цифровых звуковых потоков в реальном времени с
промежуточной буферизацией данных. Каждый из типов включает устройства ввода (In)
и вывода (Out). Первые служат для записи звука от внешнего источника в приложение,
вторые - для воспроизведения звука, порожденного приложением, или извлеченного из
звукового файла, или полученного иным способом.
     Типовой звуковой адаптер содержит стереофонические АЦП и ЦАП (аналого-
цифровой и цифро-аналоговый преобразователи), микшер и управляющий цифровой
процессор, координирующий работу всех узлов адаптера. Микшер расположен в анало-
говой части адаптера. В его задачу входят: регулировка входных уровней различных ис-
точников звука - микрофона, линейного входа, компакт-диска, модема и т.п., сведение
всех источников в единый звуковой сигнал, поступающий на АЦП, а также регулировка
выходного сигнала адаптера, снимаемого с ЦАП.
     В режиме записи схема АЦП через равные интервалы времени опрашивает вход-
ной сигнал и формирует последовательность мгновенных значений амплитуды, назы-
ваемых отсчетами. В зависимости от заданного режима, разрядность отсчета (sample
width) может быть разной: 8 или 16 бит - для простых адаптеров и от 18 до 24 - для
сложных и качественных. Чем больше разрядность отсчета, тем выше точность цифро-
вого представления сигнала и ниже уровень шумов и помех, вносимых АЦП при оциф-
ровке.
     Частота, с которой АЦП опрашивает входной сигнал, называется частотой дискре-
тизации (sample rate). Для точного цифрового представления сигнала частота дискрети-
зации должна быть как минимум вдвое выше максимальной частоты сигнала; на практи-
ке обычно выбирается небольшой запас для компенсации погрешностей. Например, для
представления сигналов с полосой частот до 10 кГц выбирается частота около 22 кГц.
     Последовательность отсчетов, сформированная АЦП, передается управляющим
процессором в основную память компьютера при помощи внепроцессорного доступа к
памяти (DMA - на шине ISA, Bus Mastering - на шине PCI). После заполнения части
(обычно половины) выделенной для обмена области памяти адаптер подает сигнал аппа-
ратного прерывания, по которому драйвер адаптера извлекает накопленные в памяти
данные и переносит их в буфер программы, которая запросила запись звука. После за-
полнения буфера программы драйвер подает ей программный сигнал, по которому про-
грамма переносит данные в нужное ей место: в другую область памяти для обработки,
на диск, отображает на экране и т.п.
     При воспроизведении звука происходит обратный процесс: программа записывает
последовательность звуковых отсчетов в буфер и передает его драйверу, который по
частям переносит данные в область памяти для DMA. Управляющий процессор адаптера
последовательно извлекает из памяти отсчеты и направляет их на ЦАП, где они преоб-
разуются в обычный электрический звуковой сигнал, который, пройдя через регуляторы
микшера, попадает на выходной разъем адаптера.
     Для удобства буфер обмена между процессором и звуковым адаптером делается
циклическим (кольцевым). Это означает, что пока одна сторона (адаптер или ЦП) ведет
запись первой половины буфера, другая сторона должна успеть прочитать данные из
второй половины, и наоборот. Если быстродействия ЦП или драйвера не хватает, или
нарушается правильная работа системы аппаратных прерываний, то записываемый звук
теряется, а воспроизводимый - зацикливается. Зацикливание короткого фрагмента вос-
производимого звука - типичный признак неверного выбора линии прерывания для
адаптера или неисправности в системе прерываний.



                                        222