No Image

Как определить битрейт mp3

СОДЕРЖАНИЕ
6 577 просмотров
16 декабря 2019

Часто бывает, указанный в файле битрейт (kbps или килобит в секунду) не соответствует действительности. Почему это происходит? Если уменьшить битрейт, изменятся при этом и цифра, и качество звука. Однако при увеличении битрейта того же аудио-файла изменяется только цифра.

Как узнать битрейт аудио, то есть реальный битрейт – я постараюсь объяснить коротко и ясно, дабы не отбирать у вас драгоценное время. Для визуального просмотра битрейта нужна программа, соответственно. В моём случае будет использоваться Adobe Audition, 3 версия. Другие же версии ничем особо не отличаются. Также спешу намекнуть, что наиболее частые битрейты бывают в следующих цифрах: 128 kbps – низкое качество, 160 kbps – ниже среднего, 192 kbps – приемлемое качество, 224 kbps – выше среднего, 256 kbps – высокое качество и 320 kbps – наивысшее качество кодирования музыки в формате mp3. Итак, поехали.

Открываем программу, загружаем аудио-файл и нажимаем на значок оранжевого цвета. Где находится этот значок, указано стрелкой на картинке ниже. В качестве примера берём трек Steve Angello – Voices (Eric Prydz Edit). Для увеличения картинки кликните на неё.

На следующей картинке представлено качество трека в формате mp3, 320 kbps. Как видно, программа определяет качество звука в герцах (на линейке справа), но это не мешает нам в определении визуального битрейта. Идеальное качество mp3 в данном случае располагается на высоте 20 000 Hz. Но бывает и чуть ниже или чуть выше, зависит от самого трека и на какой программе он был написан.

Так, ниже представлено низкое качество, то есть mp3, 128 kbps. Как видно, звуковая спектрограмма cрезалась до 16 000 герц. Данное качество вполне приемлемо большинству любителей «просто послушать», однако профессиональный музыкант или диджей на продвинутой аппаратуре ухудшенное качество почувствует легко.

А тут вы видите трек под качеством 192 kbps – один из самых частых показателей. Как видно, «огонь» снизился до 19 000 герц, а промежуток между 19 000 и 16 000 герц стал более прозрачным. Кстати, примерно так же выглядит трек на 320 kbps после его обработки в том же самом Adobe Audition, даже если вы сохранили его в тот же самый 320 kbps. Поэтому примите к сведению, что чем больше вы проводите музыку через программы, тем хуже при этом становится качество.

А вот так выглядит трек в формате wav, его битрейт равен 1411 kbps’ам. Как вы видите, спектрограмма так называемого «чистого звука» аж переходит границу и неизвестно, где она при этом заканчивается 🙂 Вот это я понимаю – качество!

Copyright © 2017, Taras Kovrijenko

Полное или частичное копирование текста допускается только с письменного разрешения автора.

Пролог

Хоть интернет полнится различного рода инструкциями по проверке честности lossless аудио, проверке на апконверт и т. п., я решил написать на этот счет свою инструкцию, подойдя к рассмотрению вопроса с должной основательностью и расстановкой.

Итак, перейдем непосредственно к делу.

Что будем мерить

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

О чем же в данном случае можно судить? Во-первых — о частотном диапазоне анализируемого сигнала (это единственное, что можно определить точно), о его спектральном составе, ну и, как следствие (уже с той или иной вероятностью):

1. Если это lossless трек: был ли он получен из lossless источника, или же ранее был закодирован с использованием одного из lossy алгоритмов. Имеются ввиду алгоритмы, использующие психоакустическое сжатие. Сжатие с динамическим понижением разрядности (lossy WavPack, lossyWAV) скорей всего выявить не удастся, возможно, только на слух, по фоновым шумам.

2. Если это lossy: соответствует ли материал текущему своему виду, т.е., опять же, был ли источником кодирования lossless сигнал, или это апконверт. Апконвертом является любое преобразование с повышением битрейта. Например, перекодирование MP3 128 кбит/с в 320 кбит/с. Однако, осознанное перекодирование качественного AAC, OGG или MPC 200-256 кбит/с в MP3 320 кбит/с (для лучшей совместимости с устройствами воспроизведения) — случай довольно спорный, и при отсутствии других исходников даже не осуждается. Но, конечно же, при создании раздачи подобного материала, источник надо обязательно указывать.

Кроме того, для lossy (и в особенности, для LAME MP3) можно с той или иной степенью достоверности определить параметры кодирования. А определив например такой параметр, как частота срез НЧ фильтра, и сравнив его с актуальным частотным диапазоном записи, можно в некоторых случаях выявить тот самый апконверт.

Что будем использовать

1. foobar2000 — для декодирования, воспроизведения и просмотра технических характеристик музыкальных файлов. Дополнения к foobar2000: fooCDTect (оболочка к auCDTect — проверка lossless на предмет апконверта), AuSpec (удобный просмотр спектрограммы нажатием одной кнопки), MP3 Packer — просмотр специфических параметров MP3.

Примечание: дабы не устанавливать дополнительно горы декодеров и дополнений, рекомендую сразу скачать мою сборку. Альтернативы foobar2000 и дополнениям не советую, т.к. по возможностям они значительно уступают.

2. EncSpot Professional — с его помощью мы будем просматривать технические характеристики MP3 файлов.

3. Adobe Audition 2 — для просмотра спектрограмм с удобным масштабированием.

Собственно, сам процесс

Lossy

И так, возьмем в качестве примера закодированный мной Pink Floyd — Time (Pink Floyd — The Dark Side Of The Moon (AAD, Capitol CDP 7 46001 2)). Загрузим его в foobar2000 и поставим на воспроизведение:

Вверху мы видим примерную форму огибающей громкости (которая совмещена с полосой прокрутки), над ней VU Meter (аналог пикметра, но с некоторым усреднением по времени), внизу расположены остальные анализаторы:

Осциллограмма — волновая форма проигрываемого в данный момент отрезка записи.

Спектральная диаграмма (Spectrum Analyser), показывающая распределение мощности среди спектральных составляющих в данный момент времени,
пикметр, показывающий текущий уровень семпла (точнее, модуль его отклонения от нулевого положения)

Спектрограмма — аналог спектральной диаграммы, но с третей осью (время). Т.е., если мысленно выстроить спектральные диаграммы одну за одной, и глянуть на них сверху, получим спектрограмму («высота столбцов» задается яркостью цвета). Проще говоря, по горизонтали у нас время, по вертикали — линейно частота от 0 до 22 кГц, яркость — мощность спектральной составляющей.

Что мы сейчас видим на анализаторах:

— довольно высокий уровень записи (мы находимся на относительно громком участке) показывает нам пикметр
-как видно из огибающей громкости, динамический диапазон (диапазон, в котором меняется громкость фрагментов) трека довольно велик — это хорошо (для более-менее качественного оборудования).
— судя по спектральной диаграмме: наличие спектральных составляющих примерно до 20 кГц включительно, высокий уровень наиболее слышимого диапазона ВЧ (

11-16 кГц), что обычно говорит о значительной «звонкости» материала (это конечно же зависит от качества самой студийной записи и её (ре)мастеринга).
— спектрограмма подтверждает вышесказанное, но для более тщательного анализа спектра надо воспользоваться дополнительными утилитами

Теперь посмотрим на вкладку Info (справа). foobar2000 говорит нам о том, что запись имеет два канала, частоту дискретизации 44100 Гц и битрейт потока 320 кбит/с (реальный битрейт файла может немного отличаться, здесь он — 319 кбит/с). Насчет частоты: запомните, что весь музыкальный материал, выпускаемый на Audio CD, имеет частоту дискретизации 44.1 кГц, а потому музыка, имеющая семплрейт 48 кГц — это весьма подозрительно (т.к. неизвестно, каким алгоритмом и с каким качеством мог быть выполнен ресемплинг).
Далее написано, что трек был закодирован релизной версией кодера LAME 3.99 (на момент написания статьи это последняя версия). Более точное указание версии (например, 3.99.5) стандартом LAME Tag, к сожалению, не предусмотрено, однако есть один способ: надо открыть MP3 файл в текстовом редакторе и в поиске прописать «LAME» — у последней версии LAME (возможно, и в других недавних версиях) в закодированных данных периодически прописана версия — «LAME3.99.5».

А сейчас выделим трек и нажмем кнопочку RG (вверху, на панели плеера). После анализа нажмем кнопку Update File Tags. Теперь у нас появится дополнительная графа ReplayGain, где нас интересует значение Track Peak — уровень пикового семпла записи. В данном случае оно составляет 1.018077, что для MP3 (и lossy в целом) вполне нормально и не требует каких-либо действий направленных ан предотвращение клиппинга. Вообще, значения до 1.10 включительно (перегрузка до +1 dBFS) можно считать допустимыми. Подробнее о ReplayGain и громкости читайте в моей статье О понятии громкости в цифровом представлении звука и о методах её повышения

Постепенно переходим к тяжелой артиллерии. Открываем папку с треком в программе EncSpot и в контекстном меню файла жмем Lame Header. Видим следующее:

Полное описание информации отображаемой EncSpot можно почитать в отдельной статье. Здесь мы видим, опять же, что использовался кодер LAME 3.99, был применен НЧ фильтр на частоте 20.5 кГц. Качество алгоритма кодирования использовалось максимальное (Quality кратно 10), источник имел частоту дискретизации 44.1 кГц. Возвращаясь к теме частоты семплирования — очень важно, чтобы частота источника (точнее, частота потока поступившего на вход кодера) и MP3 файла совпадала. Если это не так, то был использован встроенный в LAME ресемплер, а он качеством не отличается.

Отдельно хочу сказать о параметрах Join Stereo mode и Safe Joint — для музыки сочетание этих параметров наиболее предпочтительно (JS без режима Safe допустимо только при низких битрейтах).

Идем дальше, открываем в контекстном меню файла Details.

Все фреймы конечно же имеют битрейт 320 кбит/с.

Здесь видно, что запись имеет широкую стереопанораму, различия между каналами довольно велики, а потому большинство фреймов закодированы в режиме Simple Stereo. Большинство блоков имеют тип Long, что говорит об относительно простой форме сигнала (малое количество транзиентов).

Тут стоит обратить внимание на резервуар бит — для MP3 CBR 320 он должен активно использоваться. Также хорошо, если стоят отметки Scalefac_scale и Scfsi.

А теперь можно перейти к более детальному анализу спектра. Жмем правой кнопкой на треке->Run Srviice->Open As. и открываем его через Adobe Audition 2:

Развернем окно на весь экран и уменьшим масштаб колесиком мышки:

Перед Вами просто таки характернейший для MP3 спектр: частотный диапазон составляет

20 кГц, при этом спектральная плотность, начиная с 16 кГц резко падает. Это обусловлено особенностями психоакустической модели используемой в MP3 — она просто таки нещадно вырезает большинство слабых гармоник с частотой выше 16 кГц. Таким образом MP3 (даже с высоким битрейтом) очень легко узнать по спектру: если на записи есть фоновые шумы, выше 16 кГц они вырезаются, и на этом уровне образуется такая себе полка. Хотя, при достаточно высоком уровне ВЧ (обычно в электронной музыке), они могут в большинстве своём и сохранится.

Давайте рассмотрим спектры еще для нескольких кодеков-битрейтов.

LAME 3.99.5, VBR V2:

Здесь видно еще более жесткое обращение с ВЧ (хотя на слух это обычно неотличимо).

LAME 3.99.5, CBR 128 kbps (-q 0):

При 128 кбит/с частоты выше 16 кГц практически всегда отсутствуют, а НЧ фильтр установлен на 17000 Гц (ширина фильтра по умолчанию — 5%, так что спад начинается с 16.15 кГц). Вдобавок здесь спектр явно прорежен уже даже в районе 8 кГц, а то и ниже, в итоге спектрограмма начинает чем-то походить на решето.

Fraunhofer MP3 Encoder, CBR 320 kbps (highest, join stereo):

Как видите, битрейт 320, а по спектру скорее похож на VBR V2 (

200 кбит/с). Кстати, это тот случай, когда результаты для спектрограммы совпадают с результатами прослушивания — качество кодера FhG заметно хуже LAME (за исключением CBR 128 кбит/с — здесь результаты прослушивания весьма спорные).

Как я уже говорил, сравнивая значение Lowpass Filter из EncSpot с фактической шириной спектра материала, можно судить о «честности» данного рипа (не апконверт). Тут же приведу соответствие популярных пресетов и стандартных частот среза для последней версии LAME:

CBR 320 — 20500 Гц
CBR 256 — 19700 Гц
CBR 192 — 18600 Гц
CBR 160 — 17500 Гц
CBR 128 — 17000 Гц
VBR V0 — 22100 Гц
VBR V2 — 18500 Гц

Если ширина спектрального диапазона не соответствует данному значению, это может говорить об апконверте. Однако, здесь довольно много «но» — ширина зависит от версии кодера, настроек (есть настройка, меняющая значение предельной частоты), самого материала в конце концов.

И последний штрих — конечно же MP3 Packer. Эта программка покажет нам, насколько эффективно сжат MP3 файл (чисто математически). Кликаем по треку правой кнопкой, выбираем Run service->MP3 Info. Видим окно:

Тут нас прежде всего интересует пункт Minimum bitrate possible — он показывает нам, какого битрейта можно достичь при перепаковке фреймов данного CBR файла в VBR фреймы (без потерь качества). Сравнив это значение с актуальным битрейтом, можно судить об эффективности сжатия. Это расхождение обычно связано с нерациональным использованием резервуара бит старыми версиями LAME. Приемлемыми можно считать отклонения до 10 кбит/с включительно (310 кбит/с для актуальных 320 кбит/с), если расхождения больше — это косвенно может говорить о низком качестве кодирования. Также обратите внимание на значение Largest frame uses (kbps) — оно указывает пиковый битрейт для трека с учетом битов из резервуара. Большое значение (>400) говорит об эффективном использовании резервуара и сложности отдельных фрагментов трека.

Теперь, что касается современных кодеров (AAC, OGG Vorbis, Musepack). Они обладают более гибкими алгоритмами и не имеют такой статичной полки на 16 кГц, как MP3 (она у них динамически перемещается, в зависимости от целевого битрейта/качества), а на высоких битрейтах (>300 кбит/с) могут быть на глаз (не говоря уже о «на слух») неотличимы от lossless (если конечно не сравнивать непосредственно со спектром источника). Так что здесь ситуация посложнее, особенно если взять такой продвинутый формат как Musepack (MPC) — он работает по несколько другому принципу, чем MP3, AAC и Vorbis. Это сказывается как на спектральном отображении, так и на звучании. Например, тот же фрагмент, MPC q 6 (

Преимущество перед LAME MP3 VBR V2 — очевидное, и, к тому же, ощутимое на слух. Сохранены практически все составляющие до 18 кГц (этого диапазона обычно бывает достаточно даже людей с «идеальным» слухом), а пики достигают и 20. К тому же этот кодер практически не страдает от пре-эхо — главной проблемы психоакустического lossy кодирования.

А теперь взглянем на спектры AAC и OGG Vorbis.

QuickTime AAC True VBR 127 (

А теперь, для сравнения, спектр оригинала :

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

Касаемо определения параметров кодирования AAC, OGG и MPC — здесь инструментарий довольно скромный. Практически всю доступную информацию можно найти на вкладке Properties в foobar2000.

Lossless

О спектрах мы уже говорили, с характерными особенностями спектра MP3 (и других кодеров) Вы уже знакомы, а потому, обнаружив их в спектре lossless трека, уже сможете сделать соответствующие выводы. Но, что касается спектра апконвертов — один очень важный момент. Большинство lossless кодеров не принимают на вход PCM с плавающей точкой, а если источником является lossy, в нем с большой вероятностью присутствуют фрагменты с уровнем выходящим за 0 dBFS. После преобразования в фиксированную точку, так как «умникам», клепающим lossless из MP3, лимитирование сделать мозгов не хватает, мы получаем срезы, а прямоугольные срезы содержат полный спектр частот. В итоге на спектрограмме полученного трека мы будем видеть вертикальные полосы, простирающиеся аж до 22.05 кГц (при чем сама запись обычно уложена в диапазон до 20 кГц). Вот пример такого безобразия:

Завидев это дело, можете смело расстреливать автора раздачи из реактивного гранатомета.

Ну а теперь можно смело перейти к автоматическому анализу.

Здесь всё просто: выделяете lossless треки, нажимаете третью с конца кнопку на панели моего foobar2000 и через несколько минут видите что-нибудь эдакое:

Я специально выделил кроме lossless (TAK) еще и закодированные ранее (для получения спектрограмм выше) lossy треки — чтобы показать, насколько хорошо программа обнаруживает lossy кодирование. «95% MPEG» можно интерпретировать как «скорее всего, имело место lossy кодирование». «CDDA 100%» — означает, что материал с очень большой вероятностью (конечно не 100 %, но 99 уж точно) не был подвергнут lossy кодированию. Обмануть эту программу удается только Musepack на высоком битрейте (и то редко) или lossyWAV.

Честно говоря, программа при анализе фактически руководствуется теми же критериями, что и мы при рассмотрении спектрограммы — поиск резкого спада плотности спектра, той самой «полки» — а потому, её выводы практически всегда совпадают с заключением человека с наметанным глазом, сделанным по спектрограмме.

Целостность

Также очень важно проверять треки на наличие ошибок. Для этого выделите их в foobar2000, нажмите на выделенном правую кнопку мыши и выберите из раскрывшегося списка Utils->Verify Integrity. При наличии ошибок в файлах формата MP3 foobar2000 может их исправить. Если Вы увидите ошибку вроде «Reported length is inaccurate. », выделите треки для которых отобразилась данная ошибка, нажмите правую кнопку и выберите Utils->Fix VBR MP3 Header, после обработки проверьте трек еще раз, ошибка должна отсутствовать. Если при проверке Вы наблюдаете ошибку вида «MPEG Stream error. », её можно исправить с помощью опции Utils->Rebuild MP3 Stream. После выполнения операции исправления ошибки не забывайте повторно проверять треки.

Для других lossy форматов, а также lossless исправить ошибки в foobar2000 нельзя, но проверить всё равно стоит.

Das Ende

В общем, по теме — это всё, чем я хотел с Вами поделиться. Если есть вопросы, обращайтесь, пишите — помогу разобраться.

Ссылки по теме

Информация от спонсора

Газгольдер.ру: автономные системы снабжения сжиженным газом, автономная газификация. Общепризнанный лидер в отрасли, стоявший в России у истоков её основания. Вам предоставляется широчайший спектр услуг по газификации, в т.ч. гарантийное и сервисное обслуживание. Компания работает как с частными, так и с юридическими лицами. Стоимость автономной газификации Вы можете узнать на сайте компании (по ссылке выше).

Апконверт — это программное увеличение битрейта для аудио файлов. Например, из битрейта 128 кб/с с помощью программы делают 320 кб/с, тем самым "раздувая" его, после чего срезанные частоты никаким апконвертом уже не вернуть.

Формат MP3 имеет гораздо меньший размер за счёт среза высоких частот спектра (как правило от 16 до 20 kHz в зависимости от битрейта).

Так как же узнать, завышен битрейт у файла или нет? Один из способов это спектральный анализ.

Ниже будет указан порядок определения на примере программы Adobe Audition.

1. Открываем программу
2. Нажимаем Файл, затем Открыть и выбираем нужный файл. Окно программы будет иметь такой вид:

3. После этого нажимаем на вкладку Spectral Analysis Display (кнопка указана стрелкой):

Окно программы примет такой вид:

Рассмотрим пример на нескольких аудиофайлах с постоянном битрейте, т.е. CBR. Немного информации:

CBR расшифровывается как Constant Bit Rate, то есть постоянный битрейт, который задаётся пользователем и не изменяется при кодировании произведения. Таким образом, каждой секунде произведения соответствует одинаковое количество закодированных бит данных (даже при кодировании тишины).

96 kbps — срез на 15000 Hz
128 kbps — срез на 16000 Hz
160 kbps — срез на 16500 — 17000 Hz
192 kbps — срез на 18000 — 18500 Hz
224 kbps — срез на 19000 Hz
256 kbps — срез на 19500 Hz
320 kbps — срез на 20000 — 20500 Hz

В качестве примера взял трек Metal Asylum из альбома 2004 года группы Seven Witches. Был сделан CD-Rip в формате FLAC, затем трек переконвертирован в нескольких битрейтах.

Приступим (Примеры могут немного отличаться от табличных данных).

Верхний срез спектра в районе 15000 Hz
128 kbps:

Cрез на 20000 Hz
320 kbps:

Таким образом можно определить реальный битрейт файла и тот из которого он был переконвертирован.

Комментарии (30):

Отлично!
Такая статья обязательно должна быть на музыкальном сайте. Особенно полезна таблица со срезами, раньше часто искал её, но сейчас уже запомнил))
Вот ещё немного информации:

Транскодирование (глагол) файла – конвертация его из одного формата в другой. Под транскодом (имя существительное) может пониматься любой конвертированный файл, но обычно слово “транскод” употребляется в негативном значении (как обозначение недопустимого транскодирования).

Хороший транскод означает, что в течение процесса транскодирования файл либо ни разу не был конвертирован в формат с потерями качества (lossy-формат), либо был конвертирован в lossy-формат только на последнем этапе транскодирования. Примеры хороших транскодов:

— формат с несжатыми данными без потерь качества > формат со сжатыми данными без потерь качества (uncompressed lossless > compressed lossless)
— формат со сжатыми данными без потерь качества > формат с несжатыми данными без потерь качества (compressed lossless > uncompressed lossless)
— формат со сжатыми данными без потерь качества > формат со сжатыми данными без потерь качества (сompressed lossless > compressed lossless)
— формат с несжатыми данными без потерь качества > формат с потерями качества (uncompressed lossless > lossy)
— формат со сжатыми данными без потерь качества > формат с потерями качества (compressed lossless > lossy)

Плохой транскод означает, что в процессе транскодирования файл либо был конвертирован в формат с потерями качества (lossy-формат) больше одного раза, либо файл был конвертирован из формата с потерями качества в формат без потерь качества (из lossy в lossless).

Примеры плохих транскодов:

— формат с потерями качества с большим битрейтом > формат с потерями качества с меньшим битрейтом (higher lossy bitrate > lower lossy bitrate)
— транскодирование между форматами с потерями качества с одинаковым битрейтом (same bitrate lossy > same bitrate lossy)
— формат с потерями качества > формат без потерь качества (lossy > lossless)

Комментировать
6 577 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев