Книги | Статьи | Начало

Краткий экскурс в прикладную звукотехнику

Как известно, слышимые звуки представляют собой механические колебания, достигающие ушей слушателя обычно по воздуху. Диапазон частот, воспринимых человеческим ухом, простирается от 20 Гц до 20 кГц, причем наибольшая чувствитеность приходится на частоты 2-5 кГц. В этой области ухо воспринимает сигналы в динамическом диапазоне около 140 дБ* (отношение звукового давления болевого порога к порогу слышимости 107). На краях частотного диапазона динамический диапазон сужается до 50 дБ (чувствительность уха существенно снижается, а давление болевого порога уменьшается). Разговорная речь в спектре занимает область примерно 200 Гц-4 кГц при динамическом диапазоне около 40 дБ. Музыка может занимать практически весь слышимый диапазон частот и требовать динамического диапазона 70-90 дБ. Важной особенностью слуха является способность к локализации источника звука, обеспечиваемая его бинауральным восприятием. Дело в том, что звуковые волны воспринимаются обоими ушами, которые пространственно разнесены. Колебания от одного источника достигают ушей с разной амплитудой и фазой, что позволяет мозгу оценить направление (азимут) на источник звука. Сигналы с частотами ниже 300 Гц локализуются плохо, поскольку длина волны относительно размера головы велика. Наибольшее значение для локализации имеют частоты от 1 до 3.2 кГц. Бинауральное восприятие позволяет не только локализовать, но и выделять отдельные источники (например, отдельные инструменты в оркестре).
*Децибелл (дБ) - логарифмическая мера измерения мощности P относительно условно принятого нулевого уровня P0, определяется как 10log(P/P0). Когда речь идет об усилении/затухании напряжения сигнала, используют формулу 20log(U/U0). Усилению в 10 раз соответсвует +20 дБ, ослаблению в 2 раза соответствует -6 дБ. В звукотехнике логарифмические шкалы используются "вдоль" - по оси частот и "поперек" - по оси уровней мощности, что перекликается с звуковосприятием. Частоты одноименных нот соседних октав отличаются в 2 раза ("центр" - нота "ля" 1 октавы - 440 Гц).
Для передачи, хранения, воспроизведения и синтеза звуков традиционно используются преобразования акустических колебаний в электрические (микрофон) и обратно (динамик). Первоначально вся промежуточная обработка (усиление, преобразования) сигналов производилась в аналоговой форме, естественной для оконечных электромеханических преобразователей. Хранение, опять-таки в аналоговой форме, выполнялось на механических (грампластинки) или магнитных (магнитофонные ленты) носителях. Для повышения достоверности звукопередачи, включая пространственное расположение источников звука, применяется двухканальная передача и хранение - стереофония. Упрощенно ее идея заключается в разделении трактов сигналов, предназначенных для левого и правого уха слушателя. Такая система позволяет создать иллюзию звуковой панорамы - кажущиеся источники звука (КИЗ) располагаются на воображаемой сцене, расположенной перед слушаелем. Однако использование пары колонок не позволяет добиваться большой ширины зоны стереоэффекта. Прослушивание через головные телефоны не всегда удобно и тоже не дает полной иллюзии присутствия - поворот головы в сторону КИЗ приведет к его уходу в ту же сторону. Более сложные системы используют большее число каналов, например, 4 в квадрафонии. Здесь колонки раполагаются вокруг (спереди и сзади) слушателя, что позволяет получить эффект присутствия внутри некоторого озвученного объема. Есть и промежуточные варианты между дорогой квадрафонией и фактически стандартной стереофонией - квази- и псевдо- квадрафония.
Аналоговое представление сигналов для обработки (фильтрации, создания различных эффектов) и хранения имеет массу недостатков. Во-первых, все устройства в той или иной степени обладают нелинейными передаточными характеристиками - проходящий через них гармонический (чисто синусоидальный) сигнал "обрастает" гармониками - составляющими с частотами, кратными основной. Мерой искажений, вносимых нелинейностью, является коэффициент гармоник, он же коэффициент нелинейных искажений (к.н.и.). Он определяется как отношение мощности гармоник выходного сигнала к мощности основного тона. Эти искажения вносят все элементы тракта, так что их всюду стремятся минимизировать. Для современных высококачественных усилителей считается хорошим значение к.н.и. в десятые и сотые доли процента, для электромеханических преобразователей (особенно динамиков) значения гораздо выше.
Следующая беда - шумы и помехи, характерные для любой аналоговой техники. Они сужают динамический диапазон устройства. Отношение сигнал/шум порядка 90-100 дБ для аналоговых устройств удалось получить сравнительно недавно.
Более всего уязвима аналоговая форма хранения информации - грампластинки "запиливаются", магнитные ленты осыпаются и размагничиваются, в результате ранее записанный сигнал при воспроизведении сильно искажается. Потери происходят и при тиражировании - каждая перезапись или перепечатка вносит свою долю искажений.
С развитием электроники появилась возможность большую часть "путешествия"
электрического сигнала производить в цифровой форме. Теперь входной сигнал (от микрофона) после предварительного усиления оцифровывается. В цифровой форме он может передаваться, храниться (долго и без накопления ошибок), подвергаться различным искусственным преобразованиям. При воспроизведении производится обратное преобразование в аналогувую форму, оконечное усиление и преобразование в акустические колебания. Для цифрового хранения акустической информации стали применять лазерные компакт-диски (Audio-CD) и магнитные ленты (DAT - Digital Audio Tape), которые можно считать эталонами качества. По мере развития средств вычислительной техники, возможности обычных PC доросли до того, чтобы пропускать через себя (или создавать собственный) поток цифровых аудиоданных. Почему это сложно но стало возможным, обсудим далее.
Книги | Статьи | Начало

Основы цифровой обработки сигналов

Для оцифровки аналогового сигнала применяется дискретизация по времени и квантование по уровню. Это означает, что регулярно с частотой дискретизации производятся выборки мгновенного значения аналогового сигнала. Эти выборки квантуются при помощи аналогово-цифрового преобразователя АЦП (ADC - Analog-Digital Convertor). На выходе АЦП информация представляется в виде двоичного кода - то есть числом, которое может принимать одно из множества дискретных значений, определяемых разрядностью преобразователя. Очевидно, чем выше разрядность, тем точнее это число может представлять мгновенное значение аналогового сигнала. "Может" потому, что для точности характеристика преобразователя должна быть еще и монотонной и линейной. В идеале передаточная характеристика преобразователя должна выглядеть ровной "лесенкой" с одинаковыми ступеньками (линейность) и без провалов (монотонность). Поскльку мгновенные значения сигнала не "обязаны" попадать на ступеньки этой лесенки, при преобразовании возникают шумы квантования - в среднем, половина кванта. Для высококачественной передачи музыки разрядность преобразователя должна составлять, по крайней мере, 16 бит - что мы и имеем в аудио CD, на качество которого будем ориентироваться для определенности.
Выбор частоты дискретизации определяется теоремой Котельникова: для адекватного восстановления частота дискретизации должна быть больше удвоенной частоты высших спектральных составляющих входного сигнала (а лучше - с запасом). Чтобы не интересующие нас более высокие частоты не искажали оцифровку, они должны быть тщательно отфильтрованы. В том же CD частота 44.1 кГц позволяет воспроизводить сигнал в полосе до 20 кГц - весь слышимый спектр.
Обратное преобразование выполняется с помощью цифро-аналогового преобразователя ЦАП (DAC - Digital-Analog Converter), на вход которого поступает цифровой поток с той же частотой. Аналоговый сигнал после ЦАП должен быть опять-таки отфильтрован - частоты выше половины частоты квантования должны быть подавлены. К ЦАПу предъявляют те же требования по разрядности, линейности и монотонности. Разрядность АЦП и ЦАП могут и не совпадать - эффективная разрядность тракта будет определяться наименьшим значением (включая разрядность находящегося между ними цифрового канала передачи или хранения информации). Заметим, что достаточно быстродействующий (около 20 мкс/преобразование) 16-разрядный АЦП стал широкодоступным только около 10 лет назад. ЦАПы реализуются проще, поэтому проигрыватели CD получили массовое распространение довольно давно.
Итак, на выходе АЦП мы имеем поток данных с интенсивностью 16 бит x 44.1 кГц = 86.1 Кбайт/с на один канал, а если хотим стерео - то около 170 Кбайт/с. Если такой поток покажется слишком интенсивным, можно "смирить гордыню" - понизить частоту и разрядность квантования. Очевидно, что с понижением частоты дискретизации пропорционально снизится и доступная полоса частот. Снижение разрядности приведет к повышению погрешности - уровня шумов квантования. Каждый отброшенный двоичный разряд повысит уровень этого шума на 6 дБ. Если нас интересует только разборчивая передача речи, можно "опуститься" до 8-битного преобразования с частотой 5 кГц - в моно-варианте это даст поток около 5 Кбайт/с.
Теперь обсудим, что можно делать с этим потоком полезного, и на что способен PC.
Первое, что приходит в голову - запись и воспроизведение. Нетрудно прикинуть, что на дискету 1.44 Мб можно уместить около 5 минут речи с низким качеством. А 1 минута стереомузыки с качеством CD занимает около 10 Мб (на CD умещается до 74 минут), так что есть повод задуматься о компрессии. Аппаратные средства цифровой записи и воспроизведения для PC достаточно просты - АЦП, ЦАП и средства доставки потока данны на диск или с диска. Этими средствами обладает любая звуковая карта, в качестве "транспорта" традиционно используется канал прямого доступа к памяти (DMA) шины ISA. Этот канал справляется с любым аудиопотоком, вопрос лишь в размещении данных - звукозапись с высоким качеством довольно расточительно расходует дисковое пространство. Базовое ПО, обеспечивающее цифровую звукозапись в Windows - приложение "Фонограф" - позволяет выбирать частоту и разрядность преобразования, количество каналов (моно/стерео), а также формат данных (PCM, ADPCM). На форматах остановимся подробнее.
Вышеописанный простой способ цифрового представления сигналов называется импульсно-кодовой модуляцией (ИКМ) или PCM (Pulse-Code Modulation). Он применяется в файлах типа .WAV (Waveform - форма волны). Однако для реальных звуковых сигналов такое представление является довольно расточительным. Учитывая коррелированность соседних выборок, выгоднее передавать не непосредственные отсчеты амплитуды, а их приращения. Такое представление называется дифференциальной (или дельта-) ИКМ (ДИКМ). Поток данных можно сократить, если использовать алгоритм сжатия, применяемый в адаптивной дельта-ИКМ (АДИКМ), она же ADPCM (Adaptive Differetial Pulse-Code Modulation). Здесь передаются разности между значениями текущей выборки и величиной, "сконструированной" кодером по предыдущим кодам, причем с меньшим числом разрядов, чем сами отсчеты. Конечно, восстановленный сигнал при таком представлении будет больше отличаться от исходного, чем при обычной ИКМ, но можно добиться существенного сокращения потока цифровых данных. ADPCM стала широко применяться при цифровом хранении (CD-XA) и передаче аудиоинформации (например, в голосовых модемах). Алгоритм ADPCM с точки зрения процессора PC может быть реализован как программно, так и аппаратно средствами звуковой карты (модема). Более сложные алгоритмы и высокая степень сжатия применяются в аудиокодеках MPEG. В настоящее время стали популярными звукозаписи в формате MPEG-2 Layer 3 (файлы типа .MP3), которые могут быть декодированы на современных компьютерах программным способом. При сохранении достаточно высокого качества (лучше аналоговой магнитной записи, но чуть хуже аудио-CD) здесь достигается более чем десятикратное сжатие объема данных по сравнению с аудио-CD. Декодеры MP3 позволяют выводить сигнал как на ЦАП любой звуковой карты, так и в .WAV-файлы. Графические карты с MPEG-декодерами зачастую имеют аналоговый аудиовыход - декодер встроен в чипсет этих плат. Аудиопоток MPEG-2 может содержать две пары широкополосных каналов (фронт и тыл), а также один низкочастотный (до 100 Гц).
Желание "обучить" PC звукозаписи возникло задолго до появления звуковых карт с АЦП/ЦАП и было реализовано даже через динамик AT-286. Для преобразования аналогового сигнала в дискретную форму использовался принцип широтно-импульсной модуляции. Для оцифровки звука умельцы использовали несложную схему, состоящую из усилителя-фильтра на операционном усилителе и компараторе. С выхода этой схемы двуполярный дискретный сигнал (1 бит) поступал на один из управляющих входов COM-порта. Программа записи замеряла интервалы времени между переключениями этого бита и записывало эти значения в файл. Воспроизводящая программа считывала данные из файла, и с теми же интервалами переключала бит 1 порта динамика (061h). Динамик выступал в роли фильтра нижних частот этого дискретно-аналогового преобразователя. На машинах с большим динамиком (он лучше фильтровал) удавалось добиться внятного воспроизведения речи, правда процессор 286 был занят этим процессом полностью.
Структура звуковой карты
Рис. 1. Структура звуковой карты
Рассмотрим состав аппаратных средств простейшей звуковой карты (рис. 1). Аналоговые сигналы от различных источников - микрофона, CD (здесь обычно используется аналоговый интерфейс CD-ROM), линейного входа, а также ЦАП и синтезатора - смешиваются микшером. Микшер для каждого входа имеет аналоговые регуляторы с цифровым управлением, позволяющие изменять усиление и баланс стереоканалов. Микшер может быть дополнен регулятором тембра - простейшим регулятором усиления высоких и низких частот или многополосным эквалайзером (на рисунке не показан). С выхода микшера аналоговый сигнал поступает на линейный выход и оконечный усилитель. Мощности усилителя, устанавливаемого на звуковых картах, достаточно для "раскачки" небольших пасивных колонок или наушников. Любопытно, что на некоторых высококачественных картах усилитель маломощный, работающий только на наушники или активные колонки - мощному усилителю в общем-то не место рядом со слаботочными сигнальными цепями.
Собственно цифровые каналы звуковой карты проходят через интерфейсные схемы от шины расширения до ЦАП и от АЦП обратно к шине. Для передачи потоков данных традиционно используются каналы DMA шины ISA - один 8-битный и один 16-битный. Несмотря на наличие двух каналов DMA далеко не все карты позволяют работать в полнодуплексном режиме цифрового канала - одновременно и независимо вводить и выводить цифровой поток. Полный дуплекс нужен, например, для IP-телефонии: аналоговый сигнал от микрофона поступает на АЦП, с которого цифровой поток в сжатом виде укладывается в пакеты IP-транспорта. Одновременно из принятых пакетов данные через ЦАП направляются на аудиовыход. В структуре, изображенной на рис. 1, эти потоки пересекутся в микшере. Полный дуплекс обеспечивают далеко не все модели звуковых карт. Полнодуплексные карты имеют раздельные микшеры для записи и воспроизведения, есть карты и с более сложной структурой.
О синтезаторах и портах MIDI поговорим позже, а сейчас вернемся к обработке оцифрованного аудиосигнала.
Цифровое хранение обеспечивает богатейшие возможности нелинейного монтажа аудиозаписей. Под нелинейностью подразумевается возможность произвольного доступа к любым фрагментам записи. Даже простейшие средства "фонографа" позволяют вырезать или вставить любой фрагмент записи, состыковать (один за другим) фрагменты или наложить один на другой. Программная реализация монтажа является "бескровной" и позволяет легко отказаться от проведенных действий. После такого монтажа работа с магнитной лентой, ножницами и скотчем, которой не было альтернативы еще в 80-е годы, кажется кошмаром (а ведь делали!). Поиск начала и конца требуемого фрагмента делается теперь с помощью точного указателя-курсора, а не на слух, протягивая ленту туда-сюда по магнитной головке вручную.
При цифровом хранении легко реализуются многие эффекты, которые ранее требовали громоздких электромеханических или электроакустических устройств или сложной аналоговой электроники. Прежде всего, это искусственная реверберация и эхо. Известно, что в закрытом помещении (например, зале), от источника до слушателя доходит не только прямой звук, но и отраженный (многократно) от различных поверхностей (стен, колонн и т.п). Отраженные сигналы приходят относительно прямого с различными задержками и затуханием. Это явление называется реверберацией. Акустика зала (реверберационные характеристики) должна соответствовать его назначению - в помещении с малой реверберацией музыка будет звучать "сухо", а в помещении с длительной реверберацией речь будет неразборчивой. В студиях звукозаписи естественную реверберацию часто подавляют, а в запись добавляют искуственную реверберацию "по вкусу". В до-цифровую эпоху использовали ревербераторы на электромеханических линиях задержки, акустические камеры с микрофонами или магнитофонные ревербераторы. Все это было и дорого, и громоздко, некачественно и трудно управляемо. При цифровой записи или воспроизведении реверберация достается практически даром. Для этого достаточно на вход ЦАП подавать не просто очередную выборку, а сложить ее с одной или несколькими предыдущими выборками, которые еще присутствуют в памяти. Конечно, эти "отстающие" выборки должны быть уменьшены по уровню - в цифровой форме эти операции выполнить не проблема. Задержку (отставание выборки) и уровень каждого эхо-сигнала легко задать программно, количество составляющих определяется только производительностью процессора, обрабатывающего эти сигналы. Таким образом, появляется возможность имитации воспроизведения в каком-либо знаменитом зале - для этого достаточно снять его характеристики и заложить их в программу (конечно, на практике это не совсем просто, но возможно). Искуственное эхо технически отличается от реверберации лишь большим временем задержки, так что теперь и с ним нет проблем.
На основе смещения выборок можно делать и более сложные эффекты. В цифровой форме представления легко имитируется эффект Допплера - изменение частоты при быстром приближении/удалении источника звука к слушателю. С этим эффектом сталкивались все - однотонный свисток приближающегося поезда звучит выше, а удаляющегося - ниже реального тона. В цифровом виде при воспроизведении накопление отставания выборок приведет к понижению тона, а сокращение отставание - к повышению. Конечно, как и невесомость в самолете, этот эффект действует недолго - до переполнения или опустошения буфера выборок. Но если отставание "покачивать", возникает эффект частотной модуляции. Управляя "качанием" одной или нескольких выборок, можно получать такие эффекты, как как "расстроенный рояль" (синусоидальное покачивание одной-двух выборок), "хорус" (псевдослучайные колебания нескольких выборок), "фэйзинг" и некоторые другие.
Кроме фокусов с задержками, возможно использование и цифровой фильтраци - от реализации простейших темброблоков и эквалайзеров, до "вырезания" голоса из песни (эффект "караоке").
Все упирается в фантазию программиста и вычислительные ресурсы процессора. Раньше обработка сигналов в реальном масштабе времени была уделом лишь специализированных сигнальных процессоров (например, TMS). В них предусмотрены специальные средства для таких функций, как, например, быстрое преобразование Фурье. Теперь же эта работа под силу и "обычным" Pentium, не говоря уже о MMX и Pentium II. Специализированные сигнальные процессоры DSP (Data Signaling Processor) входят в состав "продвинутых" звуковых карт. Как и графические акселераторы, они позволяют выполнять действия по обработки сигналов, не загружая центральный процессор. Это немаловажно: например, чтобы иметь возможность работать на компьютере (Pentium MMX-166), слушая музыку из MP3-файлов через обычную звуковую карту (GUS), пришлось отключить все "навороты" типа эквалайзеров и т.п. Для тех же, кто не считает необходимостью приобретение дорогих карт, существует масса программных продуктов, реализующих сложные эффекты и на центральном процессоре PC.

Михаил Гук (Mgook@stu.neva.ru)
Опубликовано в газете "КомпьютерИнфо" (СПб.) 29-38, 1998 г.
Публикация в печатных изданиях только с разрешения автора, ссылка обязательна.
Книги | Статьи | Начало | Продолжение
 
Copyright (c) М. Гук, 1999. Дизайн (с) О. Гук, 1999.