Смекни!
smekni.com

Управление звуковой картой компьютера (стр. 6 из 22)

III Основные программы для работы со звуком

и музыкой

В последнее время наряду с термином "мультимедиа", получил распространение другой - "музыкальные программы". Новый термин оказался столь же многозначным, что и его родитель, - этим сочетанием стали называть любые программы, имеющие дело с каким-либо звуком; при этом нередко происходит смешение основных понятий и путаница в принципах работы программ. В результате одни пользователи даже не догадываются о некоторых доступных им возможностях, а другие ошибочно возлагают на программу (и компьютер в целом) неоправданные надежды. Так постараемся же классифицировать методы работы со звуком на PC и попытаемся сделать обзор технологий и программных средств для этой цели.

Audio и MIDI

В современных компьютерах можно выделить две наиболее популярные технологии, имеющие отношение к звуку и музыке:

* Audio (аудио) - наиболее универсальная технология, представляющая произвольный звук как он есть - в виде цифрового представления исходного звукового колебания или звуковой волны (wave), отчего в ряде случаев она именуется wave-технологией. Позволяет работать со звуками любого вида, любой формы и длительности. Звуковая информация обычно хранится в файлах с расширением WAV.

* MIDI - нотно-музыкальная технология, основанная на регистрации событий, происходящих при игре на электронном инструменте, - нажатий клавиш, педалей, воздействий на регуляторы, тумблеры, кнопки и т.п. Последовательность подобных событий образует "электронную партитуру" музыкального произведения - как бы полную программу управления "автоматическим оркестром". Позволяет весьма точно записать достаточно сложное музыкальное произведение, а затем любое число раз исполнить его в точном соответствии с программой. Информация обычно хранится в файлах с расширением MID.

Audio-технология обычно применяется там, где имеется исходный звуковой сигнал, подлежащий обработке, - с ее помощью записывают, обрабатывают и сводят "живые" акустические и голосовые партии, речь, шумы, специальные сигналы и т.п. MIDI-технология снискала себе успех в создании музыкальных произведений "с нуля", посредством только электронных инструментов. При помощи MIDI-системы может быть создан как некий музыкальный каркас, к которому впоследствии будут добавлены голосовые или акустические партии, так и полноценное, законченное музыкальное произведение.

Для применения аудио-технологии достаточно простейшего звукового адаптера, содержащего АЦП и ЦАП - аналого-цифровые и цифро-аналоговые преобразователи. При этом сложность, качество и цена адаптера совершенно не влияет на принципиальные возможности обработки звука- от адаптера зависит лишь общее качество входного и выходного преобразования, а также сервисные возможности (например, быстрое аппаратное сжатие или фильтрование).

Для использования MIDI-технологии, прежде всего, нужен электронный музыкальный инструмент, преобразующий последовательность нот и команд управления в звук - обычный или сразу цифровой. Это может быть клавишный синтезатор, звуковой модуль (тонгенератор, или синтезатор без клавиатуры), музыкальная карта с аппаратным синтезатором или же программный синтезатор - программа, имитирующая работу реального синтезатора. Соответственно, все возможности, доступные в этой технологии, целиком определяются имеющимся набором MIDI-инструментов. (Подробнее об использовании MIDI в соответствующей главе).

В Windows каждая технология представлена своим типом звукового устройства. Устройства могут быть реальными (аппаратные адаптеры) и виртуальными (программы-имитаторы, генераторы, фильтры и т.п.). Общение программ с устройствами происходит посредством аудио- и MIDI-портов, которые появляются в системе после установки соответствующих устройств.

Отдельным случаем аудио-портов являются порты DirectSound. Классический (Wave, MME) аудио-порт не гарантирует предельно быстрого вывода звука - при обмене небольшими фрагментами, за счет буферизации и невысокой частоты обращений к адаптеру, возникают значительные (относительно времени звучания самих фрагментов) задержки. Интерфейс DirectSound, входящий в комплект интерфейсов DirectX, дает возможность работать с адаптером с минимальной буферизацией и накладными расходами, заметно сокращая задержки. Кроме того, в DirectSound несколько программ могут использовать один порт одновременно, что далеко не всегда возможно при работе с Wave-портами.

Классификация программ

Любая программа для работы со звуком на PC использует в той или иной форме одну из этих технологий либо обе сразу. Выделим следующие основные классы программ:

* Звуковые процессоры (audio processors)

* Системы многоканальной записи и сведения (multitrack recorders)

* Звуковые редакторы (audio editors)

* Генераторы и анализаторы сигналов (audio generators/analysers)

* Виртуальные (программные) синтезаторы (virtual/software synthesizers)

* Музыкальные редакторы (music/MIDI editors)

- Секвенсоры (sequencers)

- Трекеры (trackers)

- Нотные редакторы (score editors)

* Музыкальные процессоры (music/MIDI processors)

* Автокомпозиторы (auto composers)

* Автоаккомпаниаторы (auto accompaniment generators, jammers)

* Распознаватели нот (score recognition software)

* Преобразователи форматов (format convertors)

* Считыватели звуковых дорожек с компакт-дисков (CD rippers/grabbers)

* Психоакустические компрессоры (psychoacoustic compressors)

* Проигрыватели (players)

* Системы для радиовещания и дискотек (delivery systems)

* Утилиты и управляющие программы (utility/control software)

Многие программы сочетают в себе функции из разных классов: например, звуковые редакторы и секвенсоры нередко предоставляют также возможности процессоров (обработка в реальном времени), а музыкальные процессоры и автокомпозиторы часто имеют функции секвенсора.

1. Звуковые процессоры

Имитируют работу типовых устройств обработки звука, применяемых в студийной работе -усилителей, ограничителей, шумоподавителей, компандеров, эффект-блоков и т.п. Существует три основных типа процессоров:

* Нелинейные (off-line) - получают сигнал в виде дискового файла, предварительно записанного другими средствами, и записывают результат обработки в другой дисковый файл.

* Сквозные реального времени - получают сигнал непосредственно с аудиопорта и выводят результат в другой порт.

* Подключаемые модули (plugins) - получают сигнал от другой программы при помощи специального программного интерфейса (API) и возвращают результат обработки этой же программе. Фактическим стандартом такого интерфейса стал Microsoft DirectX. Модули обычно поддерживают обработку в реальном времени.

Процессоры первого типа разрабатывались достаточно давно, уступая место процессорам второго типа по мере роста мощности компьютеров. После появления системы DirectX популярные процессоры разрабатываются в этом интерфейсе.

Подробнее с работой звуковых процессоров ознакомимся на примере нескольких прграмм:

1. DSP/FX Virtual Pack

(Разработчик - Power Technology. Последняя выпущенная версия - 6.2.)

Программа имеет набор модулей обработки, которые могут использоваться как посредством интерфейса DirectX, так и непосредственно обрабатывать сигнал, полученный из Wave-файла или аудио-порта. Модули могут использоваться также в качестве расширителей системы многоканальной записи SAW и проигрывателя WinAMP.

Алгоритмы перенесены с аппаратной платы эффектов DSP/FX. При наличии в системе плат DSP/FX модули могут использовать процессоры плат; в противном случае вся обработка выполняется программно.

Каждый модуль поддерживает набор пресетов (предустановок) и управление параметрами посредством MIDI-контроллеров.

В состав пакета входят следующие модули обработки:

StudioVerb - параметрический ревербератор с моделированием помещения.

AcousticVerb - еще один тип ревербератора.

Optimizer - мягкий пиковый ограничитель и сглаживатель цифровых шумов (dithering).

Aural Activator - генератор гармоник для восстановления потерянных высокочастотных составляющих.

Stereo Pitch Shifter - модуль стереофонического изменения высоты. Изменяет высоту входного сигнала в соответствии с поступающими MIDI-нотами и перемещением регулятора Pitch Bend. Может использоваться для коррекции неточно выдержанных по высоте нот.

Multi-Tap Delay - имитатор множественных отражений внутри помещения, от реверберации до длительных эхо.

Analog Tape Flanger - имитатор аналогового ленточного фленжера.

Multi-Element Chorus - имитатор хорового эффекта путем моделирования пространственного разделения звука.

Parametric EQ - 8-полосный параметрический эквалайзер.

Auto-Panner - модуль автоматического позиционирования сигнала на стереопанораме.

Tremolo - модуль внесения амплитудного вибрато (тремоло).

Widener - расширитель зоны стереоэффекта.

2. Cylonix Vocoder

(Разработчик - James J. Clark. Последняя выпущенная версия - 2.00).

18-полосный вокодер реального времени.

В основу многополосного вокодера положено то, что, речевой аппарат человека работает по разностному принципу: исходный звук голосовых связок, богатый гармониками, подвергается динамическому управлению - резонансному усилению, амплитудной модуляции и фильтрованию - при прохождении через речевой тракт. Принцип работы такого вокодера состоит в разложении речевого управляющего сигнала (modulator) на заданное количество частотных полос и анализе динамики в каждой полосе. Полученные в результате анализа сигналы с определенной точностью повторяют динамику работы речевого тракта. Эти сигналы управляют банком частотных фильтров, через которые пропускается богатый гармониками несущий сигнал (carrier); в результате на выходе банка образуется "говорящий" несущий сигнал, как если бы звук подобного тембра издавали сами голосовые связки.

Как несущий, так и управляющий сигнал может быть сгенерирован несколькими способами - самой программой, введен с аудио-порта, либо взят из готового Wave-файла.

Вокодер имеет множество параметров: ширина полосы фильтра, пропорции смешивания входных и выходных сигналов, способы распознавания речевых звуков, режим воспроизведения высоты управляющего сигнала, виды отображения управляющих сигналов на банки фильтров. Различные способы отображения - сдвиг на несколько полос, инверсия, перестановка соседних полос и т.п. - позволяют в чрезвычайно широких пределах менять тембр полученного сигнала.