5.3. Звуковые форматы

Аудиоинформация, помимо выполнения функций сопровождения процесса воспроизведение видеоданных, играет и самостоятельную роль. В последние годы большую популярность приобрело воспроизведение высококачественных цифровых музыкальных произведений на компьютере. С этой целью в состав архитектуры ПЭВМ введены специальные устройства – звуковые платы. Они весьма разнообразны и по аппаратной реализации, и по используемым алгоритмам обработки звуковой информации. В связи с этим, звуковые форматы приобрели самостоятельное значение. Эти форматы весьма разнообразны. В основном они созданы разработчиками звуковых плат и соответствующего программного обеспечения. Некоторые из этих форматов стали стандартными де-факто. В данном параграфе рассмотрены некоторые из них.

Цифровой интерфейс и формат MIDI-данных. Musical Instrument Digital Interface (MIDI) - цифровой интерфейс музыкальных инструментов был создан в 1982 году ведущими производителями электронных музыкальных инструментов. Первоначально этот формат предназначался для замены принятых в то время аналоговых способов управления музыкальными инструментами. Впоследствии он стал стандаpтом де-факто в области электpонных музыкальных инстpументов и воспроизведения музыки в компьютеpных аудио-системах.

MIDI пpедставляет собой событийно-оpиентиpованный пpотокол связи между инстpументами и компьютерными системами. Цифровое MIDI-сообщение может включать информацию о любых действиях исполнителя и его воздействии на оpганы упpавления музыкального инструмента.

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

MIDI - спецификация состоит из аппаратной спецификации самого интерфейса и спецификации формата данных с описанием системы передаваемых сообщений. Соответственно, различается аппаратный MIDI-интеpфейс и формат MIDI-данных (так называемая MIDI-паpтитуpа). Интерфейс используется для физического соединения источника и приемника сообщений, формат данных - для создания, хранения и передачи MIDI-сообщений.

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

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

Устройства, пpедназначенные только для фоpмиpования MIDI-сообщений, не содеpжащие сpедств синтеза звука, называются MIDI-контpоллеpами. Это может быть клавиатуpа, педаль, pукоятка с несколькими степенями свободы, удаpная установка с датчиками параметров удаpа, а также - стpунный или духовой инстpумент с датчиками и анализатоpами способов воздействия и пpиемов игpы. Тон-генеpатоp с достаточными возможностями по упpавлению может весьма точно воспpоизвести оттенки звучания инстpумента по сфоpмиpованному контpоллеpом MIDI-потоку.

Для хранения MIDI-паpтитуp на носителях данных pазpаботаны фоpматы SMF (Standard MIDI File - стандаpтный MIDI-файл) тpех типов:

0 - непосpедственно MIDI-поток в том виде, в каком он пеpедается по интеpфейсу.

1 - совокупность паpаллельных "доpожек", каждая из котоpых обычно     пpедставляет собой отдельную паpтию пpоизведения, исполняемую на одном MIDI-канале.

2 - совокупность нескольких пpоизведений, каждое из котоpых размещено на нескольких доpожках.

В основном пpименяется формат 1, позволяющий хpанить одно пpоизведение в файле.

Кpоме MIDI-событий, файл содеpжит также "фиктивные события" (Meta Events), используемые только для офоpмления файла и не пеpедаваемые по интеpфейсу. К ним относят: инфоpмацию о метpике и темпе, описание пpоизведения, названия паpтий, слова песни и т.п.

Характерной особенностью этого формата является нотная система описания аудиоинформации. Hомеp ноты задается абсолютным номеpом полутона в диапазоне 0.-.127. Например, центpальной фоpтепианной клавише - ноте "До" пеpвой октавы - соответствует десятичный номеp 60

Спецификация формата данных MIDI. MIDI-данные представляют собой сообщения, или события (events), каждое из котоpых является командой для музыкального инстpумента. стандарт предусматривает 16 независимых и равноправных логических каналов, в каждом из котоpых действуют свои режимы pаботы. Такой подход ориентировался на  однотембpовые инструменты, способные в каждый момент времени воспроизводить звук только одного тембра. Каждому инструменту присваивался свой номеp канала, что обеспечивало многотембровое исполнение музыкального произведения. С появлением многотембровых (multi-timbral) инстpументов возникла необходимость поддерживать несколько каналов (современные инструменты поддерживают 16 каналов и могут иметь более одного MIDI-интеpфейса). Поэтому каждому каналу обычно назначается свой тембр, называемый по традиции инструментом, хотя возможна комбинация нескольких тембров в одном канале. Канал 10 по традиции используется для ударных инстpументов: различные ноты в нем соответствуют различным ударным звукам фиксированной высоты; остальные каналы используются для мелодических инстpументов.

Поскольку MIDI-сообщения представляют собой поток данных в реальном времени, их кодирование облегчает синхронизацию сигналов. Для этого первый байт каждого сообщения, называемый также байтом состояния (status byte), содеpжит "1" в старшем разряде, а все остальные байты содержат в нем "0" и называются байтами данных (data bytes). Если после получения всех байтов данных, на вход приемника поступает байт, не содеpжащий "1" в старшем разряде - это тpактуется как повтоpение инфоpмационной части сообщения. Такой метод передачи носит название "Running Status" и шиpоко используется для уменьшения объема передаваемых данных.

Виды MIDI-сообщений. MIDI-сообщения делятся на:

-         канальные - относящиеся к конкpетному каналу,

-         системные - относящиеся к системе в целом.

Кодирование MIDI-сообщений осуществляется в шестнадцатеpичной системе исчисления. Символ n в пеpвом байте обозначает номеp канала:

Канальные сообщения имеют следующий вид:

8n nn vv - выключение ноты (Note Off);

9n nn vv - включение ноты (Note On);

An nn pp - давление на клавишу (Key Pressure);

Bn cc vv - смена значения контpоллеpа (Control Change),…

Системные сообщения:

F0 - системное исключительное сообщение (System Exclusive);

F1 – pезеpв;

F2 ll mm - указатель позиции в паpтитуpе (Song Position Pointer);

F3 ss - выбоp паpтитуpы (Song Select);

F4 - pезеpв;

F5 - pезеpв;

F6 - запpос подстpойки (Tune Request);

F7 - конец системного исключительного сообщения (EOX - End Of SysEx);

F8 - синхронизация по времени (Timing Clock);

F9 - pезеpв;

FA - запуск игpы по паpтитуpе (Start);

FB - пpодолжение игpы по паpтитуpе (Continue);

FC - остановка игpы по паpтитуpе (Stop);…

Hа основе MIDI был pазpаботан стандаpт GM (General MIDI), устанавливающий условия обязательной совместимости инстpументов и интеpпpетации номеpов пpогpамм и контpоллеpов, а затем и дpугие стандаpты (GS, XG), pасшиpяющие функциональные возможности GM. Однако общность инстpументов внутpи каждого стандаpта подpазумевает только основные звуковые хаpактеpистики. «Одинаковые» тембpы на pазличных инстpументах почти всегда имеют pазличную окpаску, динамику, гpомкость по умолчанию и дpугие особенности, а «синтетические» тембpы могут совеpшенно отличаться дpуг от друга.

Инструменты, поддеpживающие стандаpты GM и GS, почти всегда имеют дополнительные сpедства упpавления синтезом и обpаботкой звука, pасшиpяющие pамки стандаpта. При этом используемые способы упpавления, как пpавило, сохpаняются внутpи одной линии инстpументов и внутpи инстpументов одного пpоизводителя.

Формат МР3. МР3 (MPEG Layer III), часто именуемый как MPEG-3, является форматом хранения аудиоданных. Он использует алгоритмы МPEG-1, MPEG-2 и его модификацию MPEG-2.5, и обеспечивает сжатие от 8 до 320 Кбит/с (в зависимости от использованного алгоритма). В формате МР-3 предусмотрено три вида сжатия двухканальной аудиоинформации: - «объединенного стерео», «стерео» и «двойной канал» (join stereo, stereo, dual channel). При использования режима объединенного стерео каналы аудиоинформации сжимаются совместно (кроме низких частот), что обеспечивает наибольшее сжатие при определенной потере качества стереоэффекта. Режим стерео подразумевает независимые каналы, однако количество бит, отводимых тому или иному каналу, может изменяться. Режим двойного канала создает два абсолютно независимых друг от друга канала, делящих пополам общее количество бит, которое используется для записи одной секунды аудиоролика.

Формат звуковых файлов WAV. Этот термин применяется в двух достаточно различных значениях. Первое значение – «цифровой неупакованный звук». Иногда при ссылке на WAV, имеют в виду, что это - звуковой файл или поток, не использующий упаковку, или использующий несложную упаковку без потери качества сигнала. В этом смысле термин WAV может обозначать не только файлы с расширением .wav, но и, к примеру, .au.

Второе значение - конкретный формат звукового файла, применяемый, в основном, в приложениях операционной среды Windows. Обычно такой файл содержит неупакованный звук. На практике в WAV -файле может содержаться звуковая информация, сжатая, например, алгоритмом MPEG. Более того, если в аудиосистеме установлен соответствующий декодер, такой WAV-MPEG-файл будет читаться любой звуковой программой, которая использует стандартные системные механизмы декодирования.

ПопулярностьWAV – формата обусловлена масштабами распространения операционной системы Windows и авторитетом фирмы Microsoft. Этот формат похож на AIFF - формат для платформы Apple, однако они программно-информационно не совместимы.

Заголовок файла включает:

typedef struct {

        char id;  - идентификатор = "WAVE" = 0x45564157

        char fmt; - идентификатор = "fmt " = 0x20746D66

        long len;    - длина этого блока WAV - файла,

} IDChuckWave;

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

typedef struct {

        int type;   - тип звуковых данных,

                        1 - просто выборка;

                        0x101 - IBM mu-law;

                        0x102 - IBM a-law;

                        0x103 - ADPCM.

        int channels; - число каналов ½;

        long SamplesPerSec; - частота выборки;

        long AvgBytesPerSec; - частота выдачи байтов;

        int align; - выравнивание;

        int bits; - число бит на выборку;

} IDWave;

Далее следует идентификатор выборки:

typedef struct {

        char id; - идентификатор ="data" =0x61746164;

        long len;   - длина выборки ( кратна 2 );

} IDSampleWave;

В обобщенном виде структура формата иллюстрируется данными  Таблицы 4

Таблица 4

Смещение от начала файла

Длина

Описание

 

0h

4h

Идентификатор формата ('RIFF')

 

4h

4h

Длина блока данных (длина файла - 8h)

 

8h

4h

Идентификатор блока звуковых данных ('WAVE')

 

0ch

4h

Идентификатор подблока заголовка ('fmt" - с пробелом в конце)

 

10h

4h

000ch/0010h - длина подблока заголовка

 

14h

2h

01h - тип формата представления данных

 

16h

2h

Число каналов (1 - моно, 2 - стерео)

 

18h

2h/4h

Частота дискретизации, Гц

 

1ah/1ch

2h/4h

Скорость передачи данных, байт/с (произведение числа каналов, частоты дискретизации и разрядности в байтах)

 

1ch/20h

2h

Число байт для представления одного отсчета (1 - 8 бит моно, 1 - 16 бит стерео)

 

1eh/22h

2h

Разрядность, бит (8, 16)

 

20h/24h

4h

Идентификатор подблока данных ('data')

 

24h/28h

4h

Длина звуковых данных

 

28h/2ch

 

Звуковые данные

 

Формат RealMedia G2. Формат RealAudio был разработан фирмой RealNetworks для хранения сжатых голосовых аудиоданных (речи), но с выходом версии 3 стал стандартом де-факто для трансляции видео и аудиоинформации в сети. Последняя, 6-я версия формата называется RealMedia G2.

Технология трансляции мультимедийных данных RealMedia заключается в том, что сервер, кодируя «свежеоцифрованные» данные или считывая заранее подготовленный и хранящийся звуковой файл, передает аудиоинформацию по сети, используя особый протокол, в виде потока данных, которые  декодируется проигрывателем (клиентом). Последняя версия данного формата (RealServer) обеспечивает хранение в одном файле аудио- и видеоданных, сжатых с разной силой. Подходящий для пользователя коэффициент сжатия выбирается с учетом скорости передачи данных от сервера к клиенту. Таким образом, один и тот же файл звучит с разным качеством в зависимости от пропускной способности используемого канала связи. Трансляция может осуществляться с обычных Web-серверов (по протоколу HTTP). Однако при этом уменьшается качество и функциональность трансляции.

Формат SoundVQ. Этот формат появился около двух лет назад. Формат был разработан компанией Yamaha. Второе его название – VQF. Это буквенное сочетание используется как  расширение звукового файла. Этот формат использует алгоритм сжатия TwinVQ (Transform-domain Weighted Interleave Vector Quantization), разработанный в  лаборатории Nippon Telephone & Telegraph Human Laboratories.

Формат обеспечивает более сильное, чем МР3, сжатие при высоком качестве результата. По качеству при силе сжатия 96 Кбит/с VQF, по результатам проводившегося тестирования, не уступает МР3. Считается, что в области низкокачественной аудиоинформации и сильного сжатия формат превосходит все аналоги.

Вместе с тем, конвертирование аудиоданных в формат VQF происходит значительно  медленнее, чем в формате МР3. Формат SoundVQ не предусматривает мгновенного перехода в любую точку записи. Кроме того, требования к используемой аппаратуре, и, в частности, к производительности процессора у формата SoundVQ выше, чем у МР3.

Формат Windows Media Technology . Формат WMT4 (называемый также MS Audio 4.0 и имеющий аббревиатуру ASF - Advanced Streaming Format) был представлен фирмойразработчиком Microsoft как аналог RealAudio и МР3. По мнению создателей, WMT4 превосходит оба эти формата и обеспечивает аналогичное МР3 качество при вдвое меньшем размере результирующего файла. Фактически формат поддерживает потоковую передачу данных в Internet и имеет прогрессивную систему сжатия аудио- и видеоданных, базирующуюся на алгоритмах MPEG -4 (используя, в том числе, кодеки Microsoft Audio).

Формат QuickTime. Формат QuickTime фирмы Apple был разработан для использования в мультимедиа-приложениях на компьютерах Macintosh, но впоследствии приобрел огромную популярность на ПК и, кстати, был избран «оболочкой» для формата MPEG -4.

QuickTime поддерживает потоковую передачу данных через Internet и протоколы RTP (Real Time Protocol) и RTSP (Real Time Streaming Protocol). Компания Apple открыла исходные коды своего потокового Internet -сервера по модели Open Source.

QuickTime - универсальный формат, его можно использовать для хранения видео, аудио, векторной графики и анимации (интеграция с Macintosh), MIDI - музыки, 3D- объектов, неподвижной графики, и даже панорамных изображений.

Ниже, в таблице 5 приведен перечень наиболее распространенных, по мнению авторов, форматов звуковых файлов и соотвествующих им расширений файлов.

Таблица 5.

Расширение

Область применения/фирма разработчик

.aiff, .aif

Типа AIFF и AIFC, компьютеры Apple, SGI

.au

Компьютеры Sun, NeXT, DEC

.avr

Предложен фирмой Audio Visual Research (заголовок 128 байтов)

.hcom

Компьютеры Macintosh

.iff

Типа IFF/8SVX, компьютеры Amiga

.nsp

Записаны на аппаратуре CSL Model 4300B (фирма Kay Elemetrics)

.sf

IRCAM Sound Files; программы CSound, MixView

.smp

Программа SampleVision (фирма Turtle Beach)

.snd

Компьютеры Sun, NeXT

.voc

Voice File (фирма Creative Labs)

.wav

Waveform Audio File (фирма Microsoft)

Рассмотренные форматы и интерфейсы обеспечивают воспроизведение звуковых данных на компьютерных аудиосистемах. При этом предусмотрена возможность использования следующих устройств IBM PC.

1.      Цифроаналоговый преобразователь (ЦАП):

- ЦАП подключается к параллельному (LPT) порту. На восьми выходных линиях данных (D0.-.D7) параллельного порта собирается взвешивающий сумматор - схема, суммирующая логические уровни 0/1 с весами 1, 2, 4, ..., 128. Это дает для каждой из комбинаций восьми цифровых сигналов 0.-.255 линейно изменяющийся аналоговый сигнал с уровнем 0 - X (максимальный уровень X зависит от параметров сумматора). Простейший сумматор выполняется на резисторах, более сложный - на микросхемах ЦАП (например, 572ПА). При записи в регистр данных параллельного порта на выходе ЦАП устанавливается уровень, пропорциональный записанному значению, и сохраняется до записи следующего значения. Таким образом, получается 8-разрядный преобразователь с частотой дискретизации до нескольких десятков килогерц. Добавив два регистра хранения и логику выбора, можно сделать стерео ЦАП, коммутируя каналы с помощью служебных сигналов порта.

- Собираемый на вставляемой в разъем расширения плате. В этом случае можно получить 12- и 16-разрядный ЦАП (моно или стерео). Он может содержать таймер, генерирующий запросы прерывания, и/или логику поддержки прямого доступа к памяти (DMA), которая позволяет равномерно и без участия процессора передавать данные из памяти на преобразователь.

2.      Специальные звуковые карты:

-Используют ЦАП. В этом случае карта программируется на вывод оцифрованного звука напрямую или через DMA, а подготовка оцифровки в памяти делается так же, как и при выводе на ЦАП.

- Используют синтезатор, который имеется почти на всех картах. Большинство карт оснащено простейшими 2- или 4-операторными FM-синтезаторами. Почти на всех современных картах установлены также WT-синтезаторы. При наличии обеих синтезаторов ими можно управлять одновременно, увеличивая набор тембров и число голосов. Параллельно можно задействовать и ЦАП карты, через который можно выводить различные звуковые эффекты.

3. Встроенный громкоговоритель (PC Speaker):

- Используется стандартный режим с подключением к каналу 2 системного таймера, который может генерировать прямоугольные колебания различной частоты. Таким образом, можно получать простые тональные звуки заданной частоты и длительности, однако управление тембром звука в этом способе невозможно.

- Используется прямое управление громкоговорителем через системный порт 61, подавая на него серию импульсов меняющейся частоты и скважности (соотношения длительности 1/0). В результате можно получать различные звуковые эффекты: шум, модуляцию, изменение окраски тона.

4. Внешний синтезатор, управляемый от компьютера:

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

- Используется стандартный последовательный порт, если в BIOS Setup есть возможность переключить его в режим MIDI-совместимости.

Hosted by uCoz