Понятно что FLAC это вещь и вообще, но поддержка FLAC не так распространена как MP3 и размер файлов опять же. Давно в курсе что mp3 в joint stereo чуть хуже stereo, но особо как-то об этом не задумывался, просто отдавал предпочтение stereo. И вот что накопал.
Сейчас расскажу страшную сказку про этот формат, да и не только.
Сейчас бичом индустрии и форматов звука стал Joint-Stereo.
Вопрос. О чём вообще речь?
Ответ. Представь себе. Ты слушаешь за рулём свою любимую музыку, например ambient, chillout, rock, metal, trance, house, и она играет как-то не объёмно, словно стереофазу сдвинули до размеров баррелевой бочки в 200 литров. Объёмные электрогитары играют как будто из одного канала, синтезаторы, признаные делать объём тоже где-то теряются, вокал, который хотели сделать в студии позиционным или объёмным тоже замкнут, словно его задавили. Это и есть издержки Joint-Stereo.
Вопрос. Что это такое?
Ответ. Это алгоритм сжатия звука, когда кодек анализирует 2 канала стерео и складывает из них якобы одинаковые элементы в моно, если они присутствую в обоих каналах в один и тот же тот же момент времени, дабы сэкономить битрейт и направить его на другие цели, например, на высокие частоты.
Вопрос. Почему Joint-Stereo съедает объёмность звучания стереозвука и чем он отличается от привычного нам стерео?
Ответ. Дело в том, что музыка это настолько одновременно сложный и в то же время простой с точки зрения технической организации алгоритм работы звуковых волн, что сухими техническими методами очень сложно добиться здесь определённой оптимизации. Joint-Stereo не умеет анализировать точно то, что может слышать человек. И то, что по алгоритму режима является одинаковыми элементами обоих сигналах для человека может различаться и довольно ощутимо, особенно в случае прослушивания музыки в наушниках и в автомобиле, т.к. это является обусловлено закрытой средой распространения звука. При включении кодирования привычного нами стерео кодек работает так: он просто кодирует независимо оба канала, распределяя битрейт так, чтобы он оптимально использовался между стерео и сложностью самого сигнала в каждом из каналов.
Вопрос. Как добиться правильного стерео в mp3?
Ответ. Давай рассмотрим данный вопрос на примере приложения CDex для Windows. Это простой и довольно удобный инструмент конвертации звука в mp3 посредством кодека Lame. Дисклеймер: на момент написания статьи версия приложения была 1.80 релиз от 16 апреля 2016 года с кодеком Lame версии 3.99. Приложение можно загрузить отсюда.
Пример настроек для стерео mp3 на постоянном битрейте: 1. Приоритет процесса. Здесь задаётся приоритет использования центрального процессора компьютера кодеком. Для современных многоядерных процессоров можно смело устанавливать повышенный (Highest) приоритет — кодироваться будет быстрее. Скорость очень зависит от тактовой частоты процессора. 2. Версия кодека MPEG 1. Версии MPEG 2 и MPEG 2.5 являются нестандартными для подавляющих устройств и используются в очень специфических задачах, поэтому мы их не рассматриваем. 3. Битрейт. Мы говорим о полноценном стерео, поэтому этот параметр лучше устанавливать не ниже 224 кбит/с. 4. Режим кодирования каналов. Устанавливаешь стерео. 5. Флаги сведений об источнике — используются в информационных целях, на качество звука никак не влияют. 6. Режим VBR. Мы кодируем сейчас файл в постоянном битрейте, соответственно режим переменного битрейта должен быть выключен. 7. Качество кодирования. Выставляем q=0, то есть самое высокое качество, которое может предоставить кодек. 8. Частота дискретизации — выставляем 44100Гц, поскольку весь аудиоматериал сейчас пишется по стандартам CD-Audio, звучание которого не превышает данной частоты.
Пример настроек для стерео mp3 на переменном битрейте: 1, 2, 4, 5, 7, 8 — эти параметры остаются неизменными. 3. Выставляешь битрейт в нужном диапазоне — можно ставить смело начиная от 32 вплоть до 320 кбит/с. Кодек отлично использует весь диапазон в нужных элементах и отдаёт предпочтение скоростям в максимальном значении установленных значений. 6. Выставляем метод кодирования переменного битрейта в VBR-New. Он отлично отрабатывает всю сложность материала на любом жанре музыки. Также можешь обратить внимание на VBR-MTRH — это своеобразный гибрид между VBR-Old и VBR-New, и по заверению разработчиком берёт лучшее от них. 9. Выставляешь качество алгоритма кодирования при переменном битрейте, где 0 — самое наивысшее качество и рекомендуемое.
Вопрос. Зачем mp3, когда есть FLAC, ведь он вообще делает точную копию исходника и там стерео никак не страдает?
Ответ. FLAC замечательный формат. Но его поддержка до сих пор не организована рядом устройств да и весит прилично, а mp3 воспроизводится на всём, начиная от некоторых детских игрушек и будильников, заканчивая серьёзными домашними проигрывателями и сложными аудиосистемами автомобилей.
Вопрос. Если Joint-Stereo настолько плох, тогда для чего он был придуман?
Ответ. Joint-Stereo был придуман не просто так и он не плох, просто его неправильно используют, не зная его назначения. На малых битрейтах от 160 до 224 кбит/с (про 128 кбит/с успешно забудем) мало ресурсов, чтобы обеспечить адекватное воспроизведение стерео и высоких частот без особо ощутимых потерь и артефактов. Для этой цели и был, придумал Joint-Stereo – для оптимизации использования ресурсов в пределах заданного низкоскоростного битрейта. На скоростях от 224 до 320 кбит/с использовать Joint-Stereo нецелесообразно, поскольку в пределах этих битрейтов кодеку хватает ресурсов, чтобы адекватно кодировать звук без ощутимых потерь стерео и частот.
Вопрос. Почему сейчас подавляющее большинство файлов mp3 – это именно Joint-Stereo, даже на высокоскоростных битрейтах?
Ответ. Кодек mp3 – вещь, имеющая кучу настроек и ими нужно правильно пользоваться. Люди в силу просто обычного незнания привыкли, что битрейты от 224 до 320 кбит/с это залог качества, но они не в курсе, что есть куча других параметров, определяющих качество файла mp3, полученного в результате. Просто отсутствие грамотного подхода, а также использование приложений, которые не способны предоставить расширенные настройки кроме выбора битрейта и частоты дискретизации, и есть причина того, что мы имеем кучу некачественных файлов mp3. Просто люди часто ставят этот режим чтобы было. А те кто пишет всякие конвертеры типа: "Нажми 1 кнопку, чтобы сделать всё!" — не задумываются о написании правильных предустановок (пресетов) в своём ПО.
Вопрос. А могу ли я перекодировать имеющиеся файлы Joint-Stereo в стерео?
Ответ. *с выражением лица умника, напяливаю очки и беру учебник по технологии продукции общественного питания и цитирую кусок*: Под действием тепловой энергии в продукте возникают такие сложные физико-химические процессы, как клейстеризация крахмала, денатурация белков, гидротермическая дезагрегация биополимеров (коллаген мяса, рыбы, протопектин растительных продуктов), образование новых вкусовых и ароматических веществ, изменение цвета продукта, разрушение витаминов и др. Данный процесс является необратимым…". Из этого волшебства не будет, только потеряешь в качестве, что сделает ещё хуже. Т.е. если изначально звук был испорчен, как его потом не перекодируй — не получишь качество выше и лучше. Жареное яйцо не превратишь в сырое обратно.
Источник