Технологии программирования миди

 Навигация:

 Поиск:

 Новости:

17.02.2007
Полностью переработан дизайн сайта.

6.01.2007
Добавлен раздел Наработки Полезные и интересные программы и их исходники от автора.

19.11.2006
Функции WriteVarLen и ReadVarLen портированы с СИ на Delphi читать

14.11.2006
Появилась cтатья Midi-протокол глазами программиста

24.10.2006
Написана вторая часть MMSystem Функции midiOutGetVolume midiOutSetVolume midiOutMessage midiOutShortMsg и midiOutLongMsg

12.10.2006
Добавлен раздел Multimedia , который содержит большое количество информации по мультимедийным технологиям.

1.09.2006
Добавлен раздел MMSystem в котором находятся
подробные опсания функций winmm.dll, определенных в модуле mmSystem.pas,
с примерами их использования в Delphi.

13.08.2006
Опубликован исходник приложения, записывающего игру на клавиатуре
в стандартный midi-файл SMF - 0

4.07.2006
Добавлен раздел Структура формата миди-файла

 Счетчики:
Rambler's Top100 Яндекс цитирования Rambler's Top100
 Контент:

Методы сжатия информации при работе со звуком

Чем более объем памяти WT-карты, тем реалистичнее звучание (ибо в памяти хранится больше образцов, записанных с более высоким разреше-нием). Стандарт General MIDI описывает более 200 инструментов, для хранения образцов их звучания (таблиц) требуется не менее 8 Мбайт памя-ти (минимум 20 Кбайт для каждого образца).

Известен WF-метод (Wave Form) генерации звучания, основанный на преобразовании звуков в сложные математические формулы и дальнейшем применения этих формул для управления мощным процессором с целью воспроизведения звука; от WF-синтеза ожидают еще лучшей (относитель-но FM и WT-технологий) реальности звучания музыкальных инструмен-тов при ограниченных объемах звуковых файлов .

Для сокращения потока данных используются иные (отличные от PCM) методы кодирования аналогового сигнала. Например, известна существенно сокращающая объем хранимых данных техника кодирования, основанная на известных характеристиках аналогового сигнала; при т.н. ? -кодировании аналоговый сигнал преобразуется в цифровой код, определяемый логарифмом величины сигнала (а не его линейным преобразова-нием). Недостаток метода - необходимость иметь априорную информацию о характеристиках исходного сигнала.

Известны методы преобразования, не требующие априорной инфор-мации об исходном сигнале. При дифференциальной импульсно-кодовой модуляции (DPCM, Differential Pulse Code Modulation) сохраняется только разность между текущим и предшествующим уровнями сигнала (разница требует для цифрового представления меньшего количества бит, чем пол-ная величина амплитуды). При дельта-модуляции (DM, Delta Modulation) каждая выборка состоит всего из одного бита, определяющего знак изме-нения исходного сигнала (увеличение или уменьшение); дельта-модуляция требует повышенной частоты сэмплинга. Технологии дифференциальной импульсно-кодовой модуляции связаны с накапливающейся со временем ошибкой, поэтому применяются специальные меры периодической калиб-ровки АЦП.

Наибольшее распространение при записи звука получила адаптивная импульсно-кодовая модуляция (ADPCM, Adaptive Pulse Code Modulation), использующая 8-или 4-разрядное кодирование для разности сигналов. Технология впервые была применена фирмой Creative Labs и обеспечивает сжатие данных до 4:1.

Однако часто применяются иные (программные) методы сжа-тия/распаковки аудиоинформации; среди них в последнее время наиболее популярен формат MP3, разработанный институтом Fraunhofer IIS (Fraunhofer Institutе Integrierte Schaltungen, www.iis.fhg.de) и фирмой THOMSON (полная спецификация формата MP3 опубликованы на сайте www.mp3tech.org). Полное название стандарта MP3 звучит MPEG-Audio Layer-3 (где MPEG суть Moving Picture Expert Group, не путать с предназначенным для использовании в телевидении высокой четкости стандартом MPEG-3).

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

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

Аудиоинфоpмация, сжатая по такой технологии, может передаваться потоком (streaming), а может храниться в файлах формата MP3 или WAVMP3. Отличие второго от первого состоит в наличии дополнительного за-головка WAV-файла, что позволяет при наличии MP3 - кодека (codec, ко-дер и декодер в комплексном исполнении) в системе использовать для ра-боты с таким файлом стандартные средства Windows. Параметры компрес-сии при кодировании файла можно варьировать в широких пределах. Ка-чество, неотличимое большинством рядовых слушателей от качества CD, достигается при скорости передачи (bitrate, битрейт) 112 ? 128 Кбайт в се-кунду; при этом сжатие составляет примерно 14:1 относительно исходного объема. Специалисты обычно требуют скорости передачи 256 ? 320 Кбайт/сек (это соответствует всего лишь двойной скорости CD-проигрывателя, но для большинства отечественных InterNet - линий недос-тупна).

Принципиальной особенностью MPEG-кодирования (как видео-, так и аудиоинформации) является компрессия с потерями. После упаковки и распаковки звукового файла методом MP3 результат не идентичен ориги-налу ‘бит в бит’. Напротив, упаковка целенаправленно исключает из упа-ковываемого сигнала несущественные компоненты, что и приводит к чрез-вычайному возрастанию коэффициента сжатия (сжатие до 96:1 при качест-ве телефонного канала).

Для MP3 также написано множество удобного программного обеспе-чения. Налажено производство аппаратных (карманных и автомобильных) MP3 плееров (MP3 поддерживает до 5 каналов).

На рубеже 1998 - 1999 г. фирма XingTech (www.xingtech.com) пер-вая использовала технологию переменного битрейта (VBR, Variable Bite Rate). В случае VBR задается максимальный допустимый уровень потерь, а кодер выбирает минимальный битрейт, достаточный для выполнения поставленной задачи. Стоящие рядом в конечном потоке фреймы могут ока-заться в итоге закодированными с разными параметрами.

По расчетам специалистов MP3 останется актуальным в ближайшее десятилетие (даже несмотря на существование форматов AAG и VQF и продвигаемого MS формата WMA). О существовании иных кодеров (пре-образователей информации из одного формата в другой) см. www.sulaco.org/mp3/free.html и www.xiph.org

Возможным конкурентом MP3 в (не столь близком) будущем может стать формат MPEG-4 (точнее, его аудиокомпонента), основанный на объектном подходе к звуковым сценам (язык BIFS позволяет располагать ис-точники звука в трехмерном пространстве сцены, управлять их характери-стиками и применять к ним эффекты независимо друг от друга и т.д., в следующих версиях предполагается добавление возможности задания акустических параметров среды).

Для кодирования аудиообъектов MPEG-4 предлагает наборы инстру-ментов как для ‘живых’ звуков, так и для синтезированных. MPEG-4 уста-навливает синтаксис двоичных потоков и процесс декодирования в терми-нах наборов инструментов, что позволяет применять различные алгоритмы сжатия. Диапазон предлагаемых стандартом скоростей потока для кодиро-вания живых звуков -от 2 до 128 Кбайт/сек и выше. При кодировании с переменным потоком минимальная средняя скорость может оказаться еще меньше (порядка 1,2 Кбайт/сек). Для звука высшего качества применяется алгоритм AAC, который дает качество лучше, чем у CD при потоке в 10 с лишним раз меньше. Другой возможный алгоритм кодирования живого звука -TwinVQ. Для кодирования речи предлагаются алгоритмы HVXC (Harmonic Vector eXcitation Coding) для скоростей потока 2 - 4 Кбайт/сек и CELP (Code Excited Linear Predictive) для скоростей 4 ? 24 Кбайт/сек.

MPEG-4 предполагает возможность синтеза речи. На входы синтеза-тора поступает проговариваемый текст, а также различные параметры ‘ок-раски’ голоса -ударения, изменения высоты тона, скорости произнесения фонем и т. п. Можно также задать для ‘говорящего’ пол, возраст, акцент и др. В текст можно вставлять управляющую информацию, обнаружив которую синтезатор синхронно с произнесением соответствующей фонемы передаст параметры или команды другим компонентам системы (например, параллельно с голосом может генерироваться поток параметров для анимации лица). Как и всегда, MPEG-4 задает правила работы, интерфейс синтезатора, но не его внутреннее устройство.

Интересная часть ‘звуковой’ составляющей -средства синтеза произ-вольных звуков и музыки. MPEG-4 предлагает в качестве стандарта под-ход, разработанный в колыбели многих передовых технологий -MIT Media Lab. и названный SA (Structured Audio, Структурированный Звук). Это не конкретный метод синтеза, а формат описания методов синтеза, в котором можно задать любой из существующих методов (а также, как ут-верждается, будущих). Для этого предлагаются два языка -SAOL (Structured Audio Orchestra Language) и SASL (Structured Audio Score Language). Первый задает оркестр, а второй -то, что этот оркестр должен играть. Ор-кестр состоит из инструментов, каждый инструмент представлен сетью элементов цифровой обработки сигналов -синтезаторов, цифровых фильт-ров, которые все вместе и синтезируют нужный звук. С помощью SAOL можно запрограммировать практически любой нужный инструмент, при-родный или искусственный звук. Сначала в декодер загружается набор ин-струментов, а затем поток данных SASL заставляет этот оркестр играть, управляя процессом синтеза; таким образом обеспечивается одинаковое звучание на всех декодерах при очень низком входном потоке и высокой точности управления. С появлением MPEG-4 фактически обретает более реальные и понятные очертания идея ITV (Interactive TeleVision, Интерак-тивное Телевидение), о котором спорят уже несколько лет и под которым каждый понимает нечто свое (от простого ‘видео-по-запросу’ до детекти-вов с многовариантным развитием сюжета и участием зрителя).

Данные о MPEG-4 приведены в основном для информации о совре-менных тенденциях записи и синтеза медиаданных, интересующихся от-сылаем к cselt.it/mpeg и www.mpeg.org. В конце 2000 г. группа разработ-чиков MPEG планировала объявить об окончании работы над стандартом MPEG-7 (официальное название -Multimedia Content Description Interface).

Содержание
 Bash.org.ru:

 Реклама:

 ©Copyright:
http://www.last.h16.ru - программирование миди. Идея, разработка и поддержка : Mo-skin © 2006-2007
X