MP3 -- сокращение от MPEG Layer3. Это один из потоковых форматов хранения и передачи аудиосигнала в цифровой форме, разработанный Fraunhofer IIS и THOMSON, позднее утвержденный как часть стандартов сжатого видео и аудио MPEG1 и MPEG2. Данная схема является наиболее сложной схемой семейства MPEG Layer 1/2/3. Она требует наибольших затрат машинного времени для кодирования по сравнению с двумя другими и обеспечивает более высокое качество кодирования. Используется главным образом для передачи аудио в реальном времени по сетевым каналам и для кодирования CD Audio. Полные спецификации формата доступны на сайте www.mp3tech.org.

Детали
MP3 -- потоковый формат. Это означает, что передача данных происходит потоком независимых отдельных блоков данных -- фреймов. Для этого исходный сигнал при кодировании разбивается на равные по продолжительности участки, именуемые фреймами и кодируемые отдельно. При декодировании сигнал формируется из последовательности декодированных фреймов. Высокая степень компактности MP3 по сравнению с PCM 16Bit Stereo 44.1kHz (CD Audio) и ему подобными форматами при сохранении аналогичного качества звучания достигается с помощью дополнительного квантования по установленной схеме, позволяющей минимизировать потери качества. Последнее, в свою очередь, достигается учетом особенностей человеческого слуха, в том числе эффекта маскирования слабого сигнала одного диапазона частот более мощным сигналом соседнего диапазона, когда он имеет место, или мощным сигналом предыдущего фрейма, вызывающего временное понижение чувствительности уха к сигналу текущего фрейма. Также учитывается неспособность большинства людей различать сигналы, по мощности лежащие ниже определенного уровня, разного для разных частотных диапазонов. Подобные техники называются адаптивным кодированием и позволяют экономить на наименее значимых с точки зрения восприятия человеком деталях звучания. Степень сжатия, и, соответственно, объем дополнительного квантования, определяются не форматом, а самим пользователем в момент задания параметров кодирования. Ширина потока (bitrate) про кодировании сигнала, аналогичного CD Audio (44.1kHz 16Bit Stereo) варьируется от наибольшего, 320kbs (320 килобит в секунду, также пишут kbs, kbps или kb/s), до 96kbs и ниже. Термин битрейт в общем случае обозначает общую величину потока, количество передаваемой за единицу времени информации, и поэтому не связан с внутренними тонкостями строения потока, его смысл не зависит от того, содержит ли поток моно или стерео, или пятиканальное аудио с текстом на разных языках, или что-либо еще. Кстати, несмотря на то, что в формате MP3 действительно при определенных условиях может кодироваться и пятиканальное аудио, рассмотрение всех случаев, кроме стерео, по понятным причинам не включено в данный обзор. Весь обзор построен вокруг и около процесса кодирования CD Audio. Продолжаем про битрейты. На проведенных тестах специальноприглашенные опытные эксперты, специализирующиеся на субъективной оценке качественности звучания, не смогли различить звучание оригинального трека на CD и закодированного в MP3 с коэффициентом сжатия 6:1, то есть с битрейтом в 256kbs. Правда, тесты были проведены на небольшом количестве материала, и на самом деле не все столь хорошо, нередко бывает действительно нужно пользоваться 320kbs. Для себя я счел это достаточным основанием для полного перехода на кодирование с битрейтом 320kbs. Более низкие битрейты, несмотря на их популярность, не дают возможности обеспечить надлежащее качество кодирования, что незаслуженно обеспечило MP3 дурную славу любительского формата. На самом деле, хотя и 256kbs, и даже 320kbs тоже не дают возможности осуществить полностью прозрачное кодирование, но отличия от CD Audio, по которому кодируется тестовый MP3, сравнимы с отличиями самого CD Audio от исходного аналогового сигнала, из которого он был получен путем оцифровки. То есть потери, конечно, есть, но несущественны с точки зрения того, кому качество CD Audio представляется достаточным. Фактически, их обнаружение обычно является задачей нетривиальной на аппаратуре класса Hi-Fi.

Описание процесса кодирования
Подготовка к кодированию. Фреймовая структураПеред кодированием исходный сигнал разбивается на участки, называемые фреймами, каждый из которых кодируется отдельно и помещается к конечном файле независимо от других. Последовательность воспроизведения определяется порядком расположения фреймов. Каждый фрейм может кодироваться с разными параметрами. Информация о них содержится в заголовке фрейма. Начало кодированияКодирование начинается с того, что исходный сигнал с помощью фильтров разделяется на несколько, представляющих отдельные частотные диапазоны, сумма которых эквивалентна исходному сигналу. Работа психоакустической моделиДля каждого диапазона определяется величина маскирующего эффекта, создаваемого сигналом соседних диапазонов и сигналом предыдущего фрейма. Если она превышает мощность сигнала интересующего диапазона или мощность сигнала в нем оказывается ниже определенного опытным путем порога слышимости, то для данного фрейма данный диапазон сигнала не кодируется. Для оставшихся данных для каждого диапазона определяется, сколькими битами на сэмпл мы можем пожертвовать, чтобы потери от дополнительного квантования были ниже величины маскирующего эффекта. При этом учитывается, что потеря одного бита ведет к внесению шума квантования величиной порядка 6 dB. Завершение кодированияПосле завершения работы психоакустической модели формируется итоговый поток, который дополнительно кодируется по Хаффману, на этом кодирование завершается. ЗамечаниеНа практике схема несколько сложнее. Например, необходимо согласовываться с требованиями битрейта. В зависимости от кодера это приводит при повышении битрейта к разного рода релаксациям при отборе сохраняемой части исходного сигнала, а при понижении -- наоборот, к ужесточению критериев. Способы кодирования стерео сигналаВ рамках MP3 кодирование стереосигнала допустимо четырьмя различными методами: Dual Channel -- Каждый канал получает ровно половину потока и кодируется отдельно как моно сигнал. Рекомендуется главным образом в случаях, когда разные каналы содержат принципиально разный сигнал -- скажем, текст на разных языках. Выставляется в некоторых кодерах по требованию. Stereo -- Каждый канал кодируется отдельно, но кодер может принять решение отдать одному каналу больше места, чем другому. Это может быть полезно в том случае, когда после отброса части сигнала, лежащей ниже порога слышимости или полностью маскируемой, оказалось, что код не полностью заполняет выделенный для данного канала объем, и кодер имеет возможность использовать это место для кодирования другого канала. В документации к mp3enc замечено, что этим, например, избегается кодирование "тишины" в одном канале, когда в другом есть сигнал. Данный режим выставлен по умолчанию в большинстве ISO-based кодеров, а также используется продукцией FhG IIS на битрейтах выше 192kbs. Применим и на более низких битрейтах порядка 128kbs... 160kbs. Joint Stereo (MS Stereo) -- Стереосигнал раскладывается на средний между каналами и разностный. При этом второй кодируется с меньшим битрейтом. Это позволяет несколько увеличить качество кодирования в обычной ситуации, когда каналы по фазе совпадают. Но приводит и к резкому его ухудшению, если кодируются сигналы, по фазе не совпадающие. В частности, фазовый сдвиг практически всегда присутствует в записях, оцифрованных с аудиокассет, но встречается и на CD, особенно если CD сам был записан в свое время с аудиоленты. С другой стороны, уже совершена (первая ?) попытка написать программу для автоматической коррекции фазового сдвига, адрес страницы автора -- http://www.chat.ru/~lrsp. Возможно, она немного поможет любителям кодировать оцифровки с аудиокассет с битрейтом порядка 128kbs. Режим выставлен по умолчанию продукцией FhG IIS, а также кодером Lame, для битрейтов от 112kbs до 192kbs. Joint Stereo (MS/IS Stereo) -- Вводит еще один метод упрощения стереосигнала, повышающий качество кодирования на особо низких битрейтах. Состоит в том, что для некоторых частотных диапазонов оставляется уже даже не разностный сигнал, а только отношение мощностей сигнала в разных каналах. Понятно, для кодирования этой информации употребляется еще меньший битрейт. В отличие от всех предыдущих, этот метод приводит к потере фазовой информации, но выгоды от экономии места в пользу среднего сигнала оказываются выше, если речь идет о очень низких битрейтах. Этот режим по умолчанию используется продукцией FhG IIS для высоких частот на битрейтах от 96kbs и ниже (другими качественными кодерами этот режим практически не используется). Но, как уже говорилось, при применении данного режима происходит потеря фазовой информации, также теряется любой противофазный сигнал.. . .

Плюсы и минусы MP3 256 kbps

Если стоит задача сохранить музыку без потери качества, при этом всё таки уменьшив её размер, уверенный выход на сегодняшний день один - сжать её в mp3 с потоком 256 kbit/s и более. Много копий сломано по поводу того, что за качество получается в результате и какой кодек для этого лучше использовать - оригинальный ISO или от института Fraunhofer. Есть, однако, некоторые аспекты, которые раньше не поднимались, да и сейчас их обсуждение можно редко где встретить... Каюсь, я раньше любил ISO. Вообще, не знаю как сейчас, а в 98-99 годах настрой был вполне определенный: ISO - для 256, Fraunhofer - для того, что ниже. Но теперь я изменил своё мнение. В этом виновато отчасти то, что с заменой некоторой звуковой аппаратуры я получил возможность слышать то, что раньше не слышал. Проводились какие-то тесты, слушали, и так совпало, что всё, на чем я лично пытался убедиться, маскировалио недостатки ISO. Время изменилось, аппаратура тоже... И главное - появился кодек .mp3 Producer V2 (Opticom), который всё таки неплохо сохраняет частоты выше 16 кГц. Поэтому теперь я для разнообразия объясню, почему на 256 надо использовать именно Fraunhofer. Раньше всё упиралось в довольно примитивный вопрос: нужно ли сохранять частоты выше 16 кГц или нет. ISO сохранял их, Fraunhofer, даже самый последний - якобы нет. На самом деле это уже заблуждение. Мы брали усредненный график распределения мощностей по частотам, смотрели на ступеньку на 16 кГц, радовались и решали, что так есть всегда. Реальная, а не усредненная картина выглядит намного интереснее. В файле присутствуют моменты где этих частот нет вообще, и моменты, где они сохранены в полном объеме. Что в усреднении дает как раз якобы спад. А на самом деле это не пренебрежение к этим частотам, это просто работа их психо-акустической модели. Лучше всего это дело смотреть вообще сонограммой (почему раньше никто не догадался?). По горизонтали - время, по вертикали - частоты. Довольно хорошо видно, что частоты выше 16 кГц еще как сохраняются. Сильные высокочастотные звуки вполне продолжаются без каких-либо спадов до 20 кГц. А то, что иногда они не сохраняются - это и к лучшему, остается больше потока для кодирования более важных частот. Небольшое отступление.. Частоты выше 16 кГц в общем то нужны. Это факт. Но я никак не пойму, для чего они нужны. С одной стороны, делаем синусоиду -6 дБ частоты 16 кГц, слушаем. Одно условие - тут нужна всё таки аппаратура хотя бы >$400, чтобы она физически могла работать с такими частотами. Слышим! Не то чтобы это звук, но ощущаем отчетливо. Но стоит вспомнить, что мощность по частотам в реальных звуках уменьшается с увеличением частоты. И вообще, ставим более логичный эксперимент. Берем реальную музыку с хорошим содержанием высоких, вырезаем под ноль всё меньше 16 кГц, используя FFT фильтр. Это честная процедура, в плане частот она делает именно то, что нам нужно, без всяких переходных процессов на границе и т.д. Слушаем. И лично я ничего не слышу. На разумной громкости... Если поднимать громкость выше всяких разумных пределов, лично на меня эффект только один - если это дело на сильной громкости послушать хотя бы 40 секунд, 30 минут головной боли обеспечено. Они однозначно воспринимаются, хотя бы в качестве раздражителя, а не звука, и следовательно - желательно их сохранять. Для полноты картины, так сказать. :) В общем, вывод: не знаю, как товарищи из Fraunhofer составляли свою акустическую модель, не иначе как доводя своих сотрудников - подопытных до крутой мигрени, но что-то такое они составили и для частот выше 16 кГц. На этом вопрос лично для меня закрылся. А теперь собственно о том, в чем ISO гораздо хуже Fraunhofer-а. Сжатие в Layer3 происходит по блокам. Примитивно говоря: для каждого блока происходит сначала разложение сигнала на составляющие частоты, затем применяется акустическая модель, выбрасывая ненужные компоненты отдельных блоков, а при воспроизведении все частоты снова складываются. Однако тут встает вечная проблема частотного анализа: чем больше разрешение по частоте, тем меньше разрешение во времени. Поэтому в Layer3 есть два типа блоков - обычный и уменьшенный. Обычное сжатие идет обычными блоками довольно большого размера, за счет чего с одной стороны достигается хорошее частотное разрешение и соответственно хорошее сжатие. Мы выбрасываем значительную часть информации о расположении частот во времени. Но когда в источнике наблюдается какой-то эффект, например удар тарелок, который было бы нежелательно размазывать во времени, кодер переходит на короткие блоки и кодирует этот момент более тщательно. Локальное сжатие при этом сильно падает, но закодировать резкий звук резко - гораздо важнее. И это первая вещь, которая к чертям сломана в ISO кодеке. Вернее сказать, недоделана. Он почти не переключается на маленькие блоки тогда, когда это нужно, и часто делает это там, где не нужно. Иллюстрация - берем резкий звук и смотрим, что с ним приключается. ISO кодек сильно размазал удар во времени. Он просто не переключился на короткий блок, хотя следовало бы. Появляются довольно интересные искажения, с которыми нам теперь предстоит бороться, в связи с переходом на цифровые алгоритмы сжатия - например, пре-эхо. Отзвук начинается раньше самого звука. На самом деле это всё не так страшно, как может показаться по картинкам. Даже в самом плохом варианте это всё не настолько плохо чтобы было слышно отчетливо. В музыке это расслышать трудно. Но общая картина звука, тем не менее, иногда становится менее четкой в ISO кодеке. Есть конечно примеры, которые показывают разницу сразу. Например - хорошо записанные звуки кастаньет. Вот два файла по 210 кб, десяток секунд, закодированные ISO (256_castanets_iso.mp3, 210Кб) и Fraunhofer (256_castanets_iis.mp3, 211 Кб). Разницу очень хорошо слышно в наушниках, но и без них тоже вполне можно различить. Тут я немножко продублировал сайт "LAME Ain't an MP3 Encoder". Товарищи занимаются доводом ISO кода до ума. В том числе, пытаются починить переключение на мелкие блоки, пре-эхо, да и вообще всё то, что плохо работало или было недоделано в оригинальном варианте. На самом деле в ISO коде очень много ошибок и недоделок. Что, впрочем, не мешает ему работать достаточно хорошо на больших битрейтах, они же хотят доделать его так, чтобы он смог нормально закодировать в 128 кбит/с.. В принципе, то, что у них получилось, уже вполне способно конкурировать и с Fraunhofer, но пока Fraunhofer всё же лучше, причем на любых потоках. Хотелось бы развеять еще один миф, о том, что Layer3 - 256 оставляет почти строго оригинальный звук. Нет, это настолько далеко не так, что можно удивится, впервые ощутив разницу. У нас почему-то принято измерять качество форматов сжатия, строя графики усредненной частотной передачи. Это позволяет конечно судить, не отрезал ли кодек чего лишнего, но не более, ведь сама суть всех современных алгоритмов сжатия звука дает отличные усредненные частотные параметры, так что как гарантия качества эти замеры совершенно бесполезны. Всё нужно смотреть в динамике. Оценивать временные параметры, а не частотные. Мы гораздо менее к ним чувствительны, и на этом тоже основано сжатие. Разницу можно видеть даже не особо утруждаясь. Даже профессиональный кодек от Fraunhofer настолько размазал частоты по времени по сравнению с оригинальным звуком, что точной копией оригинала это может считаться с большой натяжкой. А уж частоты выше 16 кГц у обоих кодеков закодированы настолько непохоже на оригинал... Искажения любого частотно-акустического кодирования будут преследовать и MPEG Layer3 на высоких потоках. В данный момент есть всего два фактора, которые стоит принимать в расчет при кодировании с потоками 256 или 320 кбит/ с: 1. Трудности с передачей резких звуков. Сигнал получается слегка размазанным во времени в пределах блока частотного разложения. Сейчас (в mp3) для этого существуют короткие блоки, на которые, при необходимости, переключается кодировщик. Это, однако, лишь уменьшение значимости проблемы, а не её полное устранение. На сонограммах выше видно, что в любом случае присутствует размытость всех резких явлений во времени - хоть размытость в пределах короткого блока - лучше, чем в пределах длинного, обычного, позволяющего добиться лучшего сжатия. 2. Слабая, не совсем точная передача моментов, перегруженных мощными звуками. На данный момент алгоритм коррекции такой: в потоке данных mp3 имеется буфер, который позволяет экономить некоторую часть потока, чтобы в нужный момент воспользоваться накопленным резервом и затратить гораздо больше данных на кодирование узкого участка. К сожалению, буфер этот невелик, а дальнейшее развитие этой идеи - переменный поток - VBR - пока не имеет разумной и качественной реализации. На больших потоках, однако, способность Layer3 передавать перегруженные моменты далеко превосходит нашу собственную способность их слышать и способность аппаратуры их воспроизводить, так что ничего страшного и здесь нет. Любой из представленных алгоритмов кодирования, да и любой из тех, которые будут созданы позднее, будут так или иначе вносить искажения даже на больших потоках - более 256 кбит/с. И очень важно отличать объективные критерии оценки искажений от субъективных. Распространенные в конструировании звуковой аппаратуры тесты синтетическими сигналами - отдельными импульсами, к примеру - почти не дадут никаких результатов, по которым можно было бы судить о качестве кодирования реальных звуков. Человек слишком непривередливое существо, чтобы чувствовать все эти нюансы на слух. Проводились профессиональные тесты на прослушивание сжатых материалов, и волноваться всё же не стоит - Layer3 на 256 не теряет ни временных, ни частотных параметров хоть сколь заметным человеку образом. Мы никогда не услышим этой разницы, как не услышали её профессиональные слушатели, задействованные в тестах ISO (международной организации по стандартизации, в том числе оговаривающей формат MPEG1 Layer3), хотя можем ясно видеть её на экране. Но одну вещь надо обязательно учитывать: если вы хотите оставить за собой возможность обрабатывать каким-либо образом звук, его нельзя сжимать в Layer3. Например, даже довольно малое изменение тональной окраски звука приведет к тому, что все частотные изъяны вылезут и тут же слышны как звон/ бульканье, неравномерность звука, а любая реверберация или эффекты задержек наряду с предполагаемым эффектом дадут еще целую кучу дополнительных, неожиданных артефактов.




Рекомендации по использованию стандарта сжатия mp3

От редактора. Многим нашим читателям изложенный здесь материал покажется слишком очевидным, другим - весьма спорным. Однако, для людей, только что открывших для себя существование магического мира MP3, данная статья должна принести неоценимую пользу и ответить на большинство возникших вопросов. От автора. Как следует из названия, статья посвящена описанию некоторых тонкостей, которые возникают при использовании стандарта сжатия аудиоданных MPEG I/II Layer 3 (mp3). Данная работа не претендует на статус законченного исследования, включающего в себя тестирование кодеров или проигрывателей mp3. Это лишь попытка автора структурировать свои знания, а также отразить свой опыт знакомства с вышеупомянутым стандартом. Способ подачи материала предполагает наличие у читателя базовых знаний по mp3. Имеет ли смысл использовать сжатие с потерями вообще? Давайте попытаемся обозначить границы применения mp3. Везде, где качество звука не должно в точности соответствовать оригиналу и где в будущем наверняка не потребуется серьезная обработка хранимых данных, использование mp3 (или другого формата сжатия с потерями) вполне допустимо. Не всякому захочется каждый час вставлять в CD привод новый музыкальный диск, если объем винчестера составляет десятки гигабайт. Куда как проще записать музыку в mp3 на винчестер или CD-ROM и слушать оттуда. Или воспользоваться портативным mp3 плеером, mp3-CD плеером, автомагнитолой с поддержкой mp3. А можно просто скачать mp3 из интернета на выбор. В этом и следующем подразделах будут описаны случаи, когда применение сжатия с потерями недопустимо, а также предпринята попытка разобраться - почему? Не имеет смысла делать архивы звуковых данных для их дальнейшей обработки (библиотеки сэмплов, фонотеки и т.п.) в mp3. Это касается и MiniDisk (там тоже используется сжатие с потерями), и других форматов: многие виды цифровой обработки влекут за собой слышимые искажения. Данное правило не зависит от используемого битрейта. Говоря о дальнейшей обработке звука я имею в виду нечто более серьезное, чем просто микширование или fade in/out, например flange, distortion, dynamic compression, reverberation, фильтрация шумов и даже использование эквалайзера... Скажем, в mp3 нельзя хранить сэмплы (для их хранения используют специальные форматы сжатия без потерь, например sfArk). Так как в случае кодирования с потерями нельзя восстановить утраченные на этапе кодирования данные, то в mp3 желательно сохранять только окончательные варианты звукозаписей. Еще один аргумент: вы знаете как аудиодиск, перегнанный в mp3, записать обратно на аудиокомпакт-диск так, чтобы между треками не было ни пауз лишних, ни щелчков? Не знаете? Почитайте, скажем, http://www.r3mix.net/. Морока та еще... Если вы хотите сказать: "А я вот делал - все ОК!" - конкретизируем задачу: музыка должна переходить без пауз из трека в трек, причем паузой считается не только промежуток в 1-2 секунды, но и маленькие отрезки тишины в единицы-десятки миллисекунд. Теоретически и в этом случае можно все сделать идеально слитно, но может так оказаться, что "овчинка не будет стоить выделки". Какие существуют способы хранения звука без потерь? Я храню фонотеку в wav-файлах (в PCM формате). Можно также использовать CD-DA; для него характерны большая совместимость, но меньшая точность считывания при проигрывании. Есть и другие варианты - обычное архивирование (ZIP, RAR) или специальные программы типа WavPack, Monkey's Audio, RK Audio, FLAC, LPAC Archiver, Shorten. Однако работа с файлами, сжатыми подобным образом, чревата неприятными сюрпризами: wav (PCM) играют подавляющее большинство проигрывателей, а вот экзотику типа RKA... Известно о существовании плагина для RKA под WinAmp, но на WinAmp свет клином не сошелся: есть же люди, которые им не пользуются. Таким образом, один только WinAmp - это еще не совместимость (в широком смысле). А другие программы-проигрыватели? А аппаратные плееры? А mp3-CD плееры? Не знаю, как для вас, а для меня совместимость в указанном выше смысле очень важна. А использование только одной пары кодер/проигрыватель существенно ограничивает свободу. Например, для того чтобы дать послушать какой-то файл своим друзьям, нужно еще убеждать их в необходимости использовать новый проигрыватель. Из каких соображений нужно исходить при выборе параметров сжатия? По моему мнению, можно выделить два основных режима сжатия: "сохранение приемлемого уровня качества при достижении максимального сжатия" (например, для публикации в Сети) и "полное субъективное сохранение качества исходного материала при не самом большом сжатии" (для хранения и регулярного прослушивания). Стоит заметить, что пороговые битрейты для того и другого режимов индивидуальны. Для меня они составляют 128 и 256 кб/с соответственно. Безусловно, существует множество промежуточных вариантов: есть портативный плеер mp3 с плохонькими наушниками, которому достаточно 160 кб/с; в машине установлена магнитола с поддержкой mp3 и акустикой получше - тут потребуется, скажем, 192 кб/с. Таким образом, выбирая параметры сжатия, нужно прежде всего определить те задачи, для которых создаются mp3 файлы, и уже исходя из этого решить, какое соотношение между качеством звука и размером файла вас устроит. Следует также учитывать, что понятие качества звука у разных людей может сильно отличаться. С точки зрения здравого смысла, не стоит беспокоить себя вопросами: "Какого же битрейта достаточно, чтобы никто не услышал разницу с CD-DA?" Ведь всё дело в том, что психоакустическая модель алгоритмов mp3 разрабатывалась под среднестатистического человека с его среднестатистическими ушами. Поэтому оценочные суждения по затронутому вопросу могут быть диаметрально противоположными. Для кого-то качество mp3@128 kbps, сделанного Xing'ом, ничуть не хуже Audio CD даже на отличной аппаратуре. Другой запросто отличает mp3@320 kbps от музыкального CD в любых слепых тестах. Отсюда просто нужно сделать правильные выводы. В первом случае человеку не нужно тратить много денег на качественную аудиотехнику, а во втором - можно только порадоваться за ее (его) тонкий слух. Таким образом, исходя из собственных потребностей Вам придется один раз поэкспериментировать, чтобы выяснить, каких параметров в дальнейшем стоит придерживаться. Хранение wav-файлов позволит в случае изобретения некоего принципиально нового, усовершенствованного алгоритма (условно назовем его mp2000) перегнать в более качественный формат точные копии оригиналов, в то время как самих оригиналов может уже и не быть под рукой... Если помните, аналогичная ситуация возникла с началом победного шествия формата видеосжатия MPEG4. Какой формат сжатия с потерями лучше использовать: mp3, LQT, WMA, MP+, ogg vorbis? Следует отметить, что пока ни одна из перечисленных в заголовке альтернатив формату mp3 одновременно и по качеству, и совместимости к нему не приблизилась. Существуют форматы, которые уже сегодня обеспечивают качество сравнимое или даже лучшее, чем у mp3. Например LQT AAC, который часто называют mp4. Однако битрейт у него ограничен до 192 кб/с (за что его не любят ценители mp3 @ 256/320 kbps), и запросы к аппаратуре куда как серьезнее (последнее, правда, в век бурного развития вычислительной техники является проблемой временной). Тем не менее, думаю, вы согласитесь, что по совместимости с mp3 пока никому не сравниться. Еще один реальный конкурент - ogg vorbis. Формат сейчас находится в стадии бета-тестирования, но, говорят, у него очень неплохие показатели и, следовательно, большой потенциал. В Сети уже обсуждают "плюсы" и "минусы" использования ogg и mp3, и сравнение часто оказывается не в пользу последнего. По всей видимости, вытеснять mp3 будут долго: вспомните CD-DA, которому пророчили скорую смерть по появлении mp3, MiniDisk и пр. Многие замечания о mp3 справедливы и для других форматов сжатия с потерями. Воспроизведение mp3 Этот раздел будет интересен даже тем, кто вовсе не собирается заниматься сжатием звуковых данных. Речь пойдёт о некоторых неочевидных моментах проигрывания уже готовых файлов. Какой проигрыватель mp3 лучше? Среди программных проигрывателей лучшими традиционно считаются сделанные на коде Fraunhofer: некоторые версии WinAmp'а, WinPlay, AudioActive, Microsoft Media Player... Код от Фраунгофера используется в WinAmp версий 1.5, 1.6, 2.13, 2.20, 2.21, 2.22, 2.666, 2.7 и более поздних; остальные версии оснащены собственным декодером от NullSoft, а копирайт Фраунгофера лишь соблюдение лицензионных требований. Также заслуживает упоминания X-Audio и все, что сделано на этом коде ( C4, CoolPlay, MusicMatch Jukebox). Еще есть множество проигрывателей, использующих код ISO, самые удачные - MPG123, UltraPlayer и мой любимый Apollo (качество воспроизведения, конечно, не идеальное, но в целом он очень удобен). Существует даже плагин под WinAmp для декодирования mp3, построенный на основе MPG123. Широко известен проигрыватель NAD, базирующийся на коде ISO. Звук его считается одним из лучших, но беда в том, что он не понимает VBR. Все, что сделано на коде Xing ( Xing player, FreeAmp), считается самым худшим вариантом: эти проигрыватели задирают высокие частоты, что сделано, по-видимому, для компенсации завала высоких частот кодерами Xing... Что касается аппаратных проигрывателей mp3, то о их внутреннем устройстве по части применённых алгоритмов известно совсем мало. Но безусловно то, что алгоритмы в них используются те же, что и в программных проигрывателях. Некоторые содержат аппаратную реализацию алгоритма Fraunhofer в отдельном чипе. Другие проигрыватели имеют даже flash-микросхемы для обновления алгоритмов декодирования mp3. В любом случае нужно смотреть, на основе какого кода сделан проигрыватель. Считается, что Fraunhofer - это всегда хорошо, ISO и X-Audio - зависит от реализации, Xing - однозначно плохо.. Имеет ли смысл выбирать проигрыватель mp3 файлов в зависимости от используемого кодера? Да. Как было написано выше, проигрыватели на базе Xing задирают высокие частоты, так как при сжатии кодеры на базе Xing эти частоты безбожно режут. В паре они компенсируют друг друга: mp3, сделанные Xing'ом, гораздо лучше звучат в исполнении Xing MPEG Player'а, чем Fraunhofer'a. Авторы LAME (см. следующий раздел) также советуют использовать именно LAME для декодирования сделанных ими mp3. Безусловно, держать дома набор проигрывателей или даже декодеров (программ, которые могут только преобразовать mp3 в PCM wav файл) неудобно. Поэтому к таким крайним мерам я рекомендую прибегать только в особо ответственных случаях преобразования звука из mp3: запись на аудиокомпакт-диски, микширование, переупаковка другим кодером и т.п. Как определить, каким кодером был создан mp3 файл? Поскольку формат mp3 не предусматривает никаких подписей кодера в созданном файле, однозначно определить использовавшийся кодер очень сложно. Есть несколько примет, позволяющих с большей или меньшей степенью вероятности строить догадки: например, кодеры на основе Fraunhofer'а и ISO заполняют тишину разными значениями (акустически тишина не нарушается). Кодеры Xing первыми использовали технологию VBR. В такие файлы они вставляли свою подпись. Позже такую же подпись стал делать LAME (см. следующий раздел), чем, понятное дело, усложнил задачу определения использовавшегося кодера. Сегодня LAME ставит уже свою подпись. Существуют программы, которые на основе известных признаков пытаются установить, каким кодером пользовались при создании mp3. Одна из таких программ - RenaTager. При ее использовании могут возникнуть проблемы: программа уже не модифицируется, в связи с чем неверно определяет новые версии кодеров. Возможно, такая функция скоро будет включена в альтернативный плагин под WinAmp для воспроизведения mp3 MAD. Я слышал еще о программе mp3GuessEnc, которая имеет интерфейс командной строки, и EncSpot, аналогичной программе с удобным оконным интерфейсом. Но со 100% вероятностью каким кодером был получен файл невозможно. Часто эти программы показывают, что один-два трека с компакт-диска сделаны другим кодером, хотя ведь диск был сжат одним кодером с одинаковыми параметрами. К слову, стандарт id3v2 предусматривает поле, в котором указано название кодера



Аудио компрессия для меломанов



Предисловие. В понимании большинства людей слово меломан чаще всего ассоциируется с человеком, не просто любящим и коллекционирующим музыку, а еще и ценящим качественную музыку, причем не только в художественно-эстетическом плане, но еще и качество записи самой фонограммы. Подумать только, еще несколько лет назад эталоном качества музыки считался аудио компакт диск, компьютер же даже в мечтах не мог конкурировать с качеством CD. Однако, время - большой шутник, и часто любит переворачивать все с ног на голову. Прошло, казалось бы, совсем немного времени, какой-то год или два и: всё, компакт диск на PC отступил на второй план. Не спрашивайте "почему?", Вы ведь сами знаете ответ на этот вопрос. Всему виною революция в мире звука на компьютере - аудио компрессия (здесь и далее под аудио компрессией подразумевается сжатие с потерями, для уменьшения размера аудио файла), которая позволила хранить музыку на жестком диске, много музыки! Более того, появилась возможность обмениваться ею через Интернет. Вышли новые звуковые карты, способные "выжать" чуть ли не студийное качество из, казалось бы, бесполезной в плане музыки "железки". Сегодня, имея даже не очень шустрый по производительности компьютер, купив звуковую карту Creative SoundBlaster Live! и вспомнив, что еще с советских времен имеется хороший усилитель и добротная акустика, Вы получите ни что иное, как музыкальный центр высокого качества, звучание которого уступает разве что очень дорогой аудио аппаратуре (средней или даже высшей Hi-Fi категории). Прибавьте к этому общедоступность музыкальных файлов, и Вы поймете, что у Вас в руках - сила. И тогда происходит переворот, и Вы понимаете, что компакт диск - это уже и не так удобно, завораживает Вас совсем другое - магические знаки "MP3". Вы не можете ни есть, ни спать - перед Вами неразрешимый на первый взгляд вопрос "курицы и яйца": чем "сжимать" и, самое главное, - как "сжимать": Вот в этом то я Вам и помогу. Данная статья - начало моей новой серии информационных материалов о музыке на компьютере. За год разработки OrlSoft MPeg eXtension и ведения обширной базы MP3 файлов у меня накопилось огромное количество исследований касательно аудио компрессии. Именно этими исследованиями я и постараюсь с вами поделиться. Про сжатие аудио написано немало статей разными уважаемыми авторами, поэтому я постараюсь не писать то, что Вы легко можете найти в других источниках информации. Мне хотелось бы просто и ясно изложить мою позицию по рассматриваемому вопросу. Не будем рассматривать аудио компрессию как средство максимально компактно разместить аудио информацию на своём винчестере (с целью записать столько-то там часов музыки). Да, компрессия позволяет записать музыку более компактно, но я ставлю целью минимальную потерю качества при переводе "чистого" аудио в компрессированное. Именно поэтому рассматриваются только высокие битрейты и кодеры, сжимающие качественно именно в этих режимах. Потом, с компрессированным аудио значительно удобнее работать - мгновенный доступ к любому треку любого альбома, удобный софт для воспроизведения. Ну и, разумеется, финансовый вопрос также не забыт. Из существующих на сегодня форматов компрессии аудио заслуживающими внимания, на мой взгляд, являются три: MP3 (или MPEG-1 Audio Layer III), LQT (как представитель семейства MPEG-2 AAC / MPEG-4) и совершенно новый формат OGG (Ogg Vorbis), разрабатываемый группой энтузиастов: 1. На сегодняшний день MP3 - самый распространенный из них (в первую очередь потому, что он бесплатный). Напомню, что именно благодаря формату МР3 и произошло победоносное шествие сжатого аудио. Однако, как часто бывает с пионерами, он постепенно сдает позиции и уступает место более новым и качественным форматам.) 2. Второй формат, LQT, является представителем нового направления алгоритмов аудио кодирования, представителем семейства AAC. Это достаточно качественный, но коммерческий и строго засекреченный формат. 3. OGG стал широко известен общественности недавно и на данный момент бурно развивается, в скором времени (с релизом кодера и декодера) должен побить MP3 лучшим качеством звучания при меньшем объеме файлов.. Я не буду приводить здесь подробного описания технологий и форматов, Вы легко можете найти их самостоятельно. Будут только факты, выводы и рекомендации. Свои исследования отдельно по каждому формату я планирую изложить в отдельных статьях. Условие задачи. Я решил "столкнуть лбами" три указанных формата на предмет получения максимально качественного звука при минимальном размере файла. Для теста были выбраны несколько семплов (здесь семпл - вырезанный из PCM файла небольшой фрагмент) из композиций двух типов. Первый - очень плотного и громкого звучания с нормализацией по амплитуде (уплотнение звука "по вертикали", чтобы он с 24 битного мастера уместился в 16 битах) и компрессией динамического диапазона (чтобы при этом звучание всех инструментов было всегда громким). В качестве первого типа (как и в моих прошлых тестах) была выбрана композиция Crush On You из альбома Have A Nice Day группы Roxette, исследовалось три семпла по 15-20 секунд с разных участков композиции. Второй семпл - чистый и прозрачный (легкая оркестровая или акустическая аранжировка). В качестве второго типа была взята композиция Mano a Mano с альбома Tango известного пианиста Richard Clayderman. Почему именно эти записи? В семплах Roxette имеет место очень сильная динамическая компрессия (значение амплитуды очень часто равно максимуму (что плохо) и приводит к перегрузке воспроизводящей аппаратуры и сильным искажениям). На подобных семплах кодерам приходится работать в экстремальном режиме, из-за чего становятся легко слышны любые искажения, т.к. к уже имеющимся собственным искажениям оригинала добавляются еще и искажения кодирования. Вы спросите "а зачем тогда брать в качестве теста такой семпл?". Нужно и еще как. Подавляющее большинство выпускаемых в настоящее время альбомов именно таким образом и записано. Поэтому кодер должен приемлемо относиться к перегруженному звуку. С семплами Клайдермана ситуация диаметрально противоположная. Исходно аналоговая запись после очень качественного цифрового ремастеринга записана на компакт диске, причем без динамической компрессии. Великолепное звучание, очень приятные и мягкие "верха". На них мы и обратим особое внимание при проведении анализа, попытаемся их сохранить. А ведь именно эти частоты кодерам будет сложнее всего передать. Чем "жмем" Мои исследования эталонного качества для разных битрейтов и кодеров формата MP3 выражены в программе OrlSoft MPeg eXtension. Параметры кодирования подобраны по результатам тестов. Безусловный лидер качества на высоком битрейте - кодер LAME. Кодеры от Fraunhofer IIS по-прежнему хороши только для низких битрейтов - для 128 и 160 кбит/с. Про другие я даже говорить не буду. Только НИ В КОЕМ СЛУЧАЕ не связывайтесь с кодерами, основанными на коде XING (самый известный представитель - Audio Catalyst) - эти самые плохие, звук - просто ужас. Для большинства пользователей формата MP3 проблема качественного звука обычно ставится следующим образом: "256 или 320? а может попробовать VBR?". И этот вопрос мучает их изо дня в день. Не все записи хорошо звучат в 256 - имеют место сильно слышимые и видимые (по измерениям) потери в области верхних частот. При использовании режима VBR (так называемый поток с переменным битрейтом) часто бывает, что музыка звучит на слух лучше, чем 256, но это нельзя брать за общее правило. Кодируйте мало ценные записи, либо не очень качественные - не ошибетесь. Параметры VBR у меня подобраны для получения максимального для VBR качества. Для коммерческого формата LQT существует только фирменный кодер от авторов - Liquifier Pro. Им и жмем. Отмечу, что формат LQT изначально основан на VBR кодировании, поэтому для него существует просто несколько режимов типа "плохо", "хорошо" и "отлично". Естественно, для наших тестов берем режим "отлично" (Audiophile), в результате чего получается поток от 192 до 256, чаще всего 200-220 кбит/с. Напомню, что формат LQT основан на семействе алгоритмов MPEG-2 AAC. Более того, это наиболее качественная на сегодня реализация AAC (проверено на аналогах). Формат OGG родственник формата MP3, однако содержит в себе иную психоакустическую модель и некоторые отсутствующие у MP3 технические новинки. Начать хотя бы с того, что OGG изначально поддерживает только режим VBR. Пользователь задает ориентировочную скорость потока, а кодер пытается сжать максимально ближе к нему. Диапазон изменения чрезвычайно широк: от 8 до 512 кбит/с, причем он значительно более дискретный, чем у MP3. Верхняя планка составляет целых 512 кбит/с, в то время как MP3 кодеры на сегодня реально "тянут" только до 320. Вы спросите "а разве бывает что и 320 мало?". Да, бывает, но редко. Семплы Roxette Ну вот, мы и подошли к самому интересному. Начнём с моих слуховых ощущений. Для МР3 на потоке 256 кбит/с явно слышны нарушения звучания верхних частот. Мало того, что в звуке отсутствует немалая их часть, так еще и примешивается сильное искажение, хрип, металлический лязг и прочие "прелести". Это знак к тому, что 256 явно не хватает, следовательно, надо попробовать повыше. Берем сжатый в 320 семпл. Звук значительно изменился - это совсем другое дело: верха на месте, на слух никакой разницы не обнаружено. Для чистоты эксперимента посмотрим, что же получится в режиме плавающей скорости потока. Получаем средний битрейт в 290 кбит/с, из чего напрашивается вывод, что 256 для исследуемого семпла маловато будет. Действительно, на слух семпл, закодированный в режиме VBR, звучит чуть-чуть лучше, чем 256, однако явно не дотягивает до звучания 320. В случае применения МР3, для качественного сжатия подходит только кодирование в режиме 320 кбит/с, т.е. на максимуме возможностей. Берем OGG как "модифицированный MP3". Для кодера существует пять ориентировочных битрейтов: 128, 160, 192, 256 и 350. Что ж, попробуем 192 и 256. Битрейт 350 брать не будем, т.к. нам уже известно, что MP3 при 320 кбит/с передает явно прекрасное качество, лучше вроде бы и не надо. Для режима 192 получаем средний поток в 226, а для режима 256 - целых 315 кбит/с. Вот вам и точность. Столь большое отклонение от ориентира - это сигнал к очень сложно кодируемому звуковому материалу, при более простом по плотности семпле точность будет выше. Честно говоря, я долго пытался оценить 320 MP3 и 315 OGG и пришел к выводу, что оба они звучат практически аналогично исходному звучанию. Но они основаны на разных психоакустических моделях и окраска звучания у них разная. Лично мне чуть больше понравился все-таки MP3. Однако, это действительно спорный вопрос - ведь кодер OGG пока только бета версия. Когда будет релиз, думаю, он должен обогнать MP3 в качестве. Сравнивая их по отдельности с оригиналом, я склонился к тому, что OGG все-таки ближе по звучанию к оригиналу, но вот с верхними частотами у этого кодера что-то не так. Из-за этого MP3 и звучит немного лучше. Думаю, не надо говорить, что в режиме 350 (средний битрейт получился в 365) OGG "идеально" повторяет оригинал. Теперь про малоизвестный, но широко рекламируемый как "самый качественный" формат - формат LQT. И, что самое главное, он действительно звучит очень круто в целом, однако, прислушавшись, я понял, что мне не понравилось в его звучании. Он не искажает верхние частоты, как MP3 на 256 кбит/с, но размазывает звук, причем сильно размазывает. Резкие звуки размываются во времени. Да, это плохо. Но дело в том, что сравнивать LQT на битрейте всего в 230кбит/с с MP3 на таком же битрейте бесполезно, МР3 проигрывает по общему звучанию. Придраться, конечно, есть к чему. МР3 теряет и искажает верхние частоты, LQT же в свою очередь несколько "проваливает" средние частоты и размазывает верхние. В общем, тут кому что больше понравится. Но это - тема уже для другой статьи. Сегодня у нас разговор только про высшие битрейты. Да, LQT дает хорошее качество, но отнюдь не супер. По всей видимости, здесь сказывается недостаток скорости потока, то есть, если в LQT появится режим большего битрейта, он побьет даже 320 кбит/с MP3 на записях типа исследуемой. Это были мои чисто субъективные впечатления. Давайте теперь перейдем к более объективным тестам. Исследуем АЧХ (то есть амплитудно-частотную характеристику) семплов, признанных лучшими (320 для MP3, 315 для OGG и 230 для LQT). Новейший формат Ogg Vorbis в режиме 256 явно недотягивает "по верхам" - урезание частот видно невооруженным взглядом. "Супер коммерческий" формат LQT передает диапазон частот по верхам вроде как даже лучше, чем LAME, но общее качество хуже. Дело в том, что в LQT нет режима чистого стерео - там, по сути, всегда Joint-Stereo (кодер сначала сжимает левый канал, а потом кодирует только разницу между левым и правым). Из-за этого и происходит размазка верхов при недостатке битрейта, что прекрасно видно на иллюстрациях, плюс сие заключение легко подтверждается исследованием сигнала в MS-матрице, т.е. при переводе его в режим центральный канал + стерео. Что можно сказать про семпл LAME... все просто замечательно - чуть-чуть урезаются верхние частоты, но это терпимо; видимых провалов также не отмечено. Подытожим. На финишной прямой для семпла Roxette форматы OGG на 256 кбит/с и LQT сошли с дистанции, семпл OGG на 350 кбит/с не уступает лидеру. Однако не будем хоронить новый формат раньше времени - подождем релиза. Вот тогда уже и проведем тесты еще раз: OGG 256 против LAME 320. Семплы Richard Clayderman C семплами Roxette вроде все понятно - плотный звук пока лучше сжимать кодером LAME в режиме 320 кбит/с. А как насчет более прозрачного звука? Попробуем сначала сжать в режиме 256 кбит/с и все, по идее, должны бы быть довольны. Результат: низкие частоты вроде на месте, да и средние тоже, а вот верхние частоты: не стало верхних частот! Они есть, но в них не осталось того красивого звучания, не обратить внимание на которое в данной записи очень сложно. Высокие частоты в целом на месте и сильных потерь нет, однако звук "тарелок" стал какой-то синтетический, резкий и весьма неприятный. Такой звук не имеет права претендовать на звание качественного. Что ж, придется снова использовать 320, а ведь как хотелось сжать в 256... Если сравнивать 320 со звучанием 256, передача верхних частот стала значительно лучше. Однако, при сравнении с оригиналом, слышно, что запись по-прежнему не является удовлетворительной в плане качества. После сравнения еще нескольких семплов, становится очевидно, что это погрешности психоакустической модели. Даже в 320 кбит/с MP3 не передает нормально верхние частоты на исследуемом типе записей. Верхние частоты становятся более резкими, металлическими, от них так и веет синтетикой и, как ни странно, они кажутся более громкими (измерения АЧХ этого не демонстрируют - чисто слуховой эффект). Исследуем теперь Ogg Vorbis. Как и в предыдущем тесте, берем семплы, сжатые в режиме 256 кбит/с. После неудачи с MP3 сложно поверить в полученный результат - звучание Ogg Vorbis лучше по всем параметрам и не идет ни в какое сравнение с тем, что выдает LAME на 320 кбит/с! Сравнивая с оригиналом, также очень сложно найти разницу. Ogg Vorbis на битрейте 287 побил LAME на битрейте 320. Именно об этом я и говорил в начале статьи: формат OGG вполне может победить MP3. Хорошо, а что нам может сказать титулованный формат LQT на битрейте всего в 252? Но и здесь получается шокирующий результат - чрезвычайно близкое соответствие оригиналу! По-крайней мере, разница настолько мала, что можно считать ее несущественной. Еще, обратите внимание на интересный факт: при кодировании семплов Roxette средний битрейт получался порядка 230 кбит/с, а на, казалось бы, более простых семплах Clayderman - 250 кбит/с. Это говорит о том, что LQT значительно лучше адаптирован под реальное звучание музыки, в нем более точно учитываются все нюансы. Великолепный формат. Вот ему бы нормальный кодер без выкрутасов и битрейт чуть-чуть повыше, чтобы смог кодировать более сложные семплы. И снова анализ АЧХ сигналов только подтверждает мои выводы по результатам прослушивания: LQT выдает просто выдающийся результат, на сей раз лучше LAME. Прекрасная передача частотного диапазона, а потери на уровне 21 кГц это удаленный высокочастотный шум, что даже приветствуется. LAME отстает, но не сильно. Как и ожидалось, с передачей частотного диапазона у MP3 все нормально. А вот АЧХ семпла Ogg Vorbis принесло разочарование: посмотрите, какое урезание частот. Но звучит он лучше, чем можно было бы подумать, взглянув на его АЧХ. По всей видимости, за счет урезания некоторых частот получается возможным более точно передать общую звуковую картину. И что же мы получаем в итоге? Два лидера: LAME и LQT на максимальном битрейте. OGG очень сильно наступает на пятки MP3 и победит в дальнейшем, если его разработчики доведут свою идею до финального воплощения: меньший размер и лучшее качество. Исследование дельта-сигналов Формат MP3 за счет высокого битрейта лучше на большинстве записей. Однако он сдает позиции, когда мы имеем дело с очень качественным звуком. Здесь LQT - абсолютный фаворит. Но разница между 256 и 320 не такая уж и большая, поэтому ею чаще всего можно поступиться ради более удобного и распространенного формата. Многие, да и я в том числе, так и делают в своей фонотеке, а особо качественные записи просто покупают на дисках. Все это конечно хорошо, но два формата звучат по-разному, и это не дает многим покоя. Есть еще одно интересное исследование. Можно вычислить разностный сигнал (далее он будет упоминаться как дельта-сигнал) двух семплов и тем самым узнать, а в чем же они различаются. Это, конечно же, сугубо цифровое исследование, т.к. разница может быть не настолько значительной, чтобы ее можно было услышать. В нашем случае все оказалось совсем не так. Громкость разностного сигнала доходит до -25дБ, а его АЧХ внешне сильно напоминает широкополосный шум. Если прослушать дельта-сигнал, он звучит как широкополосный набор искажений, т.е. в нем явно слышна разница психоакустических моделей MP3 и LQT. Результаты исследования дельта сигналов говорят о том, что психоакустические модели трех рассмотренных форматов очень сильно отличаются друг от друга и их бессмысленно сравнивать между собой по разнице АЧХ. Заключение Что ж, попытаемся сделать некоторые окончательные выводы, представив их в виде практических рекомендаций: 1. LAME - лучший представитель кодеров формата MP3, выдает практически максимум того, что можно получить из MP3. Для всех очень громких и "плотных" записей я бы рекомендовал использовать LAME на 320. 2. OGG - некоторая структурная модификация формата MP3 с новой психоакустической моделью, математическая обработка и практическая реализация которой в корне отличается от MP3. Для малоценных и низкокачественных записей пойдет OGG в режиме 192 кбит/с (либо LQT в режиме 128 Transparent, в среднем получается 160-180 кбит/с). 3. В отличие от MP3 и OGG, которые являются представителями кодеров формата MPEG-1, формат LQT базируется на спецификации MPEG-2 AAC. Формат AAC передает значительно лучшее качество на более низких битрейтах за счет принципиально другой обработки звука. Для записей средней ценности рекомендую LQT (на максимуме), либо на выбор (разница между ними невелика): OGG в режиме 256 кбит/с, LAME на 256. VBR режим кодера LAME лучше не использовать, он заметно хуже. 4. Для очень качественных записей, на которых даже при кодировании в 320 кбит/с ясно слышно отсутствие чего-либо значительного в звучании семпла, попробовать закодировать семпл кодером Ogg Vorbis на 350 кбит/с. 5. Если сжатый с потерями звук Вас всё-таки не устроит, придется покупать понравившиеся композиции на CD-DA диске.



Как качественно оцифровать Звук

Введение. О том, как пользоваться звуковой картой, написано множество книг и статей, в том числе и на нашем сайте. Однако, на этот раз речь пойдет не о том, что уже и без того известно каждому постоянному читателю раздела Мультимедиа, а о том, что называется практикой цифровой звукозаписи. Наверняка любой владелец мультимедийного компьютера рано или поздно приступает к этой увлекательной деятельности. Собственно, для этого (и не только) компьютер и приобретают. Тем не менее, процесс этот не столь прост, и нужно иметь некоторый навык для достижения максимального качества. Цель этой статьи - дать читателям сайта (и владельцам SB Live! среди них в частности) некоторые полезные рекомендации в этой области, которые по тем или иным причинам не освещены в прессе или Сети должным образом. Начну с того, что в свое время передо мной встал вопрос сведения моей кассетной фонотеки в MP3 файлы, и я вынужден был потратить не одну ночь для того, чтобы сделать процесс перегона аудиоинформации в компьютер по возможности более качественным и более универсальным для большинства аудиозаписей. Скажу сразу, несмотря на солидный опыт звукозаписи (и аналоговой и цифровой), это, на первый взгляд, невинное занятие потребовало у меня мобилизации многих сил и знаний. Однако, пользователь приличной звуковой карты совершенно не обязан (как я) иметь высшее радиотехническое образование, и все же, достойное качество полученной записи требовать вправе. Считаю своим долгом дать аудитории тот самый минимум информации, который, надеюсь, избавит многих от неприятностей, связанных с оцифровкой аудио (таких как помехи, наводки и т.д). Полагаю, что некоторые сведения в этом материале будут полезны и опытным пользователям. Для того чтобы не выйти за рамки приличия, скажу также, что все написанное ниже - результат обобщения опыта многих людей, но, конечно же, не претендует на истину в последней инстанции. Обоснованная критика от читателей - это всегда хорошо! Общие замечания. Наиболее часто пользователям мультимедиа приходится оцифровывать следующие источники: Виниловые пластинки. Здесь главное - хороший проигрыватель и предусилитель-корректор (тот, что встраивается в дорогие усилители). Из отечественных проигрывателей порекомендую Феникс ЭП 009С (алмазный эллипс в качестве головки, автоматический тонарм). А дальше - записываем пластинку на компьютер, чистим от щелчков (Click Removal), фильтруем инфразвук ниже 16 Гц (для устранения рокота) и нарезаем запись на песни. Шум лучше не удалять, так как шум в 65-70 дБ на выходе проигрывателя (или корректора) не так уж и велик. Например, 65-70 дБ выдает аналоговый выход большинства CD-ROM и ведь ничего? А вот с фоном (неприятным низкочастотным тоном в 50, 100, 150 и так далее Гц) лучше разобраться до оцифровки - где-то висит земля, или перепутаны полюса внутри проигрывателя. Микрофон. Я подразумеваю хороший микрофон и микрофонный усилитель. И про то, и про другое можно найти массу информации в печатных изданиях, да и в Сети тоже. Дам совет только в одном. Дело в том, что в студийной практике применяется один очень умный принцип для соединительных кабелей. Про витую пару сигнальных линий все уже знают, но вот как припаивать провода на концах проводов - лишь посвященные, да и то не все. На рисунке ниже показано, как правильно изготовить шнур, который не внесет никакого вклада в качество записи, если он состоит из качественных проводов. В качестве экрана - медная оплетка (желательно, чтобы везде применялась медь!). Сигнальные жилы внутри экрана - витая пара медных многожильных проводов. Подобный кабель лучше купить в каком-нибудь магазине, где продают профессиональные микрофоны, гитары, и т.п. (дешевле обойдется провод, чем помехи). Стоит отметить, что только с микрофоном необходимо столь щепетильно отнестись к кабелю, иначе будете менять микрофонные усилители и сами микрофоны до греческих календ. Экран соединен с металлической основой капсюля (если она металлическая) или просто висит внутри корпуса микрофона, а на входе (только лишь на входе!!!) экран соединяется с землей. Тогда помехи и наводки, попав в экран, стекают в одну точку (как бы компенсируются), а не циркулируют по экрану. Экран не должен быть "антенной для помех"! В случае с электрогитарой - руководствоваться тем же! Электрогитара - тот же микрофон, только менее чувствительный. Экран коммутационной схемы внутри гитары (если нет - сделайте из жести или шоколадной фольги) присоединяем к экрану, а потом, также соединяем на входе карты или приставки с землей. Не играйте на этом инструменте вблизи системного блока - изготовьте кабель подлиннее. Вот только не стоит гробить студийную технику! Просто проверьте, как распаяны разъемы и все. Микрофон с профессиональным разъемом CANON (это такой здоровый, с защелкой) имеет обычно землю на штырьке номер 3 - тот, что посередине, если не так - уточните у продавца (не дарить же 100$ за новенький Shure SM58!?). Шнуры от микрофонного усилителя/процессора/магнитофона и т.д. паяем по тому же принципу (экран соединяем с землей на входе), только здесь добавляется еще жила второго стереоканала. Не мешает заземлить и системный блок компьютера. С семплами Клайдермана ситуация диаметрально противоположная. Исходно аналоговая запись после очень качественного цифрового ремастеринга записана на компакт диске, причем без динамической компрессии. Великолепное звучание, очень приятные и мягкие "верха". На них мы и обратим особое внимание при проведении анализа, попытаемся их сохранить. А ведь именно эти частоты кодерам будет сложнее всего передать. Надеюсь, вы согласны с тем, что грамотно созданный шнур не столь уж плох в сравнении с кабелем Monster Cable или Vampire, хотя если ваш шестиканальный DSP-усилитель стоит 1000$ - все же потратьтесь на приличный кабель. Запись с микрофона нуждается лишь в частотной коррекции (если АЧХ у микрофона имеет ощутимую неравномерность и спад раньше 18-19 кГц). Кое-кто чистит и шум, но "правильный" тракт до оцифровки менее шумен, чем капли дождя, падающие на подоконник и безжалостно фиксируемые на Ваш микрофон. А вот с компакт-кассетой не так все просто. Тут запись и очистка от артефактов - самое настоящее искусство и подходы у опытных людей свои. Я же поделюсь моими методами, позволившими ИМХО выжать из кассеты все ценное. Вся штука в том, что у компакт-кассеты ограниченный ресурс эксплуатации (примерно 300 прогонов). Потом информация начинает теряться, звук становится рассыпчатым, глухим, прерывистым. Кроме того, более целесообразно гонять CD с отполированными MP3 файлами, чем вставлять кассету, крутить головку, чистить тракт спиртом и т.д. (хотя и у этого ритуала есть приверженцы!). К тому же, отреставрированная фонограмма с приличной по качеству кассеты ИМХО иногда даст фору по насыщенности деталями и аналоговой "теплоте" многим 128 Кбит MP3 - файлам. Я не распространитель мифов о дискретной и мертвой цифровой записи (хотя лет пять назад был другого мнения, да и АЦП/ЦАП были не те), но кассету хоронить рано, и владельцы хороших стационарных аппаратов меня поддержат! Реставрация Прежде всего, необходимо усвоить, что даже если Ваш аппарат выдает музыкальную информацию лишь 40-14000 Гц на Ferro-кассете, он все равно воспроизводит какие-то звуки и на более высоких частотах (вплоть до 20-21000 Гц), только они не вписались в нормы ГОСТа и МЭКа, то есть очень ослаблены и утоплены в шумах. Именно это нам и предстоит исправить. 1. Выравнивание АЧХ Почти на любую стандартную кассету (TDK D, и т.д.), да и на кассеты подороже аудиозапись попадает практически одинаково. Если у вас не TEAC за 900$ или не Nakamichi Dragon, то разницы нет: AIWA или ВЕГА. На подобных "бюджетных" аппаратах воспроизводимый с кассеты сигнал больше зависит от свойств магнитной ленты, нежели от тракта воспроизведения. А магнитная лента на "железных" кассетах просто не пропустит частоты выше 14000 Гц, остальное будет жестоко ослаблено. Конечно, тракт записи-воспроизведения у всех магнитофонов различен и особенно дотошным владельцам хороших стационарных магнитофонов исследования предстоит проделать самостоятельно. Для этого (а также для дальнейшего мастеринга) нам понадобятся последние версии знакомых программ (или хотя бы их демо-версии): 1. Cool Edit Pro 1.2, или 2000 для создания белого шума, синусов, фильтрации и очищения от шумов и т.д. 2. Sound Forge 4.5 для монтажа (оцифровка, нарезка материала). 3. SpectraLAB 4.32 для всестороннего анализа. 4. Энтузиасты могут применять внешние денойзеры (удаление шума), типа Sonic Foundry Noise Reduction 2.0, Arboretum Restoration-NR и др., но я после многочисленных субъективных и объективных исследований остановился на встроенном средстве Cool Edit Pro (хотя долго не мог с этим смириться). Все же программисты Syntrillium Software свой хлеб едят не зря! То же касается и фильтрации. Процедуру исследования тракта записи/воспроизведения магнитофона лучше проделать так: 1. Очистить воспроизводящую головку магнитофона и прижимной ролик с ведущим валом спиртом, затем, поместив чистую (с обеих сторон!) кассету в магнитофон, приготовить ее к записи. 2. Далее, подав белый шум (48 кГц) на вход (Generate/Noise:/White, mono, intensity = 12 в Cool Edit), добиться оптимального уровня записи на Вашем магнитофоне и записать около 3-х минут (если компьютер не ниже Celeron+64Mb) или 60 секунд этого шума (ежели машина слабее). Магнитная лента весьма неравномерно реагирует на последовательное изменение значения частоты (Frequency Sweep), поэтому, из соображений статистики лучше использовать белый или розовый шум. Это обеспечивает более точный и равномерный график АЧХ. 3. Далее, следует, не вынимая кассету и не подкручивая воспроизводящую головку, записать только что полученный белый шум - с кассеты на Line-In звуковой карты (частоту дискретизации ставим 48 кГц). 4. Теперь нормализуем полученный сигнал под -1 дБ (Process/Normalize: в Sound Forge 4.5), и сохраняем. 5. В SpectraLAB выбираем Mode/Post Process, и открываем только что полученный файл. Делаем настройки (Settings): 48000, 16bit, FFT Size = 65536 (для слабой машины 16384), mono, Average = linear. Выделяем весь файл в режиме View/Time Series, жмем правую кнопку и приказываем: Compute and Display Average Spectrum. 6. Смотрим на спектр и кривимся неравномерности АЧХ нашего магнитофона J. В Cool Edit открываем этот же файл и поднимаем ослабленные частоты (FFT Filter etc.). Сохраняем (но не закрываем!!!) в другой файл и этот другой открываем в SpectraLAB (первый файл пригодится в случае порчи второго). Чтобы запомнить огибающие спектра в SpectraLAB для сравнения - жмите Set в районе Overlays. 7. Не красиво? Отменяйте в Cool Edit фильтрацию - и снова! Как видите, искусство и здесь требует жертв :(. Однако я повторяю - на хороших аппаратах тракты Record-Play очень схожи, и вы можете воспользоваться моими результатами исправления АЧХ для магнитофона МП ВЕГА-122С. Для этого в файле C:\Windows\cool.ini найдите раздел [Filters96] и в незанятой строке запишите (в одну линию!) следующее см.здесь>> Теперь в Transform/Filters:/FFT Filter (все в том же Cool Edit) ищем пресет RESTORATION и корректируем фонограмму. Все. Я убил 2 дня, чтобы выровнять АЧХ своей ВЕГИ до значения +/-0,5 дБ от 10 до 19500 Гц! Наслаждайтесь. АЧХ ВЕГИ-МП122С до (зеленый график) и после (желтый график) частотной коррекции. Кроме того, всем известно, что АЧХ самой звуковой карты, тем более - внешнего кольца Line-Out-Line-In тоже обладает характерным спадом в области высоких частот, и в этом обычно виновен АЦП, нежели более-менее линейный ЦАП. Оцифровка получается тусклой, лишенной прозрачности и воздушности в верхнем регистре. С этой проблемой желательно справиться перед обработкой записанного материала и об этом речь пойдет ниже. 2. Владельцам SB Live! Многие владельцы SB Live!1024 Value знают, что АЧХ кодека SigmaTel STAC9721 совсем не идеальна и уже после 4,5 кГц начинается ступенчатый спад. Основной вклад в это вносит АЦП кодека. Сделано это, с одной стороны, для нашего же блага: таким образом предотвращается проникновение паразитных гармоник в слышимую область спектра. С другой стороны, подобное "подрезание" верхов имеет и негативное последствие: на достаточно серьезной Hi-Fi-аппаратуре этот ньюанс может быть вполне заметен. Поэтому, всем владельцам SB Live! НАСТОЯТЕЛЬНО рекомендую каждую записанную фонограмму через Line-IN сначала, то есть до последующей обработки, пропустить через следующий фильтр (тот же cool.ini и тот же раздел): см.здесь>> После подобной операции неравномерность АЧХ в кольце LineOUT - LineIN для звуковой карты SB Live! удалось уменьшить до +/-0,1 дБ! Владельцам микрофона МД-52А (студийный, 20-16000Гц) посоветую следующую коррекционную фишку: см.здесь>> 3. Шумоподавление Теперь поговорим о шумоподавлении. Как я уже указал - Noise Reduction в Cool Edit - на мой взгляд - лучший. Звукорежиссеры хвалят Arboretum Ionizer, якобы из-за того, что он избавлен от внесения фазовых артефактов в обработанный материал (если знаете где взять - напишите!), знакомые советуют Sonic Foundry Noise Reduction. Но мои уши пока что влюблены в CoolEdit-овский шумодав. Кроме того, ни в каком другом нет столько настроек и опций, да и то, что он работает медленнее (читай добросовестнее) других - тоже говорит о многом. Существует также весьма неплохая программа реставрации DART Pro, однако детальное сравнение всех этих программных продуктов выходит за рамки данной статьи. Итак, после многотрудной фильтрации необходимо взять 1,5-1,6 секунд шума перед каждой (для максималистов) или какой-нибудь средней фанерой (но только с той же кассеты и стороны, откуда взята фонограмма). Далее: 1. Сделать профиль этого 1,5 секундного шума (Get Profile from Selection) с параметрами: Snapshots in profile = 1024:4096 (в зависимости от мощности компьютера). FFT Size = 4096 (эту цифру я нашел оптимальной для подавления шума после многочисленных экспериментов); Не рекомендую ставить максимальный размер FFT, так как это повлечет в результате увеличение так называемого Hiss-шума сигнале. 2. Теперь, отфильтрованную фонограмму выделяем и уничтожаем шум тем же Noise Reduction в Cool Edit. Параметры могут быть разными (поэкспериментируйте с кнопкой Preview). Но я, после долгих опытов, могу для магнитофона порекомендовать следующие параметры: Precision Factor = 12 (для максималистов - все 14, для Preview - 8). Параметр определяет точность вычислений; Smoothing Amount = 0 (именно 0!). Параметр вносит допуск на погрешность вычитания спектра шума из спектра сигнала в дБ. Чем больше - тем хуже; Transition Wide = 6 (для очень крутых аппаратов (400$) - 3, очень дешевых - 7:9). Параметр подобен предыдущему, только более гибко управляет процессом вычитания спектра (тоже в дБ); Noise Reduction Level = 35:42 (при Transition Wide = 6, в зависимости от уровня записи сигнала на кассете. Если запись на ленте была точно под 0 дБ, ставьте 37). Параметр определяет уровень порога удаляемого спектра шума. Наиболее капризный параметр. Обратно зависит от величины Transition Wide. Нередко приходиться повторно нормализовать фонограммы под -0,2 дБ (это стандарт для CD-Audio), так как шумоподавление может серьезно уменьшить энергию сигнала. Все готово к MP3-кодированию! Правда, бытует мнение, что нормализация перед сжатием в MP3 - это очень вредно, и Вы на это должны идти лишь в случае ощутимого различия между уровнями отдельных каналов или просто слабого (-3:-6 дБ) уровня фонограммы в конечном итоге. Это как раз тот случай, когда решать Вам. 4. Сжатие Лично я пользуюсь кодером Fraunhofer IIS, встроенный в BPM Studio Pro 3.0. Остальные кодеры (ИМХО) от Fraunhofer IIS не могут преодолеть своеобразного шелеста в полученном файле, причем на всех битрейтах. А вот к LAME -f я отношусь настороженно, этот кодер, по-моему, только на АЧХ и хорош. Теперь о битрейте. Честно говоря, все ньюансы сохраняются лишь при 256 Кбит/c, но и при 192 Кбит/c фонограмма почти неотличима от исходной. Для проверки того, какой битрейт наилучший для данной фонограммы, я применяю довольно жестокую методику субъективного сравнения. Сначала кодирую наиболее ответственный фрагмент (насыщенный высокими частотами или с какими-нибудь знакомыми ньюансами) во все битрейты: 128, 160, 192, 224, 256. Затем последовательно соединяю в Sound Forge оригинальный фрагмент с закодированным и слушаю. Обычно 128 и 160 Кбит/с выпадают из рассмотрения сразу, а настоящая борьба разворачивается между 192 и 256 Кбит/с (ну не люблю я поток в 224 Кбит/c, ибо кривой он какой-то :)). Для отреставрированных фонограмм вполне хватает и 192 Кбит/с, но опять-таки некоторым и 256 Кбит/c подчас не хватает. Скажу также, что магнитофонные записи представляют собой весьма непростой для кодирования материал. Как-то раз я подверг, как теперь принято говорить, "зачистке" фонограмму с весьма посредственным качеством и закодировав потом все в 192 Кбит/c я был потрясен услышанным! Результат звучал словно джаз на 112 Кбит/c, то есть омерзительно. У этого феномена очень глубокая причина и я могу написать еще одну статью на эту тему, если желаете. Так что, доверяйте технике и спектрограммам, но контрольное прослушивание устроить не ленитесь. Тем не менее, по большей части эта информация относится к обладателям хорошего тракта усилитель-колонки (наушники).



Какие методы кодирования стерео информации используются в алгоритмах MPEG

Существуют несколько методов кодирования стерео аудио информации в стандарте ISO11172-3 (MPEG-1 Layer 1,2,3). Dual Channel. Этот режим предполагает кодирование стерео каналов, как абсолютно независимых. Иными словами, в этом режиме кодирование аудио информации происходит отдельно в каждом канале без использования корреляций между ними. Как и следует из названия, этот режим главным образом предназначен для кодирования двух параллельных но различных каналов (например, речь на английском и немецком языках), а не стерео (т.е. не два канала, несущих информацию о стерео картине). Этот режим не рекомендуется использовать для кодирования стерео сигнала, так как существуют проигрыватели (например, madplay), проигрывающие по умолчанию только один канал если поток помечен как Dual Channel. Stereo. Этот режим отличается от предыдущего только тем, что в режиме Dual Stereo во время кодирования для каждого канала используется свой резервуар (об этом в обсуждении вопроса об отличиях ABR/VBR/CBR), а в этом режиме оба канала кодируются с использованием общего резервуара. Иных различий между режимами нет. Joint Stereo - это общее определение методов кодирования стерео информации, основанных на использовании избыточности последней. Другими словами, все методы кодирования, основанные на использовании корреляций между двумя стерео каналами, подпадают под определение Joint Stereo. При кодировании в MPEG-1 имеются две разновидности этого метода: MS Stereo. В данном режиме кодируются не левый и правый канал, а их суммарная составляющая и разностная. При этом перед кодированием сигнал в каждом отдельном фрейме разбивается на частотные полосы (что, собственно, происходит всегда, то есть не только в Joint Stereo). Затем производится вычисление суммарной и разностной составляющей каналов, что математически выглядит так: Mi=(Li+Ri)/sqrt(2), Si=(Li-Ri)/sqrt(2), где i - номер частотной полосы на которые разбивается сигнал перед кодированием, M и S - Mid (сумма) и Side (разность) каналы соответственно, L и R - левый и правый каналы. При таком кодировании о какой-то деградации качества говорить не приходится, поскольку ничего кроме простейших арифметических операций здесь нет. Тяжело говорить про все MP3- кодеры, но именно так делается в Lame Encoder в режиме VBR. В кодерах от Fraunhofer и в Lame CBR (возможно и в других кодерах, так как этот метод описан в стандарте) в Joint Stereo применяется дополнительный механизм, называемый "Sparsing of side channel". Суть этого метода заключается в более жёстком кодировании side-канала, на который, в этом случае, как правило, выделяется меньшее количество бит, что приводит к деградации звучания в side канале, но улучшению качества кодирования в mid. Intensity Stereo. В этом режиме в верхнем частотном диапазоне так же происходит кодирование общей составляющей обоих каналов, как и в случае MS Stereo, но вместо кодирования разностной составляющей в верхнем диапазоне частот происходит просто регистрация и запись мощностей сигналов в левом и правом каналах в каждой частотной полосе начиная с некоторой определенной. Иными словами весь сигнал разбивается на полосы, фактическому кодированию подвергается только нижний диапазон частот side-канала, а в верхнем частотном диапазоне начиная с определенной полосы происходит не кодирование сигнала в каждой полосе, а лишь регистрация мощностей сигнала в каждой полосе. Кодирование стерео сигнала в нижнем частотном диапазоне осуществляется в режиме MS Stereo или просто Stereo. Таким образом, в режиме Joint Stereo фактически происходит кодирование лишь общей составляющей каналов, а стерео на высоких частотах "воссоздается" (если такой термин здесь уместен, а лучше "синтезируется") в соответствующем канале путем умножения общего сигнала на известные (сохраненные при кодировании) значения мощностей частотных участков в соответствующем канале. Можно предположить, что приблизительно аналогичные методы кодирования стерео аудио информации применяются и в других алгоритмах компрессии аудио. Можно ли осуществить преобразование из одного потокового формата аудио данных в другой? Да, такое преобразование возможно. Если речь идет о цифровых потоках, сжатых специальными алгоритмами (такими как MPEG, TwinVQ и проч.), то преобразование из одного типа в другой неизбежно влечет за собой потерю качества, так как для преобразования необходимо сначала декодировать исходный поток (качество которого заведомо отличается от оригинала), а затем снова сжать, используя необходимый компрессор (или просто записать в виде абсолютно кодированном виде, иначе говоря, не сжатом). Таким образом, при осуществлении "перекодирования" в новый формат (не в случае простого декодирования в .WAV) происходит фактически двойная потеря качества (относительно качества оригинального сигнала). Под потерей качества следует понимать не только потерю частотных составляющих в некоторых областях спектра сигнала, но и появление различных дополнительных шумов, помех, а также, потерю информации о сигнале в каналах (потерю оригинального стерео). Если же речь идет об преобразовании формата хранения абсолютно кодированных данных, то существует большое количество программ-конверторов, позволяющих выполнять такое преобразование. Однако следует учитывать, что, например, конвертирование из PCM в ADPCM по своей сути приводит к ощутимым потерям качества, а при конвертировании данных с понижением разрядности сигнала происходит не только потеря оригинального качества, но и появление шумов. С уровнем шумов можно бороться (например, с помощью дизеринга - добавления псевдослучайного белого шума), однако совсем избавиться от них не удается. Поэтому, лучше по возможности не прибегать к таким преобразованиям. В случаях же, когда конвертирование неизбежно, следует быть предусмотрительным и стараться заранее сохранять звуковые данные в абсолютном виде с максимальным качеством (при максимально возможных параметрах), чтобы процесс конвертирования происходил с минимальными потерями. Можно ли осуществить преобразование WAV в MIDI, WAV в трекерный модуль? Другими словами, можно ли преобразовать цифровой поток (будь то .WAV или .SND файл) в файл формата MIDI или трекерный модуль (например, .XM или .IT)? На этот вопрос есть почти однозначный ответ: эта задача не решаема принципиально. Оцифрованное аудио представляет собой, фактически, набор чисел, описывающих значение амплитуды сигнала в каждый момент времени. MIDI-файл - это принципиально иная структура, где хранятся команды, управляющие генераторами и прочими органами звукового синтезирующего устройства. Трекерный модуль представляет собой набор инструментов (оцифрованных звуков), используемых в данной конкретной музыкальной композиции, и набор команд для управления трекером (то есть набор команд, указывающих последовательность воспроизведения инструментов, а также устанавливающих параметры воспроизведения последних). Таким образом, для того, чтобы, скажем, преобразовать оцифрованную музыку в формат MIDI необходимо качественно проанализировать весь исходный цифровой поток и однозначно определить, звучание каких инструментов необходимо будет задействовать в выходном MIDI-файле. То есть, фактически необходимо точно идентифицировать инструменты, входящие в композицию. Однако эта проблема, по крайней мере на сегодняшний день, почти не решаема. Посудите сами: для того, чтобы правильно определить звучание какого инструмента происходит в данный момент, нужно, грубо говоря, однозначно знать спектры всех возможных инструментов. И затем, сравнивая спектр звучащего инструмента с набором спектров известных инструментов, определить звучание какого инструмента мы слышим. Но в тоже время мы знаем, что спектр одного и того же инструмента может сильно измениться даже при небольшом изменении силы воздействия на него, а это в свою очередь означает, что однозначно получить спектр мы не можем. Но все сказанное касалось звучания только одного инструмента. А что же будет со спектром сигнала, если в него входит звучание сразу нескольких инструментов? Спектр изменится коренным образом! Вы скажете, что можно, наверное, определить звучание по формантным областям. Да, это возможно, однако говорить все же о точности определения не приходится. Да и проблема-то не заканчивается точной идентификацией инструментов. В дальнейшем придется точно определять тональности звучания, расстановку во времени и тому подобное. По этой причине можно сделать однозначный вывод: качественное преобразование цифровых потоков в MIDI невозможно в принципе. Справедливости ради нужно сказать, что существует некоторое количество программ, которые позволяют переводить простые одноголосые композиции в MIDI-партитуру. Можно ли перевести цифровой поток в трекерный модуль? Нет, нельзя по приведенным выше причинам. Более того, так как в трекерных модулях (в отличие от MIDI) хранятся кроме команд и сами используемые в композиции инструменты, то для того, чтобы перевести поток в трекерный модуль, из него нужно вычленить звучание отдельных инструментов. А эта задача равносильна вычленению, например, голоса из песни (караоке). То есть, это возможно в какой-то мере, но вычленение несомненно будет крайне некачественным, так как спектры инструментов чаще всего наложены друг на друга



Форматы звуковых файлов

Звук - это физическое природное явление, распространяющееся посредством колебаний воздуха и, следовательно, можно сказать, что мы имеем дело только с волновыми характеристиками. Задачей преобразования звука в электронный вид является повторение всех его этих самых волновых характеристик. Но электронный сигнал не является аналоговым, и может записываться посредством коротких дискретных значений. Пусть они имеют малый интервал между собой и практически неощутимы, на первый взгляд для человеческого уха, но мы должны всегда иметь в виду, что имеем дело только с эмуляцией природного явления именуемого звуком. Такая запись именуется импульсно-кодовой модуляцией и являет собой последовательную запись дискретных значений. Разрядность устройства, исчисляемая в битах, говорит о том сколькими значениями одновременно в одном записанном дискрете, берется звук. Чем больше разрядность, тем больше звук соответствует оригиналу. Любой звуковой файл можно представить, чтобы Вам было наиболее понятно, как базу данных. Она имеет свою структуру, о параметрах которой указывается обычно вначале файла. Потом идет структурированный список значений по определенным полям. Иногда вместо значений стоят формулы, позволяющие уменьшать размер файла. Для того чтобы Вам было совсем понятно, скажу, что запись файла на жесткий диск подобна тому, как Вы набиваете таблицы в Microsoft Excel. Естественно данные файлы могут читать только специализированные программы, в которые заложен блок чтения. РСМ РСМ расшифровывается как pulse code modulation, что и является в переводе как импульсно-кодовая. Файлы именно с таким расширением встречаются довольно редко (я встречал только в программе 3D Audio). Но РСМ является основополагающей для всех звуковых файлов. Я бы не сказал, что это очень экономный метод для хранения данных на диске, но думаю, что от этого уже никогда точно не уйдешь, причем объемы современных винчестеров уже позволяют не обращать внимания на пару десятков мегабайт. DPCM Изыскания по поводу экономного хранения звуковых данных на диске. Если Вы встречаете данную аббревиатуру, то знайте, что имеете дело с разностным РСМ. В основе данного метода лежит та вполне оправданная идея, что вычисления гораздо более громоздки по сравнению с тем, что можно просто указать значения разности. АDPCM Адаптивный DPCM. Согласитесь, что при указании просто значений разности может возникнуть проблема с тем, что есть очень маленькие и очень большие значения. В результате, какие бы супер-точные измерения не были все равно имеет место искажение действительности. Поэтому в адаптивном методе добавлен коэффициэнт масштабируемости. WAV Самое простое хранилище дискретных даннных. Я бы сказал прямое. Один из типов файлов семейства RIFF. Помимо обычных дискретных значений, битности, количества каналов и значений уровней громкости в wav может быть указано еще множество параметров, о которых Вы, скорее всего, и не подозревали - это: метки позиций для синхронизации, общее количество дискретных значений, порядок воспроизведения различных частей звукового файла, а также есть место для того, чтобы Вы смогли разместить там текстовую информацию. RIFF Resource Interchange File Format. Уникальная система хранения любых структурированных данных. IFF Эта технология хранения данных проистекает от Amiga-систем. Interchange File Format. Почти то же, что и RIFF, только имеются некоторые нюансы. Начнем с того, что система Amiga - одна из первых, в которой стали задумываться о программно-сэмплерной эмуляции музыкальных инструментов. В результате, в данном файле звук делится на две части: то, что должно звучать вначале и элемент того, что идет за началом. В результате, звучит начало один раз, за тем повторяется второй кусок столько раз, сколько Вам нужно и нота может звучать бесконечно долго. MOD Файл хранит в себе короткий образец звука, который потом можно использовать в качестве шаблона для инструмента. Проще говоря прошитый в синтезатор сэмпл. AIF или AIFF Audio Interchange File Format. Данный формат распространен в системах Apple Macintosh и Silicon Graphics. Заключает в себе сочетание MOD и WAV. AIFС или AIFF-С Тот же AIFF, только с заданными параметрами сжатия (компрессии). AU Опять же та же гонка за экономией места. Структура файла намного проще, чем в wav, но там указан метод кодирования данных. Файлы очень мало "весят", за счет чего получили довольно широкое распространение в Интернете. Чаще всего Вы можете встретить параметры m-Law 8 кГц - моно. Но есть и 16-битные стерео-файлы с частотами 22050 и 44100 Гц. Это звуковой формат предназначен для работы со звуком в рабочих системах SUN, Linux и FreeBCD. MID Файл, хранящий в себе сообщения MIDI-системе, установленной на Вашем компьютере или в устройстве. МР3 Самый скандальный формат за последнее время. Многие для объяснения параметров сжатия, которые в нем применяют, сравнивают его с jpeg для изображений. Там очень много наворотов в вычислениях, чего и не перечислишь, но коэффициэнт сжатия в 10-12 раз сказали о себе сами. Если говорят, что там есть качество, то могу сказать, что там его немного. Специалисты говорят о контурности звука как о самом большом недостатке данного формата. Действительно, если сравнивать музыку с изображением, то смысл остался, а мелкие нюансы ушли. Качество МР3 до сих пор вызывает много споров, но для "обычных немузыкальных" людей потери не ощутимы явно. VQF Хорошая альтернатива МР3, разве что менее распространенная. Есть и свои недостатки. Закодировать файл в VQF - процесс гораздо более долгий. К тому же, очень мало бесплатных программ, позволяющих работать с данным форматом файлов, что, собственно, и сказалось на его распространении. VOC Восьмибитный моно-формат от семейства SoundBlaster. Можно встретить в большом количестве старых программ, использующих звук (не музыкальных). НСОМ То же самое, что и VOC (восемь бит, моно), но только для Apple Macintosh. UL Стандартный формат U-Law. 8 кГц, 8 бит, моно. RA Real Audio или потоковая передача аудиоданных. Довольно распространенная система передачи звука в реальном времени через Интернет. Скорость ****ачи порядка 1 Кб в секунду. Полученный звук обладает следующими параметрами: 8 или 16 бит и 8 или 11 кГц.
Hosted by uCoz