1807 год. Англичанин Томас Юнг поставил опыт с закопченным стеклом и шипом розы, прикрепленным сургучом к бокалу. В изначальной позиции острие шипа было приставлено к стеклу. После удара по бокалу он зазвенел, а ученый начал сдвигать стекло в сторону и получил нарисованную (процарапанную шипом) форму звуковой волны. Практически то же самое, что мы видим в программах-звуковых редакторах сейчас, через 200 лет. Данная кривая показывает колебания в процессе времени. Но любая звуковая волна в природе является сложной. Даже когда мы дергаем струну, колышется не только она, но и ее отдельные части. То есть в формировании любого звука участвует множество частот. Как разгадать эту загадку природы и проникнуть внутрь процесса?
Жан Батист Жозеф Фурье (почти как Жан Батист Эмануэль Зорг из "Пятого Элемента":)) в том же 1807 году предположил, что любую сложную периодическую функцию можно разложить на ряд простых синусоидальных. И хотя он разрабатывал эту тему далеко не для звука, а для тепловых распределений, его идеи нашли свое место во всех областях современной науки. В том же начале 19 века немецкий ученый Георг Ом серьезно задумался о том, как наш мозг анализирует звук, и пришел к выводу, что он его расщепляет на определенные частоты, то есть на простые синусоидальные колебания. В результате осталось только ждать соединения данных открытий и применения на практике.
Поэтому на данный момент мы можем видеть представление звуковой волны сразу в двух проекциях - амплитудно-временной (каким ее увидел Юнг) и амплитудно-частотной (таким, как ее предполагал Ом). Переход от одного вида к другому производится с помощью преобразования Фурье, а обратно - с помощью обратного преобразования Фурье. На данный момент в программировании активно используется метод быстрого преобразования Фурье (БПФ, в англоязычной терминологии FFT).
И все это имеет прямое отношение к форматам современных аудиофайлов. Если говорить о временной проекции, то сжатие аудиоинформации без потерь возможно только по принципам известных нам архиваторов ZIP и RAR, но с учетом чисто звуковой специфики. Данные программы называются lossless-кодеками (самые распространенные FLAC, Monkeys Audio, WavPack, Optimfrog и т.д.) и они обеспечивают сжатие примерно в два раза без потери данных.
Но ведь есть часть звуковой информации, которую, по теории, ухо человека воспринять не может или воспринимается не всеми людьми. Ее можно удалить, перейдя к частотному представлению. Причем, например, для простой передачи речи из спектра можно изъять достаточно много "ненужного", соответственно сузив ширину потока передаваемых данных. И так далее... Данное кодирование называется lossy-compression, то есть кодирование с потерями данных, и в своей основе оно использует частотное, а не временное представление звуковой волны.
Наиболее распространенные форматы
аудиофайлов
MP3 (MPEG audio layer III) - наиболее распространенный формат сжатых аудиофайлов, основанный на психоакустических свойствах нашего восприятия, и за его основу взято частотное представление звуковой волны. Чтобы не вникать в научные детали, можно привести сравнение с графическими файлами JPEG, существующими по схожему алгоритму, поскольку в графике частоты сопряжены с определенными цветами, а в звуке - с высотой тона.
Кодирование в МР3 всегда связано с деструктивными изменениями в файле, что приводит к ухудшению качества. Но при этом есть большая выгода, выраженная в меньших в несколько раз размерах файла, по сравнению с Wav и CDDA. В первых МР3-файлах изначально использовался постоянный битрейт, и для простоты вы его можете высчитывать по формуле: Размер файла/ Его длительность по времени. Но перед разработчиками стали две существенные проблемы - улучшение качества на низких битрейтах, что является самым главным минусом этого стандарта, и еще большее уменьшение размеров файлов.
Этого можно достичь, используя изменяемый битрейт (Variable Bitrate - VBR), и он применим, поскольку в разных временных точках композиции может быть различный по структуре и насыщенности частотный спектр. То есть в зоне особой насыщенности битрейт увеличивается, а в зоне скудности - уменьшается. Как средний вариант в некоторых кодеках предусмотрен ABR (average bitrate - средний битрейт - ширина потока аудиоданных незначительно изменяется, отклоняясь от определенно заданного значения).
Что касается наилучших программ для кодирования, то их на самом деле не много - Fraunhofer L3enc (DOS), Fraunhofer MP3enc (кроме версии 3.0, там ошибка), Fraunhofer MP3 Producer 2.1, AudioActive 2.*, Fhg Radium MP3 codec v1.263, Lame 3.* и выше, FhG - Thomson (встроено в MusicMatch Jukebox и ряд других программ), SoloH Mpeg Encoder (0.7). Чуть менее качественные Xing, BladeEnc, rJPa MPx Encoder. Хотя данная информация имеет чисто ознакомительный характер, поскольку внятных алгоритмов тестирования практически нет.
МР3 файлы широко распространены, поддерживаются большинством ПО, и, кстати, данный стандарт является единственным сторонним, поддерживаемым Windows Media Player (Microsoft пользуется только своими технологиями и стандартами). Как многоканальную разновидность МР3, можно привести разработанный в конце 2004 года MP3 Surround, в который записываются файлы 5.1.
MP3Pro - улучшение качества на низких битрейтах связано с внедрением стандарта МР3Pro и введением технологии SBR (spectral band replication). Суть ее состоит в том, что частотный спектр звукового файла делится на два - низкочастотный (примерно до 8 КГц) и высокочастотный. Соответственно, первый сжимается более качественно, второй - менее, причем в виде небольших по размерам дополнительных данных, что в результате дает более качественную "картинку", хотя некоторые плееры, не имеющие специального кодека, "высокочастотную часть" не читают вообще. А нормальных кодеков пока и нет.
AAC (MPEG-2/4 advanced audio coding) / MP4 - этот стандарт был разработан как следующий виток развития МР3, но на данный момент не является самым популярным из-за большой распространенности последнего. На самом деле он намного качественнее и эффективнее МР3 практически во всех областях - при кодировании с постоянными и переменными битрейтами, в плане стереоразделения, улучшенной обработки частот выше 16 КГц, расширенной многоканальности до 48 каналов. Что интересно, данный стандарт аудиофайлов одновременно зарегистрирован как 7-я часть MPEG-2 и 3-я часть MPEG-4, хотя между ними есть некоторая разница. Причем данные файлы редко можно встретить в "чистом" виде, а чаще всего вы столкнетесь с двумя расширениями - *.m4a и *.m4p (защищенный от копирования), по сути, это "контейнеры", и в них может храниться сколь угодно треков и так далее. Если вы встречаете аббревиатуру AAC HE (High Efficiency - высокая эффективность) или AAC Plus, то это значит, что используется технология SBR, и данный стандарт подходит для кодирования на низких битрейтах. В отличие от MP3Pro, SBR заложена в саму суть стандарта, а не выпущена как патч к нему, и полноценно поддерживается AAC-кодеками.
MPC (Musepack/MPEG Plus) - в данном случае мы говорим о разработке энтузиастов, родственным для которой является не стандарт МР3, а его предшественник - MP2. Причем многими любителями сжатого аудио MPC выделяется как один из наиболее качественных стандартов. В нем используется переменный битрейт (VBR) с очень большим диапазоном, иногда доходящим и до 600 Кбит/с, в то время как у МР3 максимальным является 320, а у МР2 - 384 Кбит/с. Для кодирования в данный формат необходимы программы серии Stream Version.
WMA (Windows Media Audio) - данная lossy-compression разработка Microsoft является альтернативой МР3, показывая неплохие характеристики сжатия и качества, особенно на низких битрейтах. У WMA достаточно серьезно продумана копирайт-защита, из-за чего в некоторых случаях он теряет в плане популярности, по сравнению с МР3. Для низких битрейтов по аналогии с МР3 и ААС у WMA есть свой стандарт - WMA Pro.
Ogg Vorbis - пожалуй, один из самых интересных форматов, который был разработан некоммерческой организацией Xiph.org. Он абсолютно бесплатен и нет никаких патентных ограничений для использования Ogg в коммерческих приложениях (MP3 и WMA требуют деньги за использование). Поэтому формат Ogg достаточно широко распространился среди разработчиков игр. На рынке медиа-продукции он менее популярен, чем МР3, хотя не заслуженно, поскольку на данный момент является одним из самых качественных и широких по возможностям, и, может быть, сравним с ААС, вернее, пока с ним сравнивают ААС. Применяемые алгоритмы достаточно мощны и уникальны, звучание получается гораздо лучше, чем у МР3, но сам декодер требует значительных ресурсов для своей работы, что проявилось при попытках внедрения данного стандарта в портативные плееры (примерно в два раза больших ресурсов, чем МР3). В результате полноценного внедрения стандарта не получилось, и сейчас есть информация, что разрабатывается более "облегченный" вариант - Vorbis II, являющийся, по сути, усеченным Vorbis.
Качество и битрейты - разговоры о качестве сжатия с помощью lossy-compression кодеков весьма необъективны, поскольку, как вы поняли, применяются различные алгоритмы, но имеет смысл выделить несколько основополагающих значений:
- 4 Кбит/с - минимально для передачи речи;
- 8 Кбит/с - телефонное качество;
- 32 Кбит/с - качество АМ-радио;
- 96 Кбит/с - качество FM-радио;
- 128 Кбит/с - типичное качество для демо-музыки;
- 256-320 Кбит/с - качество, "близкое к CD".
На этом пока все!
Кристофер,
christopher@tut.by
Горячие темы