Среди алгоритмов сжатия широко известны MPEG-1 Layer I, II, III (последний также называют MP3), MPEG-2 AAC (Advanced Audio Coding), Ogg Vorbis, Windows Media Audio (WMA). Сжатие оцифрованного звука по этим методам позволяет уменьшить объем данных в десять и более раз. Применительно к сжатому звуку, помимо частоты дискретизации и разрядности, используют третье понятие – битрейт – объем данных, соответствующий одной секунде звучания и измеряющийся в килобитах в секунду (Кбит/с, kilobits per second). При прочих равных параметрах, чем ниже битрейт, тем больше степень сжатия и, соответственно, ниже качество.
На практике нужно стараться по возможности обрабатывать звуковые данные в несжатом виде, а сжимать их уже на завершающем этапе. Каждая последующая перекодировка неизбежно только ухудшает качество: сжатие – процесс односторонний и необратимый. Точно так же ресэмплинг (от англ. resampling – изменение частоты дискретизации оцифрованных аудиоданных) не способен восстановить в сигнале изначально отсутствующие в нем данные!
Синтез звука и формат MIDI
До настоящего момента речь шла об оцифровке и обработке реального звука, получаемого и записываемого с различных источников. Существует и совершенно иная задача – создание (синтез) звука на компьютере. Синтезатор – это набор управляемых генераторов, способный выдавать звуки с заданными характеристиками по командам исполнителя-музыканта.
Известно всего два метода синтеза звука: FM (Frequency modulation – частотная модуляция) и WT (Wave Table – таблично-волновой). В основе FM-синтеза лежит идея, что любое колебание является суммой простейших синусоид. Таким образом, можно наложить друг на друга сигналы от конечного числа генераторов синусоид и путем манипуляций с их частотами и амплитудами извлечь звуки, похожие на настоящие, полученные физическими методами.
Таблично-волновой WT-синтез основан на преобразовании заранее записанных (оцифрованных) образцов звуков реальных музыкальных инструментов. Эти образцы (сэмплы) хранятся в постоянной памяти синтезатора и составляют таблицу (sample table), из которой выбираются нужные звуки.
Синоним слова «синтезатор» – секвенсор (от англ. sequence – последовательность). Музыкальный синтезатор – это устройство, работающее с последовательностью команд или описаний. Нередко синтезаторы выполняются в виде самостоятельных электронных устройств, снабженных собственной клавиатурой и интерфейсами вывода звука, и являются полноценными музыкальными инструментами. Роль синтезатора может играть и обычный персональный компьютер, в котором синтезатор представлен двумя способами.
• Аппаратный синтезатор является частью звуковой карты. Действия выполняет собственный микропроцессор звуковой карты, с его же помощью звук выводится в виде цифровой последовательности или WAVE-файла.
• Программный синтезатор – программа, способная эмулировать работу аппаратного синтезатора. Она выполняется центральным процессором компьютера. Первоначально звук выводится в цифровую последовательность (WAVE-файл). Примеры программных синтезаторов – виртуальные устройства, входящие в состав операционной системы Microsoft Windows: Microsoft MIDI Mapper и Microsoft Wavetable Synth.
В обоих случаях синтезатор получает от управляющего устройства или программы последовательность команд, а выдает оцифрованный звук – последовательность мгновенных значений сигнала, сгенерированного им самим. Команды или данные, передаваемые любому синтезатору, описываются спецификацией MIDI (Musical Instrument Digital Interface – цифровой интерфейс музыкальных инструментов). Эта спецификация, или стандарт, включает в себя и требования к аппаратным средствам, например кабелям и разъемам, и договоренности о способах кодирования данных. Для нас существенно последнее. Устройство управления, например подключенная к компьютеру внешняя MIDI-клавиатура, или программа, например Sound Forge, отправляет синтезатору команды MIDI.
MIDI-последовательность очень похожа на партитуру или нотную запись вообще – это последовательность команд: какую ноту взять, на каком инструменте, какова продолжительность и тональность ее звучания и т. д. Знакомые многим MIDI-файлы (MID) – не что иное, как последовательность таких команд, записанных в виде файла.
Звучать один и тот же MIDI-файл может на разных синтезаторах по-разному, точно так же, как отличается исполнение одних и тех же нот разными музыкантами: все зависит от умения исполнителя и качества инструмента, на котором он играет. Работа с MIDI не является прямой задачей Sound Forge: основное назначение этой программы – обработка оцифрованного звука. Для создания композиций с использованием звукового синтеза специально предназначены такие приложения, как Cubase, Logic Audio или Cakewalk. Программа Sound Forge располагает базовыми возможностями управления MIDI-синтезатором и в основном может быть полезна при создании и редактировании сэмплов для синтезатора.
Воспроизведение звука на компьютере
Воспроизведение цифрового звука – процесс, обратный оцифровке. Устройство, входящее в состав звуковой карты компьютера, – цифроаналоговый преобразователь (ЦАП) получает от программы-проигрывателя последовательность записей моментального уровня сигнала и выдает на выходе последовательность электрических импульсов соответствующей величины. Данный процесс также иллюстрирует рис. 1.5, но теперь из отдельных дискретных величин строится непрерывный аналоговый сигнал. Строго говоря, сначала сигнал, выдаваемый ЦАП, обладает выраженными «ступеньками». Благодаря устройству выходных каскадов звуковой карты и инерционности динамиков эта неравномерность сигнала сглаживается и приближается по форме к тому сигналу, который ранее оцифровывался. Таким образом, из цифрового образа достаточно точно восстанавливается исходный аналоговый звук.
Как правило, для хранения цифровой звук дополнительно сжимается, поэтому при воспроизведении сжатый файл предварительно декомпрессируется. Это происходит совершенно незаметно для пользователя – достаточно, чтобы в системе были установлены соответствующие программные компоненты – кодеки. Слово «кодек» – сокращение от «кодер – декодер», так как обычно и программа кодирования, и программа декодирования устанавливаются вместе. Среди наиболее популярных кодеков можно назвать MP3, Lime, AAC, Ogg Vorbis, Windows Media Audio.
При открытии и редактировании файлов, записанных в одном из сжатых форматов, программой Sound Forge данные также предварительно декодируются (декомпрессируются) в формат WAVE: программа работает именно с несжатыми данными. При окончательном сохранении файла данные снова компрессируются в тот же сжатый формат, и этот процесс также бывает полностью скрыт от пользователя.
Схема на рис. 1.6 поясняет последовательность преобразований данных при оцифровке аналогового сигнала и сохранения данных в одном из сжатых форматов и наоборот. Отметим, что компрессия и декомпрессия происходят программно, а за оцифровку и воспроизведение отвечают аппаратные компоненты звуковой карты.