
MP3 уменьшает музыкальный файл не простым удалением каждой второй точки, а анализом звука и особенностей человеческого слуха. Кодер делит сигнал на короткие участки и частотные составляющие, оценивает, какие ошибки будут заметны, распределяет доступные биты и сохраняет параметры в компактной форме. Сильные компоненты кодируются точнее, а детали, скрытые другими звуками, могут получить меньше данных. После декодирования получается не исходная последовательность отсчётов, а близкий по восприятию сигнал.
Почему несжатое аудио занимает много места
Звук на аудио-CD представлен 44 100 отсчётами в секунду для каждого из двух каналов, по 16 бит на отсчёт. Несколько минут такого потока требуют десятков мегабайт. Для оптического диска это было приемлемо, но ранним жёстким дискам, модемам и портативной памяти объём мешал.
О том, как лазер получает исходные цифровые данные, рассказывает материал про воспроизведение компакт-диска. MP3 работает уже с цифровым сигналом. Его задача – описать слышимую структуру экономнее.
У обычного архиватора тоже получается некоторое сокращение, потому что повторяющиеся последовательности можно заменить короткими ссылками. Но звуковые отсчёты меняются постоянно, и выигрыш ограничен. Существенное уменьшение требует допустить контролируемую потерю точности.
Что значит «учитывает слух»
Чувствительность уха неодинакова на разных частотах. Кроме того, громкий компонент способен маскировать более тихий, расположенный рядом по частоте или времени. Если одновременно звучит сильный удар, слабый шорох непосредственно возле него может остаться незаметным, хотя измерительный прибор видит оба сигнала.
Психоакустическая модель кодера оценивает порог, ниже которого ошибка с большой вероятностью будет скрыта. Это не список «ненужных инструментов». Алгоритм не знает, где скрипка, а где голос. Он анализирует энергию в частотных областях и возможное маскирование на коротком временном отрезке.
Особенности самого слуха можно понять через материал о том, как ухо и мозг распознают звук. MP3 использует лишь ограниченную математическую модель восприятия, поэтому разные записи и кодеры дают разный результат.
Как сигнал делится на части
Кодер разбивает поток на кадры и пропускает его через набор фильтров. Дополнительное преобразование представляет короткий фрагмент как множество частотных коэффициентов. Вместо хранения каждого временного отсчёта с одинаковой точностью можно отдельно описывать участки спектра.
Длительные блоки эффективны для устойчивого тона, но резкий удар в них размазывает ошибку по времени. Поэтому кодер умеет переключаться на короткие блоки возле быстрых переходов. Если решение принято поздно или битов мало, перед ударом может появиться слабое «предэхо» – характерный артефакт плохого сжатия.
После анализа коэффициенты масштабируются и округляются. Этот этап необратим: несколько близких значений превращаются в одно. Кодер подбирает шаг так, чтобы шум округления оставался ниже рассчитанного порога маскирования. Затем числа упаковываются более экономным кодом, а в кадр добавляются сведения, необходимые декодеру.
Что означает битрейт
Битрейт показывает, сколько тысяч битов в среднем отводится одной секунде. При низком значении кодер вынужден грубо описывать больше областей. Могут появиться металлический оттенок, неустойчивые высокие частоты, размытые атаки и «водянистое» послезвучие.
Высокий битрейт оставляет больше точности, но увеличивает файл. Постоянный режим выдаёт каждому отрезку одинаковый бюджет, даже если один содержит простую паузу, а другой – сложный ансамбль. Переменный режим может тратить меньше на простой сигнал и больше на трудный, сохраняя заданный уровень качества.
Качество нельзя определить одним числом без контекста. Оно зависит от кодера, исходника, жанра, настроек, слуха и аппаратуры. Повторное перекодирование особенно нежелательно: второй кодер анализирует уже изменённый сигнал и добавляет новые потери.
Правда ли MP3 удаляет неслышимые частоты
Это слишком грубое объяснение. Ограничение верхнего диапазона может быть частью стратегии, особенно при низком битрейте, но основная работа сложнее. Кодер распределяет шум округления по времени и частоте, использует маскирование, совместное описание стереоканалов и компактное кодирование чисел.
Он не хранит перечень удалённых звуков и не может позднее вернуть их. Декодер выполняет обратные математические преобразования только по оставшимся параметрам. Поэтому MP3 относится к сжатию с потерями. Если требуется точная копия для архива и дальнейшего монтажа, используют несжатый или без потерь сжатый формат.
Как появился формат
Исследования выросли из задачи передавать музыку по каналам с небольшой пропускной способностью. В конце 1980-х Университет Эрлангена – Нюрнберга и Fraunhofer IIS работали над алгоритмами кодирования в рамках проекта цифрового вещания. Разработки вошли в семейство MPEG Audio, а Layer III стал наиболее сложным и эффективным слоем.
Техническая стандартизация была завершена в начале 1990-х, а расширение имени файла «.mp3» выбрали в 1995 году. Совпали сразу несколько условий: компьютеры стали достаточно быстрыми, память дешевела, интернет расширялся, а программные декодеры работали на обычных устройствах. Музыка отделилась от конкретного диска и превратилась в файл, который легко копировать.
Почему стриминг всё ещё использует кодеки
Потоковая музыка не отправляет слушателю несжатый студийный файл при каждом нажатии. Это потребовало бы больше трафика и увеличило ожидание. Сервисы применяют MP3 или более новые кодеки, выбирая несколько уровней качества для разных сетей и устройств.
Музыкальный стриминг добавляет к сжатию доставку небольшими частями, буфер, серверную инфраструктуру и управление правами. Кодек отвечает за компактное представление звука, а потоковая система – за то, чтобы нужные данные вовремя оказались у декодера.
Главная идея MP3 не в механическом уменьшении количества нот. Формат ищет распределение ошибок, которое слух замечает меньше всего при заданном объёме. Именно этот компромисс сделал музыкальный файл достаточно маленьким для раннего интернета и подготовил привычку слушать коллекцию без полки физических носителей.



