Тарифы Услуги Сим-карты

Что такое формат MP3? Характер потерь при кодировании. Работает в браузере

Сегодня трудно найти человека, незнакомого с трехбуквенной аббревиатурой – MP3. Вот только, когда начинаешь спрашивать, что же это такое и как расшифровывается, то некоторые люди недоуменно разводят руками, а другие говорят так: ”Ты что? Это же музыка этот MP3!”. Кроме того, MP3 поддерживают многие мобильники. Об этом то мы знаем, а дальше, а больше? :)Понятно, что мало кому понятно, что это за формат. В этой статье я как раз и объясню, что же все - таки это такое, этот MP3.

MP3 – это наиболее популярный формат хранения и передачи информации в цифровой форме, использующий компрессию сигнала. Формат MP3, или MPEG Audio Layer-3, был разработан компаниями Fraunhofer IIS и Thomson. По сравнению с WAV-файлами, являющимися копиями треков Audio CD (PCM, 16 bit, Stereo, 44,1 kHz), MP3-композиции занимают намного меньше места на диске. На обыкновенном CD-R/RW-бланке можно сохранить свыше 11 часов музыки вполне пристойного качества.

Для MP3 написано множество отличных программ (кодировщиков, проигрывателей и т. д.), налажено производство аппаратных (стационарных, карманных и автомобильных) плееров, каждый современный телефон поддерживает MP3-мелодии (и даже имеет встроенный плеер для их удобного воспроизведения). По сравнению со многими другими форматами сжатия аудио MP3 обеспечивает лучшее качество звучания и сегодня по своей популярности занимает, пожалуй, второе место после Audio CD.

Описание формата MP3

Формат сжатия аудиоданных MP3 (сокращение от MPEG Layer3) - один из первых популярных способов сжатия звука. Разработан немецкой компанией Fraunhofer IIS и позднее, при поддержке фирмы THOMSON, внедрён как часть видеоформатов MPEG1 и MPEG2. Обеспечивает высокое качество звука при сравнительно небольших размерах файла.

Технические сведения о формате MP3

Высокая степень сжатия в MP3 достигается за счёт достаточно сложного алгоритма кодирования. Используются как математические методы компрессии, так и особенности человеческого слуха (психоакустическая модель): эффект маскировки слабого звука одной частоты более громким звуком такой же или соседней частоты, понижение чувствительности уха к тихому звуку сразу после громкого, невосприимчивость к звукам ниже определённого уровня громкости.

Поток звука при кодировании разбивается на равные по участки (фреймы). Каждый из фреймов кодируется отдельно со своими параметрами и содержит заголовок, в котором эти параметры указаны. Сжатие может быть выполнено с разным качеством и соответственно размером конечного файла.

Степень сжатия характеризуется битрейтом (bitrate) - количество передаваемой за единицу времени информации. Файлы MP3 обычно закодированы с битрейтом от 64 до 320 килобит в секунду (kbps или kb/s), а также с переменным битрейтом (VBR) - когда для каждого фрейма используется свой, оптимальный для данного участка, битрейт.

Исходный сигнал с помощью фильтров разделяется на несколько частотных диапазонов, для каждого диапазона определяется величина маскирующего эффекта от соседних диапазонов и предыдущего фрейма, несущественные сигналы игнорируется. Для оставшихся данных для каждого диапазона определяется, сколькими битами можно пожертвовать, чтобы потери были ниже величины маскирующего эффекта. На этом работа психоакустической модели завершается, а итоговый поток дополнительно сжимается по алгоритму Хаффмана (аналогично RAR архиватору).

При битрейте 320 kbps применяется только итоговое сжатие, без психоакустического моделирования. Следует иметь в виду, что различные кодеки могут кодировать аудиосигнал по-разному, различия особенно проявляются на высоких частотах и низких битрейтах. В формате MP3 кодируется стереосигнал, при этом возможны несколько вариантов преобразования:

  • Dual Channel - каждый канал получает половину потока и кодируется отдельно - возможна запись двух абсолютно разных сигналов.
  • Stereo - каждый канал кодируется отдельно, но программа-кодер может использовать свободное место одного канала для размещения информации другого. Режим stereo выставлен по умолчанию в большинстве кодеров.
  • Joint Stereo (MS Stereo) - стереосигнал раскладывается на общий для обоих каналов и разностный. Имеет вариант - MS/IS Stereo с упрощённым разностным сигналом.

Сильные стороны формата MP3:

  • Высокая степень сжатия при приемлемом качестве звука.
  • Степень сжатия и качество может регулироваться пользователем.
  • Фреймовая структура удобна для передаче по сети, позволяет переход к любому месту файла.
  • Широкое распространение аппаратуры и программ.

Особенности применения MP3

Несмотря на то, что кодирование в MP3 осуществляется с утерей части исходной информации, при битрейтах 256 и 320 kbps практически невозможно отличить на слух сжатый сигнал от оригинала, особенно при прослушивании на распространённой аудио аппаратуре. При этом размер файла в самом худшем случае будет в 4 раза меньше, чем в формате CD audio.

Для использования в компактных плеерах и других устройствах с невысоким качеством акустики можно вполне использовать битрейт не ниже 192 kbps. Битрейты ниже 192 kbps рекомендуется использовать для сжатия сигнала с ограниченным частотным диапазоном или невысокими требованиями к достоверности (например, разговор или телепередача).

На чем же основана идея компрессии звука в MP3?

Наверняка, обращаясь к приятелю, отгороженному от внешнего мира «музофоном», вы замечали, как он начинает неестественно громко отвечать на ваши вопросы, поскольку собственный голос, слышимый им под рев рок-концерта, звучит для него непривычно тихо - особенность человеческого восприятия. И дело тут не столько в остроте слуха, сколько в способности нашего мозга «переваривать» звуковую информацию: не реагировать на импульсы, мощность которых ниже определенного уровня; после сильного грохота не слышать шепота и т. д.

Этим и пользуются при создании MP3-кодеров, в каждом из которых может быть реализована своя собственная, варьируемая в зависимости от целей и задач, так называемая психоакустическая модель, где можно пренебречь сравнительно слабыми сигналами.

Как же работают такие методы?

Исходный звуковой сигнал разбивается на отдельные блоки, именуемые фреймами, к каждому из которых применяется специальный алгоритм кодирования, причем параметры сжатия для разных фреймов могут значительно отличаться друг от друга. В процессе кодирования блока исходный сигнал разделяется на несколько составляющих частотных диапазонов. Для каждого из них просчитывается величина так называемого эффекта маскирования слабого сигнала более мощным от соседнего диапазона или от предыдущего фрейма. Затем в зависимости от результатов происходит удаление второстепенных звуков, которые не будут слышимы «среднестатистическим» человеком из-за наличия в данный момент более громкого сигнала. Кроме того, учитывается неспособность большинства людей различать высокочастотные сигналы (выше 16 kHz).

Аудиоинфоpмация, сжатая по данной схеме, может передаваться потоком, например через интернет, а может храниться в файлах формата MP3.

Битрейт и его значение

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

Битрейт 128 Kbps с легкой руки Fraunhofer IIS был признан оптимальным для использования в интернете, а некоторые производители кодеров распространили мнение о том, что этой скорости вполне достаточно для кодирования музыки с качеством, близким к Audio CD. Однако это не так. На хорошей аппаратуре невосполнимые потери аудиоинформации становятся заметными.

Чем выше битрейт, тем больше места на диске потребуется для сохранения конечного MP3-файла, но и, как правило, тем выше будет качество закодированного сигнала. В целом же каждое значение битрейта имеет свою область применения.

Даже профессиональные эксперты с тонким музыкальным слухом порой не в состоянии отличить на хорошей аппаратуре звучание трека Audio CD и его образа, закодированного в MP3-файл с низким коэффициентом сжатия, например 4:1 (320 Kbps). Для рядового же меломана эта разница становится практически неощутимой при скорости потока 192-256 Kbps.

Ежели вы имеете дело только с компьютерными акустическими системами или недорогой бытовой радиоаппаратурой, то для кодирования и последующего прослушивания композиций вполне достаточно 160-192 Kbps. Для компрессии быстро устаревающей поп-музыки, а также для «выкладывания» музыкального архива в сети вполне подойдет и 128 Kbps. Значения битрейта ниже 128 Kbps не позволяют добиться должного качества звучания. Скорости 64-96 Kbps чаще всего используют для сжатия аудиоуроков иностранного языка, лекций, интервью и аудиотрансляций.

Долгое время кодеры поддерживали лишь постоянный битрейт (CBR - Constant BitRate), т. е. пользователь задавал определенную скорость потока данных, а программа обеспечивала при этом максимально возможное качество кодирования. Но очевидно, что плотность потока значимой информации от фрейма к фрейму различна. (Зачем, к примеру, кодировать паузы?) Вот разработчики кодеров и решили использовать для компрессии каждого фрейма свой битрейт, т. е. поставили задачу минимизировать скорость потока данных, сохранив тот же уровень качества. Так родилась идея переменного битрейта VBR (Variable BitRate).

Думаю, теперь вам стало чуть более понятно, какую музыку «предпочитает» ваш телефон. Желаю вам больше приятных мелодий! До встреи в следующих статьях на mobime!

Приложение позволяет преобразовывать любые аудиофайлы в удобный вам формат совершенно бесплатно. Веб-сервис поддерживает синхронизацию с Google Drive и Dropbox для получения файлов из данных систем. Извлечь их можно также из внешних источников посредством URL ссылок.

Удобный интерфейс

Пользование сервисом не требует больших усилий. Достаточно выполнить 3 шага: загрузить нужную аудиозапись на сайт, затем выбрать качество будущего трека и нажать «Конвертировать» для завершения процесса.

Пакетная конвертация

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

Работа с любыми форматами

Для работы в этом приложении можно выбрать практически любой первичный формат файлов для конвертирования (около 300 вариантов). Аудиозапись можно преобразовать в 8 форматов, среди которых mp3, wav, m4a, mp2 и другие.

Расширенные настройки

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

Работает в браузере

Для того, чтобы начать работу с конвертером достаточно загрузить на компьютер браузер, если у вас его нет, и начать конвертирование. Возможность работать без скачивания сохраняет память компьютера и освобождает её для важных данных. Кроме того, непосредственная работа в браузере сокращает время, затраченное на подготовку программы к созданию треков.

Извлечь звук из видео

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

Безопасность

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

Поддержка тегов

Дополнительной опцией является введение тегов на некоторые форматы (AAC, AIFF, FLAC, M4A, M4R, MMF, MP3, OGG, OPUS, WAV, WMA). Изменение названия, трека, альбома и даже исполнителей – всё это также обеспечивается ресурсом аудио конвертер онлайн.

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

Формат MP3 - потоковый формат. Это означает, что передача данных происходит потоком независимых отдельных блоков данных - фреймов. Для этого исходный сигнал при кодировании разбивается на равные по продолжительности участки, именуемые фреймами и кодируемые отдельно. При декодировании сигнал формируется из последовательности декодированных фреймов.

Высокая степень компактности формат MP3 по сравнению с PCM 16Bit Stereo 44.1kHz (CD Audio) и ему подобными форматами при сохранении аналогичного качества звучания достигается с помощью дополнительного квантования по установленной схеме, позволяющей минимизировать потери качества.

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

Подобные техники называются адаптивным кодированием и позволяют экономить на наименее значимых с точки зрения восприятия человеком деталях звучания. Степень сжатия, и, соответственно, объем дополнительного квантования, определяются не форматом, а самим пользователем в момент задания параметров кодирования. Ширина потока (bitrate) про кодировании сигнала, аналогичного CD Audio (44.1kHz 16Bit Stereo) варьируется от наибольшего, 320kbs (320 килобит в секунду, также пишут kbs, kbps или kb/s), до 96kbs и ниже.

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

На проведенных тестах специально приглашенные опытные эксперты, специализирующиеся на субъективной оценке качественности звучания, не смогли различить звучание оригинального трека на CD и закодированного в формат MP3 с коэффициентом сжатия 6:1, то есть с битрейтом в 256kbs. Правда, тесты были проведены на небольшом количестве материала, и на самом деле не все столь хорошо, нередко бывает действительно нужно пользоваться 320kbs. Для себя я счел это достаточным основанием для полного перехода на кодирование с битрейтом 320kbs.

Более низкие битрейты, несмотря на их популярность, не дают возможности обеспечить надлежащее качество кодирования, что незаслуженно обеспечило MP3 дурную славу любительского формата. На самом деле, хотя и 256kbs, и даже 320kbs тоже не дают возможности осуществить полностью прозрачное кодирование, но отличия от CD Audio, по которому кодируется тестовый MP3, сравнимы с отличиями самого CD Audio от исходного аналогового сигнала, из которого он был получен путем оцифровки. То есть потери, конечно, есть, но несущественны с точки зрения того, кому качество CD Audio представляется достаточным. Фактически, их обнаружение обычно является задачей нетривиальной на аппаратуре класса Hi-Fi.

Настоящее и будущее MP3.

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

Для формата MP3 также написано множество удобного программного обеспечения. Этот факт отражает второе, не менее важное преимущество - на ближайшие годы, а возможно, и на все десятилетие, формат MP3 стал стандартом де факто, настолько много сделано в него вложений пользующимися им сторонами, в том числе и цифровыми радиостанциями.

Формат MP3 довольно долго оставался неизвестным, но несколько лет назад начался взрывной рост его популярности, столь же быстро начали появляться залежи нелегальных файлов в формат MP3 . Сейчас налажено производство аппаратных MP3 плееров, а карманных, и для автомобилей. Таким образом, формат MP3 стал первым массово признанным форматом хранения аудио после CD-Audio.

Несмотря на то, что формат MP3 появился достаточно давно, более новые форматы, претендующие на его место, появившиеся к настоящему моменту, все на поверку оказались любительскими. Они могут быть или не быть хороши по сравнению с форматом MP3 на низких битрейтах, это зависит от трека и особенностей слуха конкретного человека, но на место формата MP3 256kbs... 320kbs претендовать не способны.

Возможно, "монополия" формата MP3 в сфере компьютеров на низких битрейтах все же будет отчасти сломлена новым форматом от Microsoft -- WMA. Но пока рано говорить об этом. С другой стороны, появление Microsoft на данном рынке со столь сильной разработкой означает быстрое отсеивание оказавшимися неудачными ветвей AAC и VQF. Впрочем, остается надежда, что AAC еще будет доработан.

Описание процесса кодирования

Подготовка к кодированию. Фреймовая структура Перед кодированием исходный сигнал разбивается на участки, называемые фреймами, каждый из которых кодируется отдельно и помещается к конечном файле независимо от других. Последовательность воспроизведения определяется порядком расположения фреймов. Каждый фрейм может кодироваться с разными параметрами. Информация о них содержится в заголовке фрейма.

Начало кодирования Кодирование начинается с того, что исходный сигнал с помощью фильтров разделяется на несколько, представляющих отдельные частотные диапазоны, сумма которых эквивалентна исходному сигналу.

Работа психоакустической модели Для каждого диапазона определяется величина маскирующего эффекта, создаваемого сигналом соседних диапазонов и сигналом предыдущего фрейма. Если она превышает мощность сигнала интересующего диапазона или мощность сигнала в нем оказывается ниже определенного опытным путем порога слышимости, то для данного фрейма данный диапазон сигнала не кодируется.

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

Завершение кодирования После завершения работы психоакустической модели формируется итоговый поток, который дополнительно кодируется по Хаффману, на этом кодирование завершается.

Замечание На практике схема несколько сложнее. Например, необходимо согласовываться с требованиями битрейта. В зависимости от кодера это приводит при повышении битрейта к разного рода релаксациям при отборе сохраняемой части исходного сигнала, а при понижении - наоборот, к ужесточению критериев.

Способы кодирования стерео сигнала

В рамках формата MP3 кодирование стереосигнала допустимо четырьмя различными методами:

Dual Channel - Каждый канал получает ровно половину потока и кодируется отдельно как моно сигнал. Рекомендуется главным образом в случаях, когда разные каналы содержат принципиально разный сигнал - скажем, текст на разных языках.
Выставляется в некоторых кодерах по требованию.

Stereo - Каждый канал кодируется отдельно, но кодер может принять решение отдать одному каналу больше места, чем другому. Это может быть полезно в том случае, когда после отброса части сигнала, лежащей ниже порога слышимости или полностью маскируемой, оказалось, что код не полностью заполняет выделенный для данного канала объем, и кодер имеет возможность использовать это место для кодирования другого канала. В документации к mp3enc замечено, что этим, например, избегается кодирование "тишины" в одном канале, когда в другом есть сигнал.
Данный режим выставлен по умолчанию в большинстве ISO-based кодеров, а также используется продукцией FhG IIS на битрейтах выше 192kbs. Применим и на более низких битрейтах порядка 128kbs... 160kbs.

Joint Stereo (MS Stereo) - Стереосигнал раскладывается на средний между каналами и разностный. При этом второй кодируется с меньшим битрейтом. Это позволяет несколько увеличить качество кодирования в обычной ситуации, когда каналы по фазе совпадают. Но приводит и к резкому его ухудшению, если кодируются сигналы, по фазе не совпадающие. В частности, фазовый сдвиг практически всегда присутствует в записях, оцифрованных с аудиокассет, но встречается и на CD, особенно если CD сам был записан в свое время с аудиоленты. С другой стороны, уже совершена (первая?) попытка написать программу для автоматической коррекции фазового сдвига. Возможно, она немного поможет любителям кодировать оцифровки с аудиокассет с битрейтом порядка 128kbs.
Режим выставлен по умолчанию продукцией FhG IIS, а также кодером Lame, для битрейтов от 112kbs до 192kbs.

Joint Stereo (MS/IS Stereo) - Вводит еще один метод упрощения стереосигнала, повышающий качество кодирования на особо низких битрейтах. Состоит в том, что для некоторых частотных диапазонов оставляется уже даже не разностный сигнал, а только отношение мощностей сигнала в разных каналах. Понятно, для кодирования этой информации употребляется еще меньший битрейт.
В отличие от всех предыдущих, этот метод приводит к потере фазовой информации, но выгоды от экономии места в пользу среднего сигнала оказываются выше, если речь идет о очень низких битрейтах.
Этот режим по умолчанию используется продукцией FhG IIS для высоких частот на битрейтах от 96kbs и ниже (другими качественными кодерами этот режим практически не используется).
Но, как уже говорилось, при применении данного режима происходит потеря фазовой информации, также теряется любой противофазный сигнал.

Простые ошибки пользователей MP3

Одно из самых больших заблуждений, связанных с форматом MP3, постоянно проявляется в споре "128kbs vs 256kbs - с каким битрейтом кодировать". Аргументы сторонников первого варианта исчерпываются напоминанием, что такие MP3 вдвое меньше. Утверждение, что уж лучше держать CD Audio вместо MP3 256kbs, несостоятельно - качество формата MP3 256kbs... 320kbs практически сответствует оригиналу, а занимаемый объем в 4.5-6 раз меньше. Заблуждение же состоит в том, что и 128kbs дает достаточно высокое качество. На самом же деле для людей, сознательно выбирающих 128kbs, сохранение близкого к исходному качества просто не является слишком важным, так как их аппаратура обычно не лучше плееров - "мыльниц;". В то же время многие владельцы CD кодируют их в формате MP3 даже просто потому, что гораздо реже нужно CD менять - на моем 8Gb винчестере поместится более пятидесяти часов музыки в формате MP3 битрейта 320kbs. Как говорится, в этом случае мотивы пользователей 128kbs нам непонятны.

Чтобы не суметь отличить формат MP3 128kbs от оригинала, нужно либо не иметь слуха, либо взять аппаратуру похуже. И то, что на большинстве компьютерных систем с момента покупки стоит ужасно шумная звуковая плата от ESS, известно всем хорошо. Только мне с некоторых пор кажется, что дело еще и в постоянном отравлении некачественным звуком, и, как следствие, временной (но постоянно возобновляемой) потере чувствительности. Мы слишком часто слушаем то, что слушать не стоило бы, и дело не только характеристиками компьютерной техники - формат MP3 128kbs при нормальном слухе не понравится и на ESS. Конечно, по сравнению с дребезгом колонок уличного киоска под аккомпанемент трамвая звучание формат MP3 128kbs может казаться весьма неплохим, но это не нормально.

Что со всем этим делать? Да просто берегите уши от лишних истязаний, оно полезно. А что до карты - простая малошумная карта и относительно приличные наушники стоят не так уж много. Поэтому в обзоре не учитываются шумы компьютера и карты - эти трудности вполне преодолимы.

Другое небольшое заблуждение состоит в том, что уровень шумов декодированного сигнала сильно связан с уровнем качества формата MP3 . Но это заблуждение развевается очень быстро - заметить, что качество формата MP3 зависит от других причин, легче легкого. Как правило, уровень шумов очень низок на любых битрейтах, это скорее характеристика плеера.

Кроме того, в большинстве учебников прямо говорится о неспособности человека слышать частоты выше 16kHz. Но во-первых, это просто неверно, многое зависит от мощности сигнала и от возраста слушателя. Во-вторых, человек - существо, не лишенное оригинальности. Даже когда он не слышит такие звуки с помощью уха осознанно, он все же ощущает их. И это влияет на восприятие. Поэтому обрезание частот выше 16kHz можно считать обоснованным на низких битрейтах, когда оно позволяет намного лучше закодировать более низкие диапазоны, но нельзя не брать в расчет, когда речь заходит о высоких битрейтах, приближающих качество сигнала к уровню CD Audio. Да, кстати, у детей частотный порог слышимости куда выше 16kHz.

Способы хранения MP3

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

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

Часто к последовательности фреймов добавляют стандартный заголовок мета-аудиоформата WAV, и получается то, что называют WAV-MP3. Еще чаще к MP3-файлу добавляется информационный блок ID3v2, содержащий информацию об исполнителе, жанре, названии композиции, и другую подобную информацию о треке. Он добавляется в конец файла. В середину пока никто ничего ставить не придумал. Хотя, вообще говоря, может представлять некоторый интерес вставка спецтэга для VBR с информацией о том, в какой части трека мы, собственно, находимся.

Характер потерь при кодировании

На низких битрейтах всегда срезаются мелкие, сравнительно тихие детали, наличие или отсутствие которых нередко серьезно меняет эмоциональную окраску композиции, придает или лишает ее таких эффектов, как ощущение "кристальной" чистоты звука (в той мере, в которой она присутствует в CD Audio). Кроме того, в соответствии с психоакустической моделью, высшие (выше 16 кГц) частоты на низких битрейтах кодируются с очень низким приоритетом.

Далее, имеют место разные особенности кодеров. Так, у кодеров от FhG IIS на 128 kbs оказываются "смазаны" верхние частоты, наблюдается эффект "шепелявости", в то время как у ISO-based вместо этого - "звон". Скорее всего, это связано с разным отношением к частотам выше 16kHz у данных кодеров. В кодере Lame, кстати, они по умолчанию срезаются, что увеличивает качество кодирования на 128kbs.

На высших битрейтах при последовательном следовании психоакустической модели, разработанной FhG IIS, проблемы могут доставлять только ошибки, внесенные при написании кодера. Впрочем, из-за не слишком большой озабоченности FhG IIS качеством его кодеров на высоких битрейтах уже не раз оказывалось, что новая версия звучит иногда даже несколько хуже старой. Полагаю, причина кроется в недостаточном или неправильном ослаблении ограничений психоакустической модели при повышении битрейта. Опять же, первый серьезный заказчик, и проблема исчезнет.

Быстрый, мощный, многофункциональный и простой в использовании аудио конвертер.

Его основной целью является редактирование и конвертация аудио файлов из одного формата в другой. Поддерживаются все популярные аудио форматы, такие как MP3, Windows Media Audio (WMA и ASF), QuickTime Аудио (MP4, M4A и AAC), Real Audio (RM и RA), Vorbis Audio (OGG), форматы для телефонов (AMR), Creative Voice (VOC), Sun Audio (AU), Wave Audio (WAV и AIFF), FLAC и т.д. Мы поддерживаем также и все аудио кодеки, включая MP3, AAC, Vorbis, GSM и ADPCM.

Вы также можете открыть и сконвертировать файлы M3U. Кроме того, имеется возможность загрузки аудио файлов через Интернет.

Поддержка всех основных ключевых форматов
Поддерживаются практически все популярные аудио кодеки и форматы. Поддерживаемые форматы: MP3, WMA и ASF, M3U, MOV, MP4 и M4A, RM и RA, OGG, AMR, VOC, AU, WAV, AIFF, FLAC, OMA и многие другие.

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

Возможность сохранения аудио из видео
Теперь вы можете сохранить звуковую дорожку или ее часть из видео файлов и создать свой собственный саундтрек в любом из доступных аудио формате.

Удаление фрагментов из аудио файлов
Используя встроенный редактор, вы можете легко удалять ненужные фрагменты из аудио файлов. После конвертации, фрагменты будут удалены из полученного файла.

Скачивание аудио файлов из Интернета
Теперь вы всегда можете скачать аудио с сайта и сразу же сконвертить ее в другой аудио формат.

Высокое качество аудио конвертации
При конвертации мы используем только высококачественные алгоритмы обработки звука, поэтому аудио преобразования происходят практически без потерь в качестве. Результирующее качество зависит только от выбранного вами профиля.

Высокая скорость конвертации аудио файлов
Все наши продукты использовать алгоритмы, оптимизированные под использование нескольких процессоров для ускорения их работы. Наши программы поддерживают и используют широкий спектр технологий, таких как Dual Core, Core Duo, Hyper-Threading и другие.

Высокая надежность и стабильность
Мы постарались сделать все наши продукты совместимы со всеми операционными системами Windows. Вы не должны столкнуться с проблемами при использовании наших программ.

Однажды мне понадобилось решить простенькую (как мне тогда казалось) задачу – в PHP-скрипте узнать длительность mp3-файла. Я слышал о ID3 тегах и сразу подумал, что информация о длительности хранится либо в тегах, либо в заголовках mp3-файла. Поверхностные поиски в интернете показали что за пару-тройку минут решить эту задачу не получится. Поскольку от природы я довольно любопытен а время не поджимало - решил не использовать сторонние инструменты а разобраться в одном из самых популярных форматов самостоятельно.

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).

В данной статье мы не будем подробно останавливаться на извлечении ID3v2 тегов – это можно вынести в отдельную статью, так как там есть различные нюансы. А так же на фрагментах заголовков, которые практически не используются в настоящее время (например, часть Emphasis заголовка mp3-фрейма). Так же мы не рассматриваем структуру самих аудиоданных - тех самых, которые слышим из колонок.

ID3 теги

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

Wikipedia

Существует две абсолютно разных версии ID3-данных: ID3v1 и ID3v2.

ID3v1 – имеет фиксированный размер в 128 байт, которые дописываются в конец mp3-файла. Там можно хранить: название трека, исполнитель, альбом, год, комментарий, номер трека (для версии 1.1) и жанр.

Довольно быстро всем стало понятно, что 128 байт – очень уж небольшое место для хранения таких данных. И поэтому, со временем, появилась и успешно используется вторая версия данных – ID3v2 .
В отличии от первой версии, теги v2 имеют переменную длину и размещаются в начале файла, что позволяет поддерживать потоковое воспроизведение. (Формат ID3v2.4 позволяет так же хранить данные и в конце файла).
Данные ID3v2 состоят из заголовка и последующих фреймов ID3v2. Например, в версии ID3v2.3 существует более 70 типов фреймов.

  • маркер всегда равен ‘ID3’
  • В данный момент имеются три версии ID3v2.2, ID3v2.3 и ID3v2.4
    Версия v2.2 считается устаревшей.
    v2.3 – самая популярная версия.
    v2.4 – набирает популярность. Одно из отличий от v2.3 в том, что позволяет использовать кодировку UTF-8 (а не только UTF-16)
  • Флаги . В настоящее время используются только три (5,6,7) бита:
    bin: %abc00000
    a ‘unsynchronisation’ – используется только с MPEG-2 и MPEG-2.5 форматами.
    b ‘Extended header’ – указывает на наличие расширенного заголовка
    с ‘Experimental indicator’ – эксперементальный индикатор
  • Длина . Особенность указания длины данных ID3v2 в том, что в каждом байте 7-й бит не используется и всегда установлен в 0.
Рассмотрим пример:

В данном случае вместе с заголовком ID3v2 (10 байт) – данные ID3v2 занимают 1024 байта.

После ID3v2-заголовка идут собственно теги. Подробный разбор чтения тегов ID3v2, как сказано выше, я решил не включать в эту статью.

Теперь у нас есть информация о наличии и длине тегов ID3 и мы можем приступать в разбору mp3-фрейма и понять-таки – где же хранится длительность. А заодно понять и всё остальное.

MP3-фрейм

Весь mp3-файл состоит из фреймов, которые можно извлекать только последовательно. Фрейм содержит в себе заголовок и аудио-данные. Поскольку мы не ставим себе целью написать прошивку для магнитофона – нас интересует именно заголовок фрейма.

О нем подробнее (куча таблиц и сухой информации)

Размер заголовка – 4 байта.

Описание:

Режимы сжатия данных или какой бывает битрейт

Существует 3 режима сжатия данных:

CBR (constant bitrate) – постоянный битрейт. Не меняется на всем протяжении трека.

VBR (variable bitrate) – переменный битрейт. При этом сжатии битрейт постоянно меняется на протяжении трека.

ABR (average bitrate) – усредненный битрейт. Это понятие используется только при кодировании файла. На «выходе» получается файл с VBR.

CBR

Если файл закодирован с постоянным битрейтом – то мы уже можем наконец-то! получить длительность нашего трека по следующей формуле:
Длительность = Размер аудиоданных / Битрейт (в битах!) * 8

Например, файл имеет размер 350670 байт. Есть ID3v1 теги (128 байт) и ID3v2 теги (1024 байта). Битрейт = 96. Следовательно размер аудиоданных равен 350670 – 128 – 1024 = 349518 байт.
Длительность = 349518 / 96000 * 8 = 29,1265 = 29 секунд

VBR

Необходимо пояснить – как определить режим сжатия. Всё просто. Если файл сжат с VBR – то добавляется VBR-заголовок. По его наличию мы и можем понять, что используется переменный битрейт.
Есть два вида заголовков: Xing и VBRI.
Xing размещается со смещением от начала первого mp3-фрейма в позиции, согласно таблице:

Например: у нас ID3v2 тег занимает 1024 байта. Если наш mp3-файл имеет режим канала «Стерео» - то заголовок VBR Xing будет начинаться со смещения 1024 + 32 = 1056 байт.

Заголовок VBRI всегда размещается со смещением +32 байта от начала первого mp3-фрейма.

Первые четыре байта в обоих заголовках содержат маркер ‘Xing’ или ‘Info’ для Xing. И ‘VBRI’ для VBRI.

Эти VBR заголовки имеют переменную длину и содержат различную информацию о кодировании файла. Подробнее о структуре заголовков VBR (и не только) можно почитать, например, .

Я же расскажу только о том, что нас интересует в данный момент. А именно – количество фреймов (Number of Frames). Это число длиной 4 байта.
В заголовке Xing оно содержится по смещению +8 байт от начала заголовка. В VBRI +14 байт от начала заголовка.

Используя таблицу Сэмплов на фрейм (Sampler Per Frame) мы можем получить длительность mp3-файла, закодированного с переменным битрейтом.

Длительность = Количество фреймов * Сэмплов на фрейм / Частоту дискретизации

Например: из заголовка VBRI получили количество фреймов 1118, сэмплов на фрейм = 1152. Частота дискретизации = 44100.
Длительность = 1118 * 1152 / 44100 = 29.204 = 29 секунд.

На этом на сегодня всё. Если был кому-то полезен - спасибо .

Для тех, кто захочет немедленно поковырять внутренности mp3 -