Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Российский Танцевальный Форум _ Статьи _ Моё исследование на тему mp3-кодеков

Автор: Visualer 10 Dec 2009, 16:45

Написал статью для всех, кто не видит разницы между mp3 и flac, 192 kbps и 320...

Моё исследование на тему mp3-кодеков


Ни для кого не секрет, что MP3-формат не может в точности передать весь спектр звуковых частот, которые задумал автор (звукорежиссёр, продюсер итд). Многие слушатели понимают это, но ради экономии дискового пространства качают и кодируют звук в MP3, наплевав на lossless-форматы без потерь. Какой выход покажется оптимальным простому слушателю? Конечно, кодировать в mp3 с максимально возможным качеством – 320 kbps Joint Stereo. Но кодек mp3 никогда не стоял на месте (с этого момента будем называть его по научному lame mp3 или просто lame). Каждый год разработчики lame выпускают новую версию своего всемирно-известного кодека. А разработчики популярных плееров, в зависимости от расторопности каждого, включают свежий кодек в новую версию своего софта. Казалось бы, всё хорошо. Но не тут-то было!...

Сперва немного отвлечёмся. Весь прошлый месяц фанклуб группы The Prodigy истекал слюной в ожидании нового трека "Мескалин". Многие сознательно до последнего тянули и не слушали появляющиеся отрывки. Трек вышел 30 ноября, но вплоть до вчерашнего дня по инету путешествовал только сраный сцен-релиз с переменным битрейтом VBR2, от которого ушки вяли. А потом ВНЕЗАПНО появился FLAC. С ним всё в порядке. А вот с MP3 320 ситуация сложнее оказалась. Несовершенство кодека lame mp3 - очень яркая проблема, но многие её не замечают, потому что не слышат разницы между 192 и 320 kbps. Люди лишь мастурбируют на цифру 320, и думают, что она спасёт их от всех невзгод.

Рассмотрим ситуацию подробнее. Сперва я покажу вам как выглядит lossless. Вот он, сладкий няка. Вся гамма частот от пола и до потолка!
http://s60.radikal.ru/i169/0912/41/006fd2a1fb6c.jpg

Сперва я скодировал Мескалин в 320 kbps с традиционным для многих трекеров пресетом insane, что значит безумный (считается что при таком пресете количество потерь будет минимальным, а вес - "безумным" для mp3). Я использовал последнюю стабильную версию mp3-кодека за 2008 год – 3.98.2 – она никогда меня раньше не подводила. На выходе получил следующий спектр с яркими срезами на 16 тысячах герц (для наглядности срез я отметил зелёным маркером):
http://s44.radikal.ru/i106/0912/3d/61a87beb614c.jpg

Не фонтан, верно? В это же самое время продиджист с ником Paranoya выложил свой рип, который, как я выяснил позже, мог быть сделан с использованием кодека версии 3.96.1 (это в районе 2004 года производства). Здесь мы не видим зарезания на 16.000 герц, однако весь спектр значительно сдавлен. Напомню, что все современные рипы спокойно доходят в спектре до 20 тысяч герц, а этот от силы тянет лишь на 19.
http://s45.radikal.ru/i110/0912/91/e3aeac8dc840.jpg

Отчаявшись, я начал искать бета-версии с новыми разработками lame – 3.99 beta 1 и 4.00 alpha. Версия 3.99 сразу разочаровала, показав результат схожий с классическим 3.98.2 – яркий срез снова оказался на уровне 160 kbps (именно при таком битрейте абсолютно все частоты режутся под 16 тысяч герц; смею предположить, что и из-за этого многие не слышал разницы между 192 и 320).
http://s44.radikal.ru/i104/0912/84/bdf26b1ec7d6.jpg

А затем альфа 4.00 - моя последняя на тот момент надежда. И тут вдруг ПРЯМО БИНГО!
http://i074.radikal.ru/0912/32/5d49ee6e3b76.jpg

– Прямо Бинго! Так ведь у вас говорят?
– Нет, просто "Бинго".
– Бинго!!!!!!!!!!!111111111
© Бесславные Ублюдки


Но на этом история с кодированием не закончилась. Сразу после первого прослушивания все мечты рухнули. Альфа она на то и альфа, чтобы косячить. Эта версия вставляла яркий и грубый щелчок перед каждым скодированным ею треком. "Дерьмо! Шайзе! Кунилингер-улиткен-ползен!" - хотел уже вскричать я, но тут появился славный дядя DrStandBy – один из великих на Торрентс.ру:
– Я конечно lossy-форматами не заведую, но все говорят что самая адекватная версия lame – 3.93.1...
– Подумать только. Да кто в это поверит? Чтобы адекватнее всего рипала версия за 2002 год?

"Правда? Нет, вы может быть шутите?" - говорил я, засовывая lame.exe в уже поистрёпанную папку Codecs своего foobar2000. А потом появился спектр.
http://s13.radikal.ru/i186/0912/e5/86e5e859fe50.jpg

Вот так. Чем разработчики lame занимались последние 7 лет? Непонятно. Так что ребятки мои, запомните навсегда – 3.93.1. А лучше вообще выбросьте нафиг mp3 – ну кто вам гарантирует, что все вокруг кодируют именно этой версией? Находятся ламеры, которые по сей день используют CDEX и Windows Media Player для кодирования в MP3 320 (знайте, эти программы насмехаются над вами, пока вы мечтаете о прекрасном звуке). Что вы экономите? 24 мега с одного трека? Это при нынешних-то безумных скоростях широкополосного инета и с безразмерными жёсткими? Короче, качайте lossless, или можете продолжать верить, что ваш 320 идеален.

PS.
Стоит учесть, что данная статья совершенно не рассматривает кодирование в MP3 в VBR-форматах. Более чем уверен, именно разработкой и доработкой технологии VBR скорее всего занимались создатели lame последние годы. Однако, моя однобокость обусловлена твердолобостью и упёртостью большинства обменников и торрент-трекеров, по правилам которых, любой VBR будет поглощаться грамотным CBR 320. Так что не устраивайте сейчас вакханалию на эту тему. Я много читал о том, что правильный VBR может вполне соответствовать, а в некоторых случаях даже обгонять CBR 320 по уровню спектра. Однако, ничего тут уже не попишешь.

PPS. И есть ещё одно НО, которое ставит крест на всём этом посте. Как говорит мой друг Палладьев, мастурбируя на цифры и спектрограммы, вы совершенно позабыли о самих песнях. Подумайте над этим, слушая славный Мескалинчек – лучший трек The Prodigy из всей эры Invaders Must Die. Спасибо за внимание и будьте здоровы!

C любовью, ваш Визуаля. :-*


Автор: Lyricor 9 Aug 2010, 12:09

Скажите мне, люди, почему Фраунгофер срезает сигнал до 15 кгц, а в CDEX 1.51 Lame 3.92 кодирует до 21,5 кгц и сохраняет нонстоп при проигрывании в пятой версии Winamp? В Сети об этом ничего не написано. Кто мне объяснит почему нельзя верить спектрам. Может, мне не заморачиваться, как все люди в России?

Автор: Ильич 19 Aug 2010, 08:48

Цитата(Visualer @ 11 Dec 2009, 00:46) *
– Я конечно lossy-форматами не заведую, но все говорят что самая адекватная версия lame – 3.93.1...
– Подумать только. Да кто в это поверит? Чтобы адекватнее всего рипала версия за 2002 год?

"Правда? Нет, вы может быть шутите?" - говорил я, засовывая lame.exe в уже поистрёпанную папку Codecs своего foobar2000. А потом появился спектр.


Когда я читаю подобные статьи, то хочется послать авторов в школу учить матчасть. А после уроков непременно посетить какого-нить врача-психиатра.

1) Разработчики MP3-формата считали, что большинство людей не слышит частоты выше 16 Кгц. Поэтому кодирование частот выше 16 кгц оставлено в формате как "причуда". Реально это проявляется в том что кодек эти частоты кодирует очень грубо, а кроме того их кодирование сильно раздувает битрейт. Поэтому когда не хвататет битрейта для кодирования диапазона до 16 кГц, умные версии LAME жертвуют частотами выше 16 кГц. В итоге качество звучания получается ЛУЧШЕ, хотя и график спектрограммы не радует глаз.

2) Люди, вам что важнее - какие-то там килогерцы или музыка ??? А вы пробовали сравнивать на слух "обрезанный" MP3 от последней версии LAME и "не-обрезанный" от старой ? И какой из них реально звучит лучше ???? Говорите, "не обрезанный" лучше ? А попросите ка теперь какого-нить друга ставить вам 2 MP3 (обрезанный и необрезанный) в случайном порядке, а сами неглядя на бумажке пишите какой вариант по вашему мнению вы слышите (а нука не подглядывать!!!). Друг пусть тоже отмечает в каком порядке ставит. А потом сравните ваши результаты. Думаю они вас удивят и слегка заденут ваше самомнение smile.gif Но не обижайтесь, точно также садятся в лужу аудио-филы, которые верят что кабель за 1000$ звучит лучше кабеля за 50$ smile.gif

p.s. 10 лет назад широко были распространены MP3, закодированные кодеком XING (он входил также в состав риппера АудиоКаталист). В отличие от LAME этот кодек был платный, но вроде как стоил дешевле Фраунхофера, из-за чего стал популярным в США - доверчивые американцы не верили, что платный кодек может быть полным фуфлом и быть хуже бесплатного =) Ну так вот, кодек XING реально всегда резал частоты выше 16 кГц, даже в том случае если битрейта хватало, а частоты эти не маскировались низкими частотами. Но секрет помойного качества кодирования был даже не в этом, а в том что кодек XING ради скорости использовал в вычислениях Integer числа, что давало очень грубые результаты и как результат - легендарное низкое качество XING.

Автор: Lyricor 19 Aug 2010, 16:51

Спасибо за матчасть! Автор статьи мне сказал, что он ошибался насчёт старой версии лэйма.
Да и сам я слышу отстойный звук.

Автор: Ильич 6 Sep 2010, 07:00

Неприятная новость для всех, кто привык пользоваться спектроанализатором в популярном редакторе SOUND FORGE.
Итак, в последней на сий момент версии редактора 10.0b (Build 474) имеется ошибка, из-за чего СпектроГраммы (в не Real-Time режиме) и Сонограммы строятся неправильно!
В результате, например, для MP3 файлов программа покажет наличие спектра частот вплоть до 22.05 кГц, даже если на самом деле в этом треке присутствует постоянный срез на 16 кГц.
Сторонники "теорий заговора" могут предположить, что работники SONY вступили в сговор с пиратами и с прочими нечистоплотными издателями Аудио CD, с целью чтобы пользователи не могли различить "разжатки" biggrin.gif
Но на деле ошибка похоже состоит в том, что просто верхняя часть спектра строится почти как зеркальное отражение нижней части, и это не связано с маскировкой среза на 16 кГц.
Подробности можно почитать http://forum.websound.ru/index.php?showtopic=26322
Кстати, там же описан один из способов выявления MP3-расжаток, который применим даже в этой глючной версии Саунд Форжа.

p.s. Вывод: для анализа спектров используйте другие редакторы - Adobe Audition, Cool Edit, старые версии Sound Forge (10a, 9, 8, 7 ...)

Автор: Twasted B 22 Sep 2010, 03:32

Я для этих целей уже пару лет консольную утилиту http://the-island.ru/auspec09c.rar юзаю. Гораздо удобнее кликнуть на нужном аудио-файле правой кнопкой мыши и выбрать в контекстном меню пункт "Открыть с помощью" AuSpec, чем открывать ради пары файлов тот же SF. AuSpec формирует сонограмму в виде png-файла с тем же именем, что и исследуемый аудио-файл, и в той же папке. Автору утилиты - Алексею Трофимову - респект от меня smile.gif

Автор: Ильич 30 Nov 2010, 13:19

Все качаем новый Sound Forge 10c - http://sony-971.vo.llnwd.net/dspcdn/current/soundforgepro10.0c.exe

Лекарства, что прописал доктор к предыдущей версии, подходят ;=)

А спектры ... А спектры вроде снова правильные !!!
Правда за последние полгода я успел полюбить конкурирующий продукт от Adobe wink.gif

Автор: EuroDJ 30 Nov 2010, 20:52

у меня Sound Forge 7ой стоит.. но стоит чисто для галочки... пользовался нормально последий раз наверно версией четвёртой... адоб рулит...

Автор: DJ Stakan 10 Nov 2011, 00:02

Цитата(Lyricor @ 9 Aug 2010, 19:10) *
Скажите мне, люди, почему Фраунгофер срезает сигнал до 15 кгц, а в CDEX 1.51 Lame 3.92 кодирует до 21,5 кгц и сохраняет нонстоп при проигрывании в пятой версии Winamp? В Сети об этом ничего не написано. Кто мне объяснит почему нельзя верить спектрам. Может, мне не заморачиваться, как все люди в России?


Насчёт нонстопа не знаю, а по поводу 21,5 кгц всё очень просто: в версиях Lime по 3.93.1 включительно, по умолчанию использовался ключ: -lowpass 21,5 (в более поздних версиях -lowpass 20,5).

Lame 3.93.1 - последняя версия кодека, которая позволяет максимально сохранить исходный спектр оригинала. Причём минимальное искажение спектра можно получить при использовании данной командной строки: -b 320 -q 0 -k -m s %s %d

А CDEX при создании MP3-рипа лучше не использовать. Равно как и Foobar2000. Только EAC (Exact Audio Copy)! smile.gif

Автор: Fynjy 14 Nov 2011, 11:19

Цитата(DJ Stakan @ 10 Nov 2011, 08:03) *
Lame 3.93.1 - последняя версия кодека, которая позволяет максимально сохранить исходный спектр оригинала. Причём минимальное искажение спектра можно получить при использовании данной командной строки: -b 320 -q 0 -k -m s %s %d

Ну все же не совсем. В поздних версиях ключ -k выпилили, да, но вместо этого можно использовать --lowpass -1 - тот же эффект, вырубает фильтр нижних частот.

Автор: DJ Stakan 14 Nov 2011, 12:55

Цитата(Fynjy @ 14 Nov 2011, 18:20) *
Ну все же не совсем. В поздних версиях ключ -k выпилили, да, но вместо этого можно использовать --lowpass -1 - тот же эффект, вырубает фильтр нижних частот.


Эффект, конечно, есть, но не такой, как при использовании старых кодеков:

1.) Lame 3.98.4 (-b 320 -q 0)

http://radikal.ru/F/s017.radikal.ru/i440/1111/f8/a2185a30d942.jpg.html

2.) Lame 3.98.4 (-b 320 -q 0 --lowpass -1)

http://radikal.ru/F/s017.radikal.ru/i437/1111/35/a4a5a74cd4af.jpg.html

3.) Lame 3.93.1 (-b 320 -q 0 -k -m s)

http://radikal.ru/F/s017.radikal.ru/i417/1111/39/48aa060ef059.jpg.html

Автор: DJ Stakan 27 Nov 2011, 22:54

Цитата(Diversant @ 27 Nov 2011, 14:55) *
Пора тестировать версию 3.99 biggrin.gif


4.) Lame 3.99.3 (-b 320 -q 0)

http://radikal.ru/F/s017.radikal.ru/i418/1111/6e/6c5fa473eaa9.jpg.html

Тот же самый трек.

Автор: DJ Stakan 29 Nov 2011, 14:09

Попробовал сегодня новый VBR V0. Любопытно. Эффект, как у Lame 3.93.1 -b 320 с отключённым НЧ фильтром.

1.) VBR V0 (Lame 3.98.4)

http://radikal.ru/F/s005.radikal.ru/i209/1111/b9/0e43214c798e.jpg.html

2.) VBR V0 (Lame 3.99.3)

http://radikal.ru/F/s017.radikal.ru/i413/1111/c2/7bd76d466ed8.jpg.html

Автор: DJ Stakan 27 Jan 2012, 15:15

Появился Lame 3.99.4

http://www.rarewares.org/mp3-lame-bundle.php

Автор: V-Trancer 18 Feb 2012, 17:29

Я кодирую в mp3 утилитой Easy CD-DA Extractor, при битрейте 320 kbps режет частоты примерно на 20 кГц.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)