аудио дискреция что это
Проверяем на практике бессмысленность высоких частот дискретизации
Много чего написано про ненужность частоты дискретизации 192000 Гц в звуковых файлах, предназначенных для прослушивания. Но аргументы обычно ссылаются на теоремы, для правильного понимания которых нужно довольно хорошо разбираться в математике. Но есть другой способ проверки некоторых утверждений — провести соответствующие эксперименты много раз.
Для начала необходимо сформулировать утверждение, которое будет проверяться в дальнейшем. Если частота 192000 Гц избыточна, то должна существовать более низкая частота дискретизации, при которой происходит корректное восстановление звукового сигнала. Предположим, что это частота 44100 Гц. Если при 192000 Гц происходит корректное восстановление, и при 44100 Гц происходит корректное восстановление, то в обоих случаях результат на выходе должен быть одинаковым. Чтобы проверить это на практике, нужно дорогое оборудование, которое есть далеко не у каждого. Поэтому пойдём немного другим путём. Если в файлах 44100 Гц и 192000 Гц содержится одинаковое количество информации о звуке, то это означает, что преобразование из 192000 Гц в 44100 Гц является сжатием без потерь, следовательно, должен существовать способ восстановления из файла 44100 Гц исходного файла 192000 Гц. Вот это уже может проверить каждый на любом современном компьютере.
В качестве исходника я выбрал музыкальный фрагмент с частотой дискретизации 192000 Гц. Если мне попался какой-то неправильный материал, в котором изначально не было чего-то важного, что должно потеряться при преобразовании из 192000 Гц в 44100 Гц, то любой желающий может проделать описанное в этой статье с любым другим файлом. Все действия будут производиться в свободном редакторе Audacity со стандартными эффектами. Все получаемые в процессе файлы будут сохраняться в формате FLAC с разрядностью 24 бит.
Исходный файл хранится в файле «A.FLAC» и выглядит вот так:
А вот так выглядит его спектр:
Нас интересует только звуковая информация, поэтому ультразвук удалим с помощью эквалайзера.
И получим такой спектр:
Экспортируем результат в файл «B.FLAC» — именно с ним мы будем сравнивать файл, который получится в конце всех преобразований.
Перед преобразованием частоты дискретизации убедимся, что в настройках выставлено максимальное качество:
Далее выбираем новую частоту дискретизации проекта и его экспортируем в файл «C.FLAC»
Затем открываем файл «C.FLAC», устанавливаем частоту дискретизации проекта 192000 Гц и экспортируем в файл «D.FLAC».
И остался самый главный этап: открыть файлы «B.FLAC», «D.FLAC» и сравнить их:
Разницы нет. Сравним получше — инвертируем одну из дорожек
И сведём всё в одну дорожку:
Тишина! Полная тишина!
А чтобы всё же увидеть разницу, надо увеличить амплитуду на 96 дБ!
Разница настолько тихая, что её невозможно услышать, а это значит, что при преобразовании из 192000 Гц в 44100 Гц в звуковом диапазоне информация не теряется. Вот так без глубоких познаний в математике с помощью доступного каждому программного обеспечения можно проверить достаточность частоты дискретизации 44100 Гц для хранения музыкальных файлов.
Записывая звук, выбираем оптимальную частоту. Полезная информация
Не только новичкам, но и некоторым энтузиастам, занимающихся звуком много лет, покажется откровением тот факт, что банальный процесс записи сопровождается сложнейшими физическими явлениями. Одним из таковых называют дискретизацию. Согласно определению, она представляет собой процесс преобразования непрерывной функции в дискретную. Людям, далёким от науки, это понять сложно, тем более, здесь задействована квантовая физика – самая сложная из существующих на сегодняшний день. Но профессиональные звукорежиссёры, например, работающие в московской студии звукозаписи «Интервал», знают, что такое частота дискретизации звука, какая лучше применима в тех или иных случаях. Почему? Потому что от этого явления зависит конечное качество записываемой музыки. В кассетно-плёночный период эти нюансы, ввиду ограниченной технической оснащённости, опускались. Но в современном высокотехнологичном цифровом мире частота дискретизации звука имеет значение при создании музыки и демонстрации её слушателям.
Детализация понятий
Что такое разрядность и частота дискретизации, какая лучше? Ответ на данный вопрос, несмотря на сложность природы этих явлений, получить можно. При этом нет необходимости штудировать учебники по физике. Достаточно вспомнить, что советскими полуподпольными звукорежиссёрами, записывающими рок и другую музыку, эти показатели определялись на интуитивном уровне. Дискретизацию ещё называют сэмплированием. Это определение более понятно для музыкантов. Её частота подразумевает интенсивность процессов в тот момент, когда аналоговый сигнал преобразуется в цифровой. Среди них хранение данных, конвертация, и непосредственно оцифровка.
Частота дискретизации измеряется в герцах. Ориентиром в её изучении является теорема Котельникова. Её автор раскрывает суть дискретизации. Согласно теореме, она ограничивает интенсивность оцифрованного сигнала до половины собственной величины.
Частота дискретизации. В чём её значение для звукозаписи
Дискретизация по времени – это процесс, который непосредственно связан преобразованием аналогового сигнала в цифровой. Наряду с ней происходит квантование данных по амплитуде. Дискретизация по времени означает измерение сигнала в момент всей его передачи. В качестве единицы берётся один сэмпл. Если на словах это не совсем понятно, то на примере выглядит более убедительно. Допустим, частота дискредитации равняется 44100 Гц – та самая, которая применялась на аудио-CD. Это означает, что сигнал измеряется 44100 раз в течение одной секунды.
Аналоговый сигнал по своей насыщенности всегда превосходит цифровой. И его преобразование – это неизбежная потеря в качестве. Частота дискретизации служит своеобразным ориентиром: чем она выше, тем ближе качество цифрового звука к аналоговому. Это явственно просматривается в списке ниже. Он показывает, какая частота звука лучше. Изучая его, вы увидите непосредственную взаимосвязь дискретизации и качества трека:
Список чётко указывает на то, какая частота звука лучше. К тому же технологии на месте не стоят, и появляются новейшие форматы. Но прежде чем строить далеко идущие планы, следует учесть один очень весомый нюанс. Его суть проста: чем выше частота дискретизации, тем сложнее её достичь технологически. Для этого необходимо:
Учитывая вышеизложенную информацию, неудивительным является тот факт, что частота звука, равная 44100 Гц, продолжает оставаться наиболее востребованной и сегодня. Она десятилетиями удовлетворяет даже самые взыскательные запросы к качеству, и вместе с тем имеются все технические возможности для её достижения. Последний фактор является определяющим как для рядовых пользователей, так и для большинства звукозаписывающих студий. Даже зная, какая частота звука лучше, чтобы достигнуть её, необходимо позаботиться о технической оснащённости.
Сведения о формате аудио без потерь в Apple Music
Мы стремимся обеспечить уникальный уровень звучания для вас
Apple Music предлагает непревзойденный уровень звучания, отвечающий высшим стандартам качества аудио. Мы разработали собственную реализацию кодека AAC (Advanced Audio Codec), которая обеспечивает качество воспроизведения, практически неотличимое от оригинальной студийной записи. Кроме того, мы представили протокол Apple Digital Masters для обеспечения высокого качества записей. И теперь мы предлагаем подписчикам Apple Music дополнительную возможность получить бесплатный доступ ко всему нашему каталогу аудио, закодированному с использованием сжатия без потерь.
Что такое сжатие аудио в формате без потерь?
При использовании большинства методов сжатия аудио часть данных, содержащихся в исходном файле, теряется. Сжатие без потери качества — это метод сжатия с сохранением всех исходных данных.
Компания Apple разработала собственную технологию сжатия звука без потери качества, так называемый кодек Apple Lossless Audio Codec (ALAC). Теперь весь каталог аудио Apple Music кодируется не только с использованием кодека AAC, но и кодека ALAC с разрешением от 16 бит/44,1 кГц (качество CD) до 24 бит/192 кГц.
Несмотря на то что разница между форматами AAC и аудио в формате без потерь практически незаметна, мы предлагаем подписчикам Apple Music доступ к музыке со сжатием аудио без потери качества.
Что нужно знать об аудио в формате без потерь в Apple Music
Прослушивание аудио в формате без потерь на iPhone или iPad
Что вам понадобится
Вы можете слушать аудио в формате без потерь на устройствах iPhone или iPad, обновленных до последней версии iOS или iPadOS, с использованием:
Как включить или отключить режим воспроизведения аудио в формате без потерь
Как слушать аудио в формате без потерь на компьютере Mac
Что вам понадобится
Вы можете слушать аудио в формате без потерь на компьютере Mac, обновленном до последней версии macOS, с использованием:
MP3, AAC, WAV, FLAC: рассказываем обо всех форматах аудиофайлов
Сохранить и прочитать потом —
Организуя свою коллекцию цифровой музыки, можно утонуть в разнообразии форматов аудиофайлов. Почти каждый слышал об MP3, но что такое OGG, AIFF или MQA?
Если по прочтении списка у вас возникло подозрение, что все эти форматы для получения таких шикарных аббревиатур учились в разных университетах, мы поможем развеять его. В этом материале будет прояснена суть некоторых популярных музыкальных форматов, разница между ними и то, почему это важно знать.
Что бы вы ни слушали – MP3-файлы с низким битрейтом, чуть более качественные треки в AAC или Hi-Res-аудио во FLAC или WAV – настало время разобраться в том, что именно вы получаете в каждом случае и как выбрать оптимальный формат.
Давайте оценим плюсы и минусы каждого из них.
Краткий обзор форматов файлов и кодеков
Чтобы не ходить вокруг да около, вначале мы приведем краткую памятку по всем форматам файлов и различиям между ними. Если захотите узнать больше, ниже вы найдете более подробное описание различий в размерах, качестве звука и совместимости.
AAC (не является форматом Hi-Res-аудио). Ставшая популярной благодаря Apple альтернатива формату MP3. Со сжатием и потерями, но с более высоким качеством звука. Используется для скачивания с iTunes и трансляции с Apple Music.
AIFF (Hi-Res). Альтернатива WAV от Apple с более полными метаданными. Не особенно популярный формат без сжатия и потерь с файлами большого размера.
DSD (Hi-Res). Однобитный формат, применяемый в Super Audio CD. Существует в вариантах с частотой дискретизации 2,8 МГц, 5,6 МГц и 11,2 МГц. Из-за использования кодека высокого качества в настоящее время не применяется для стриминга. Формат без сжатия.
FLAC (Hi-Res). Формат со сжатием без потерь с поддержкой частот дискретизации, совместимых с Hi-Res, и хранением метаданных; размер файлов вдвое меньше, чем у WAV. Благодаря отсутствию лицензионных отчислений считается лучшим форматом для скачивания и хранения альбомов в Hi-Res-аудио. Его главный недостаток – отсутствие поддержки устройствами Apple (и, следовательно, несовместимость с iTunes).
MP3 (не является форматом Hi-Res-аудио). Популярный формат со сжатием и потерями с малым размером файла и далеко не самым высоким качеством звучания. Удобен для хранения музыки на смартфонах и плеерах iPod.
MQA (Hi-Res). Формат со сжатием для хранения Hi-Res-файлов в более удобной для стриминга форме. Используется сервисом Tidal Masters для трансляций Hi-Res-аудио.
OGG (не является форматом Hi-Res-аудио). Иногда называется полным именем – Ogg Vorbis. Альтернатива MP3 и AAC с открытым кодом, не подпадающая под действие патентов. Этот формат с битрейтом 320 кбит/с используется в трансляциях Spotify.
WAV (Hi-Res). Стандартный формат, в котором записаны все CD. Отличное качество звука, но огромный размер файлов из-за отсутствия сжатия. Слабая поддержка метаданных (обложек, названий песен и исполнителей).
WMA Lossless (Hi-Res). Версия Windows Media Audio без сжатия, поддержку которой уже не часто можно встретить в смартфонах и планшетах.
Аудиофайлы со сжатием и без него
Вначале рассмотрим три категории, в которые можно сгруппировать все форматы аудиофайлов. Они определяются степенью сжатия данных и связанным с ним уровнем потерь качества звучания.
Если для сжатия аудио в вашем файле не применялся специальный алгоритм (или кодек), это приведет к двойному результату: во-первых, потерь качества звучания не будет, во-вторых, место на вашем жестком диске скоро закончится.
По своей сути запись в формате без сжатия полностью соответствует оригинальному аудиофайлу, в котором зафиксированы в цифровом представлении реальные звуковые сигналы.
WAV и AIFF можно назвать самыми популярными форматами аудиофайлов без сжатия. Оба они основаны на PCM (Pulse Code Modulation, импульсно-кодовой модуляции), широко известном механизме непосредственного преобразования аудиосигнала в цифровую форму. В WAV и в AIFF применяются схожие технологии, но методы хранения данных несколько различаются. В этих форматах можно записывать как файлы CD-качества, так и более высокого разрешения.
Формат WAV был разработан Microsoft и IBM, в силу чего применяется на платформах на базе Windows; он является стандартным форматом записи компакт-дисков.
Формат AIFF создан компанией Apple как альтернатива WAV; и хотя AIFF-файлы менее распространены, они обеспечивают более полную поддержку метаданных, позволяя хранить обложки альбомов, названия песен и тому подобную информацию.
Недостаток этих форматов – требование гигантских объемов памяти. Файлы CD-качества (16 бит, 44,1 кГц) занимают около 10 МБ дискового пространства на минуту звучания.
ALAC, FLAC, WMA Lossless: аудиоформаты без потерь
Все мы любим FLAC. Формат без потерь, файлы во FLAC (Free Lossless Audio Codec, бесплатный аудиокодек без потерь) по размеру почти вдвое меньше, чем в WAV или AIFF без сжатия с эквивалентной частотой дискретизации, однако в плане звучания никаких потерь качества не заметно. FLAC также поддерживает более высокое разрешение по сравнению с CD-качеством – до 32 бит и 192 кГц.
Помимо FLAC, есть и другие форматы без потерь – ALAC (Apple Lossless) и WMA Lossless (Windows Media Audio). Первый представляет собой отличную альтернативу для iOS и iTunes, хотя размер файлов чуть выше, чем у FLAC. Не все смартфоны и планшеты поддерживают его.
AAC и MP3: аудиоформаты с потерями
Кто не слышал про MP3? Все про него слышали. Этот самый распространенный аудиоформат удобен для хранения музыки на плеерах iPod или планшетах и поддерживается практически любыми устройствами. Однако для этого приходится жертвовать значительным объемом информации. Для того чтобы уменьшить размеры файлов на порядок по сравнению с записями в CD-качестве, необходимо отбросить значительный процент исходных данных, что приводит к потере качества звучания.
Битрейт, с которым записан MP3-файл, тоже влияет на качество звука. MP3 с битрейтом 128 кбит/с теряют больше информации, чем файлы с 320 кбит/с (это расшифровывается как «килобит в секунду», где каждый «бит», в сущности, представляет собой крохотный кусочек песни). Учитывая резкое снижение стоимости памяти, в наше время нет никаких причин слушать файлы с битрейтом 128 кбит/с; MP3 с 320 кбит/с имеют смысл при ограниченном объеме памяти, они также остаются стандартным форматом для скачивания файлов Интернет-магазинов.
Еще один формат с потерями, AAC (Advanced Audio Coding, усовершенствованное кодирование звука), также предполагает сжатие, как и MP3, но благодаря несколько более эффективным алгоритмам обеспечивает более качественный звук. AAC используется для скачивания с iTunes и трансляций с Apple Music (с битрейтом 256 кбит/с), а также в передачах с YouTube.
Формат Vorbis, нередко называемый Ogg Vorbis, чтобы подчеркнуть использование контейнера Ogg, представляет собой альтернативу MP3 и AAC с открытым кодом, не подпадающую под действие патентов. Этот формат с битрейтом 320 кбит/с используется в трансляциях Spotify.
Если вы планируете использовать форматы с потерей информации, учитывайте следующий факт: повышение числа «бит» обычно ведет к росту качества звучания, однако оно во многом зависит от эффективности кодека, с помощью которого выполняется преобразование файла. Если большая часть музыки в вашей коллекции закодирована с битрейтом 128 Кбит/с, то вы могли заметить, что, несмотря на принципиальное сходство звучания, из-за низкой эффективности кодека MP3-файлы, скорее всего, будут слушаться несколько хуже AAC или Ogg Vorbis.
Как насчет музыки в высоком разрешении?
В отличие от HD-видео, для аудио высокого разрешения пока не разработано универсального стандарта.
Если не вдаваться в подробности, под этим термином обычно понимаются записи с более высокой частотой дискретизации и/или разрядностью, чем у CD (т.е. 16 бит/44,1 кГц). Примерами Hi-Res-аудио могут служить файлы с параметрами 16 бит/96 кГц или 24 бит/192 кГц.
Благодаря наличию дополнительной аудиоинформации Hi-Res-файлы звучат намного лучше в сравнении с компрессированными файлами, теряющими эту информацию в процессе сжатия. Эти форматы требуют больше места на диске, но их качество определенно стоит таких затрат.
К Hi-Res-аудио относятся форматы без сжатия, такие как AIFF и WAV, а также без потерь – FLAC и ALAC. DSD (отчасти нишевый формат, применявшийся в Super Audio CD) также входит в категорию Hi-Res-аудио, но его поддерживает гораздо меньшее число устройств. Если говорить о стриминге, то такие сервисы, как Tidal Masters, используют упаковщик MQA, позволяющий передавать по сетям файлы в высоком разрешении с использованием минимально возможной полосы пропускания сигнала.
Что касается воспроизведения форматов Hi-Res-аудио, то сегодня его поддерживает уже немало устройств. 24-разрядные файлы способны проигрывать беспроводные колонки Denon HEOS, а также портативные музыкальные плееры премиум-класса – такие как Cowon Plenue D2 и Astell & Kern A&norma SR15.
Кроме того, с Hi-Res-аудио совместимы большинство флагманских моделей смартфонов под Android – например, удостоенный высших оценок Samsung Galaxy S10+ – однако прослушать их на новеньком iPhone вам сходу не удастся. Мы нашли способы обойти это ограничение, но нельзя забывать о том, что файлы Hi-Res-аудио пока еще не настолько компактны, как их аналоги в форматах с потерями.
Какой аудиоформат будет лучшим для вас?
Выбор формата зависит от того, что вас больше волнует – объем памяти или качество звучания – а также от того, с каким устройством вы намерены его использовать.
Популярность MP3 сложилась в эпоху, когда стоимость дискового пространства была очень высока. Сегодня смартфоны, музыкальные плееры и ноутбуки оснащаются памятью внушительного объема, так что есть смысл обратить внимание на форматы с качеством выше, чем у CD.
Если же вы решили архивировать свои аудиофайлы, FLAC или другой формат без потерь может стать неплохим вариантом. Они представляют собой удачный компромисс между уровнем сжатия и качеством звучания, позволяя слушать высококачественную цифровую музыку и сэкономить дисковое пространство. Только не забудьте проверить совместимость выбранного формата и имеющихся устройств.
Подготовлено по материалам портала «What Hi-Fi?», март 2020 г.
Основы кодирования аудио с потерями. Тестирование бета-версии Opus 1.3
0. Об авторе
Всем привет, меня зовут Максим Логвинов и я студент Харьковского Национального университета радиоэлектроники.
Меня всегда интересовали звук и музыка. Я сам любил писать электронную танцевальную музыку и мне всегда было интересно, как человеку, который недостаточно хорошо разбирается в высоких материях математики, узнать, что же происходит со звуком в компьютере: как он пишется, сжимается, какие для этого существуют технологии и так далее. Ведь со школьной скамьи и физики я понимал, что звук — он «аналоговый»: его мало того что нужно преобразовать в цифровой (для чего необходимы такие устройства как АЦП), но его нужно как-то сохранить. А ещё лучше, чтобы эта музыка занимала поменьше дискового пространства, чтобы можно было поместить в скупую папку побольше музыки. И чтобы звучала хорошо, без всяких слышимых артефактов сжатия. Музыкант ведь. Натренированное ухо, не лишённое музыкального слуха, достаточно сложно обмануть методами, которые используются для компрессии звука с потерями — по крайней мере, на достаточно низких битрейтах. Ишь, какой привередливый.
А давайте посмотрим, что из себя представляет звук, как он кодируется и какие инструменты используются для этого самого кодирования. Более того, поэкспериментируем с битрейтами одного из самых продвинутых на сегодняшний день кодеков — Opus и оценим, что и с какими циферками можно закодировать, чтобы и рыбку съесть, и… Собственно, просто почему бы и нет? Почему бы не попытаться описать простым языком не только то, как хранится и кодируется аудио компьютером, но и протестировать один из лучших кодеков на сегодняшний день? Особенно, если речь идёт о сверхнизких битрейтах, где практически все существующие кодеки начинают творить невероятные вещи со звуком в попытках уложиться в малый размер файла. Если хочется отвлечься от рутины и узнать, какие выводы были получены при тестировании нового кодека — добро пожаловать под кат.
1. Кодирование звука
Звук имеет физическую природу. Любой звук — это колебания в пространстве (в данном случае — в воздухе), которые улавливаются нашим ухом. Колебания имеют непрерывный характер, который можно описать математическими моделями. Делать же этого мы, конечно же, не будем, но поставим перед собой вопрос: как колебания, имеющие непрерывную природу, записать в машину, которая оперирует лишь нулями и единицами?
1.1. Ни сжатия, ни потерь
Рис. 1.1 — Графическое описание импульсно-кодовой модуляции
Формат WAV (WAVE) сохраняет аудио-дорожку в её истинном качестве, не проводя никаких манипуляций с самим аудио-файлом.
Для того, чтобы записать звук, нам необходимо преобразовать его в набор нулей и единиц. В случае с форматом WAV делается это наитупейшим образом: входящий звуковой поток разбивается на малейшие отрезки (кванты, отсюда термины «частота квантования», «частота выборки» или «частота дискретизации«) и в каждый такой отрезок времени пишется текущее значение аналогового сигнала в двоичной форме. Файлы формата WAV могут быть записаны с частотой дискретизации, к примеру, от 8 кГц до 192 кГц, но, де-факто, стандартом считается частота выборки в 44.1 кГц.
Следует отметить, что WAV, как контейнер, поддерживает и другие способы хранения аудио-информации: к примеру, ADPCM, который способен, в зависимости от полосы пропускания, кодировать аудио-данные с переменной частотой дискретизации.
Частота 44.1 кГц произошла не случайно. Если допустить неточности в описании, то данная цифра произошла как утверждение теоремы Котельникова: для сохранения максимально правильной формы волны при частотах до 20 кГц (теоретический предел слышимости человеческого уха) необходима частота дискретизации вдвое выше — 40 кГц. Собственно, частота именно в 44.1 кГц обусловлена техническими аспектами, подробности которых можно прочитать здесь.
В каждом таком отрезке в двоичной форме кодируется фактическое напряжение аналогового сигнала: наивысший уровень можно представить в виде «1111», наинизший — в виде «0000». И вот здесь вступает в игру второй параметр — глубина звучания, определяющая, насколько точно будет оцифровано значение волны в отрезок времени. Зачастую файлы формата WAV пишутся с разрядностью в 16 бит или 32 бит. Выше разрядность — точнее запись.
Кстати, о PCM. Что из себя представляет запись на обыкновенном компакт-диске, которые были так популярны после аудиокассет? Именно — поток несжатых нулей и единиц в формате PCM. Разрядность — 16 бит, частота выборки — 44.1 кГц. Какой тогда битрейт будет у такой записи?
2822 кбит/с.
Вывод: отсюда прожорливость данных файлов к свободному пространству на жёстком диске, но в качестве выигрыша — полное отсутствие потерь при записи и прослушивании аудио-файла.
1.2. Сжатие без потерь
О сжатии без потерь я не буду много писать. С этим термином можно ознакомиться здесь. Фактически, данный метод представляет собой, говоря грубо, архивацию аудиозаписи алгоритмами, заложенными в кодек, но данные при этом не теряются и сохраняется возможность восстановить аудио-запись с точностью бит-в-бит. При декодировании таких форматов мы получаем, фактически, тот же WAVE-формат, только он занимает меньше дискового пространства; сжатие — приблизительно двухкратное и зависит от характера кодируемой композиции. При прослушивании записи кодек производит «разархивирование» композиции и шлёт поток несжатых нулей и единиц на обработку звуковой карте.
Таких кодеков существует достаточно много: это FLAC (Free Lossless Audio Codec), разработанный организацией Xiph (она же и разработала Opus), ALAC (Apple Lossless) от одноимённой компании, APE (Monkey’s audio), WV (WavPack) и прочие, менее известные форматы сжатия аудио без потерь.
1.3. Сжатие с потерями — обманываем свой слух
Учёные умы начали задумываться о том, что, в принципе, часто нет смысла сохранять полную информацию об аудиозаписи, так как наше ухо несовершенно. Оно может не слышать тихих звуков после громких, оно может не слышать слишком высокие и слишком низкие частоты и так далее. Эти феномены называются эффектом маскировки.
В итоге поняли: можно ведь выбросить здесь, подрезать там, а слушатель практически ничего не заметит — несовершенное ухо просто даст возможность слушателю обмануть себя. Следовательно, появляется возможность избавиться от психоакустической избыточности в файле.
Собственно, психоакустика существует как дисциплина и изучает психологические и физиологические особенности восприятия звуков человеком. Собственно, эти психоакустические модели и были заложены в основу работы программ сжатия с потерями и одним из первых таких форматов стал MPEG 1 Layer III или просто MP3. Здесь же оговорюсь, что маркетинг, оперирующий фактами практически без преувеличения, сделал своё дело: аудио-файл занимает в десять раз меньше места (с оговоркой: это при кодировании с битрейтом в 128 кбит/с, что позволяет получить «приемлемое для типичного слушателя качество» — вспоминаем 1411 кбит/с для WAVE), а, следовательно, на компакт-диск или на жёсткий диск поместится уже на порядок больше аудио-записей. Фурор! Популярность формата взорвала индустрию цифровой звукозаписи. В периоды не самых быстрых подключений к сети Интернет передавать подобные файлы стало как нельзя удобно. Удобно передавать, удобно хранить, удобно закинуть пачку композиций себе на плеер. Создано множество аппаратных декодеров формата MP3, в связи с чем файл проигрывался чуть ли не на холодильнике каждой железке.
На момент написания данной статьи уже истекли сроки патентных ограничений и лицензионные сборы прекращены.
Что же касается сжатия с потерями и каким образом получается сжать аудио-файл на порядок без существенной потери для слушателя качества? Если вкратце, от одного кодека к другому нижеследующая последовательность мало отличается. Описание данного процесса упрощено до безобразия, но его течение приблизительно таково:
Следует отметить факт того, что формат MP3 не лишён существенных недостатков, при этом сам формат уже не позволяет должным образом расширять его возможности. Возьмём, к примеру, такое явление как pre-echo. Феномен данного артефакта сжатия кратко и достаточно неплохо описан здесь, но его суть заключается в искажении резко нарастающих относительно тишины звуков, например, инструмента Hi Hat. При кодировании такого инструмента в тишине, из-за особенностей работы MDCT, резкий переход будет создаваться с множеством колебаний. В исходной записи этих колебаний не существует, но при их наличии в результирующей записи они достаточно отчётливо улавливаются ухом. Современные кодеки, такие как AAC и OGG также не лишены этого недостатка, но стараются бороться с ними, применяя более точные и совершенные алгоритмы. А вот MusePack (о нём ниже), к примеру, данного недостатка лишён, так как
не использует для повышения эффективности второе MDCT-преобразованиеиспользует SBC вкупе с очень качественной психоакустической моделью, чем и объясняется его качественное кодирование лишь начиная с битрейтов в 160 кбит/с. Редко, но метко: с таким битрейтом кодек кодирует аудио лучше, чем MP3 с аналогичным битрейтом.
Нельзя не отметить, что разработчики свободного кодека Lame всё же пытаются совершенствовать своё детище, улучшая психоакустические модели и алгоритмы кодирования с переменным битрейтом; релиз версии 3.100 представлен в декабре 2017 года.
Подробную информацию о том, как внутри устроен MP3 с точки зрения формата кадров, можно почитать здесь.
А вот потрясающую статью (а, точнее, её перевод) о том, как работает сжатие аудио кодеком MP3, можно прочитать здесь. Рекомендую!
1.4. Кодирование с потерями совершенствуется: краткое описание формата AAC
На момент написания статьи кодеку MP3 уже более 23 лет. Дабы не повторяться со статьёй (её более новая версия), где уже описаны кодеки OGG Vorbis (и снова привет организации Xiph — это также её разработка), MPC (Musepack), WMA (Windows Media Audio) и AAC, я опишу здесь вкратце формат AAC с точки зрения технологий, которые являлись до недавних пор передовыми в сфере кодирования с потерями.
По моему скромному мнению, AAC (Advanced Audio Codec) — один из самих продвинутых форматов в области кодирования данных. Опишу основные особенности данного формата, начиная с популярных профилей, которые можно представить матрёшкой (см. рис. ниже):
Рис. 1.2 — Иерархия профилей AAC, источник — Википедия
— Low Complexity Advanced Audio Coding (LC-AAC)
Низкая сложность декодирования отлично подходит для реализации аппаратного кодека; аппаратные требования к ЦПУ и ОЗУ также низки, что и снискало большую популярность к этому профилю. Достаточно эффективно кодирует сигнал с 96 кбит/с.
— High-Efficiency Advanced Audio Coding (HE-AAC).
Профиль HE-AAC является расширением LC-AAC и дополнен запатентованной технологией SBR (Spectral Band Replication, груб. — «спектральное повторение», статья на английском). Именно технология спектрального повторения позволяет «сохранить» высокие частоты при кодировании с низкими битрейтами.
Рис. 1.3 — Графическое изображение принципа восстановления высоких частот
Почему «сохранить» — в кавычках? Потому что царь — не настоящий: кодек отводит место для дополнительной информации, которая используется синтезатором кодека для восстановления высоких частот, но так как эти частоты синтезируются, то бишь воссоздаются кодеком, они, фактически, являются приблизительной копией высоких частот, которые существовали в исходном файле. На практике, сигнал, кодированный битрейтом 48 кбит/с будет звучать, например, аналогично формату mp3@98 кбит/с, если это поддерживается декодером; в противном случае такой файл будет проигрываться попросту без восстановления высоких частот и его битрейт будет соответствовать его качеству, аналогичному mp3.
— High-Efficiency Advanced Audio Coding Version 2 (HE-AACv2)
Данный профиль относительно молодой (описан в 2006 году), он создан для более эффективного кодирования аудио в условиях низкой пропускной способности.
Вторая версия профиля является расширением, собственно, первого профиля, изменения заключаются в добавлении технологии PS (Parametric Stereo). Принцип несколько похож на технологию SBR: кодек также отводит место под информацию для восстановления стерео-базы, жертвуя аккуратностью.
Рис. 1.4 — Графическое изображения кодирования параметрического стерео
Условия для работы данного профиля такие же, как и для вышеописанного HE-AAC; отсутствие поддержки профиля декодером приведёт к тому, что запись будет звучать в моно.
— AAC-LD (Advanced Audio Coding — Low Delay)
Профиль AAC-LD имеет усовершенствованные алгоритмы кодирования для уменьшения задержек (до 20 мс.);
— AAC-ELD (Advanced Audio Coding — Enhanced Low Delay)
Данный профиль, который наследует все возможности HE-AACv2 (используются аналоги технологий SBR и PS, но спроектированные для низких задержек);
Данный профиль был представлен как MPEG-2 AAC или HC-AAC (High Complexity Advanced Audio Coding). Не совместим с LC-AAC;
— AAC-LTP (Advanced Audio Coding — Long Term Prediction)
Этот профиль более сложный и ресурсоёмкий (но и более качественный), чем все остальные. Также не совместим с LC-AAC.
Вот и всё, что я хотел написать об этом кодеке. Основной акцент я сделал на технологии, которые используются в различных профилях AAC (которые, кстати, порождают множество аббревиатур: AAC, LC-AAC, eAAC+, aacPlus, HE-AAC и т.д.), так как буду сравнивать их с таковыми в Opus, но кодек делает своё дело: он широко используется в интернет-радио, а также в технологиях цифрового радио-вещания: DRM (Digital Radio Mondiale) и DAB (Digital Audio Broadcasting) (ознакомиться с этими технологиями можно здесь), YouTube, как аудио-дорожка к множеству роликов в контейнерах mp4, mkv и пр.
2. Введение в Opus: описание формата
Рис. 2.1 — Логотип Opus
21 декабря 2017 года организация Xiph представила бета-версию аудиокодека Opus версии 1.3. Я не буду вдаваться в высокие материи при описании данного кодека, так как подобная информация находится в свободном доступе (например, здесь, здесь, а для знающих английский — здесь и здесь.)). Информацию о релизе этой бета-версии можно найти здесь. Здесь я отмечу, что данный кодек является замечательным кандидатом на замену остальных кодеков. У него немало достоинств:
Может возникнуть резонный вопрос: что такого особенного в вышеописанных тезисах? Всё это есть практически в любом более-менее современном кодеке. Ответы последуют далее в статье.
Одна из ключевых особенностей данного кодека — чрезвычайно низкие задержки кодирования: от 2.5 мс. (!) до 60 мс, что просто необходимо, как воздух, приложениям, позволяющим пользователям общаться голосом в сети Интернет. Такие низкие задержки также позволяют строить интерактивные приложения, например, цифровую звуковую студию для совместного написания музыки или что-то в этом роде. Стоит отметить, что по этому параметру кодек конкурирует с относительно новым профилем AAC-ELD, описанному выше; тем не менее, минимальная задержка алгоритмов кодирования составляет прибл. 20 мс., что ни чуть не является проблемой для свободного, открытого и бесплатного кодека Opus.
Я не буду рассматривать все тонкости, связанные с кодированием аудио этим кодеком, но ниже опишу режимы, которые меняются кодеком в зависимости от смены битрейта.
2.1. Opus: режимы кодирования
Рис. 2.2 — Сравнение качества кодирования различными кодеками — официальный график с сайта opus-codec.org
После выхода данной бета-версии мне стало интересно, как меняются режимы кодирования в зависимости от битрейта, поэтому я и решил провести эксперименты, начиная с самых низких битрейтов, но только с ними. Проводить эксперименты с более высокими битрейтами я не вижу смысла — это отлично описано в статьях (например, здесь).
Сейчас же перечислим те режимы, которыми оперирует кодек:
2.2. Низкие битрейты — высокие частоты. Как достигнуты такие результаты?
В начале данной статьи я не зря рассматривал кодек AAC и его навороченные профили, которые, фактически, строят стерео-базу и восстановление высоких частот, что называется, «из воздуха». Утрирую, конечно, но выражение недалеко от истины. Но вот беда: кодек покрыт патентами и является проприетарной разработкой альянса из компаний Bell Labs, Института интегральных схем общества Фраунгофера (который, кстати, и является ключевым создателем формата MP3), Dolby Laboratories и т.д. Следовательно, использование данных технологий потребует лицензионных отчислений, что недопустимо для полностью открытого и свободного кодека. Поэтому разработчики Opus пошли иным путём: они реализовали собственные алгоритмы воспроизведения высоких частот — Band Folding (Spectral Folding, Hybrid Folding). Об этом подходе кодирования высоких частот можно ознакомиться, соответственно, здесь (там даже интерактивные картинки есть), здесь (см. 4.4.1) и здесь. Кодек не синтезирует высокие частоты из дополнительных данных, как это делает HE-AACv2, он берёт за основу сам сигнал, исходя из энергии в области высоких частот, закодированной в оригинальном сигнале. Слепое тестирование со стороны энтузиастов показывает, что данный метод очень эффективен, не говоря уже о том, что подобный метод такого воспроизведения высоких частот, по заверениям разработчиков, более прост в исполнении, нежели SBR или его аналог и реализуем с меньшими алгоритмическими задержками.
К слову: результаты слепого тестирования можно посмотреть на графиках по следующей ссылке.
Давайте же испытаем это последнее слово в области сжатии звука с потерями.
2.3. Opus: инструменты для кодирования и тестирования
Данное тестирование проводилось на коротком отрывке из аудиокниги Вадима Зеланда — Трансерфинг реальности. Книга была озвучена российским актёром и радиоведущим Михаилом Черняком, который обладает приятным тембром голоса.
Как был получен отрывок?
Дальше пойдёт описание практически каждой из них — с приложением скриншотов и субъективного описания звучания, после чего последуют небольшие выводы.
3. Оценка звучания кодированных дорожек
По-хорошему, оценка звучания должна быть объективной и проводиться, к примеру, с использованием метода слепого ABX-тестирования (статья на английском). Тестирование проводится для того, чтобы исключить эффект пустышки (плацебо).
Если вкратце, суть метода заключается в прослушивании при помощи вспомогательного ПО (Foobar или аналогичное веб-приложение, см. прим. на рис. 3.1) двух семплов: референсного и сжатого — кнопки А и В соответственно. Слушатель заранее не знает, какой из них является сжатым, а какой — референсным.
Рис. 3.1 — Пример внешнего вида одной из программ слепого ABX-тестирования
Далее слушатель прослушивает аудиозапись, подставленную программой под кнопку Х и пытается определить: к какому из двух семплов (А или В) относится семпл на кнопке Х. После выбора ответа слушателем цикл повторяется определённое количество раз, после чего программой выводится результат, где показано, с какой вероятностью слушатель нажимал кнопки случайно.
Стоит оговориться, что существуют люди, которые не воспринимают эффекты психоакустической компрессии и, фактически, не могут отличить, например, запись mp3@128 кбит/с от FLAC — для них оба файла звучат «замечательно». Таких людей немало и для них 128 кбит/с — полностью прозрачное звучание, так как они не задумываются над тем, какие там артефакты и как они звучат. Музыка есть? Инструменты слышны? Отлично. Это ещё одна из причин высокой популярности формата MP3.
Я принципиально не проводил слепое ABX-тестирование, но пожелал описать субъективное восприятие звука с приведением скриншотов спектрограммы каждого семпла в надежде, что читателям данной статьи это будет интересно.
Поехали.
Рис. 3.2 — Спектрограмма записи, кодированной с битрейтом 8 кбит/с
opus-enc-8.opus
1. На рис. 3.2 показана спектрограмма для кодирования практически с самым низким битрейтом. Аудио-файл кодируется методом LP, кодек отводит спектр частот в 6 кГц; всё, что выше — обрезается. В итоге размер файла чрезвычайно мал, качество звучания соответствует таковому с кодеком AMR-NB (Narrowband). Классика жанра в сетях сотовой связи второго поколения (GSM). Поведение кодека Opus соответствует вышеописанному в диапазоне битрейтов от 6 до 9 кбит/с.
Рис. 3.3 — Спектрограмма записи, кодированной с битрейтом 10 кбит/с
opus-enc-10.opus
2. На рис. 3.3 показана спектрограмма для кодирования с битрейтом в 10 кбит/с. Та же ситуация: кодирование методом LP, но спектр частот уже шире — до 8 кГц. По звучанию — среднее между AMR-NB и AMR-WB.
Рис. 3.4 — Спектрограмма записей, кодированных с битрейтами 12 и 13 кбит/с
opus-enc-12.opus
opus-enc-13.opus
3. На рис. 3.4 показано две спектрограммы: для битрейтов 12 и 13 кбит/с соответственно. Здесь ситуация интереснее: при 12 кбит/с используется всё то же LP, но ширина спектра расширена ещё больше: до 10 кГц и звучание практически идентично таковому в AMR-WB.
Начиная с битрейта 13 кбит/с кодек переключается в гибридный режим и начинает использовать сразу три метода: LP, MDCT и Band Folding. Всё, что лежит в диапазоне от 0 до 8 кГц, кодируется LP, от 8 до 10 кГц — MDCT; именно этот отрезок спектра в 2 кГц используется как исходная информация для использования Band Folding — отсюда получаем фактически восстановленные высокие частоты, вплоть до 20 кГц.
Отчётливо видны «мазки» вдоль записи, начинающиеся с 10 кГц; видна попытка кодека сохранить максимум информации о высоких частотах. Интересно, что уже при 13 кбит/с. кодек в гибридном режиме, с использованием Hybrid Folding, пытается работать в режиме Fullband, восстанавливая спектр вплоть до 20 кГц.
Что же по поводу звучания? Звучание голоса просто Фантастическое — с большой буквы Ф. На такой результат не способен даже HE-AAC с его SBR — даже близко не способен. Высокие частоты, в области которых находятся шипящие, свистящие, цокающие (Ш, Щ, С, Ц) звуки воспроизводятся потрясающе, слушать человеческую речь — приятно. Не забываем про цифру «13 кбит/с», а ведь с таким битрейтом раньше работали кодеки GSM (AMR-NB), где толком и не разобрать, где «Ш», а где «С»…
Тем не менее, не стоит забывать, что для кодирования музыки такой режим всё ещё плохо подходит: из-за кодирования нижней части спектра методом LP в области нижних частот присутствуют существенные искажения, особенно, в области перехода, где голоса нет, но слышен соответствующий данной области FX-эффект «атмосферного ржавого скрипа».
Рис. 3.5 — Спектрограмма записей, кодированных с битрейтами 14 и 15 кбит/с
opus-enc-14.opus
opus-enc-15.opus
Рис. 3.6 — Обратите внимание на выделенную область FX-эффекта
4. На рис 3.5 видно, как меняется способ кодирования сигнала от перехода к более высокому битрейту — с 14 до 15 кбит/с. Пока спектрограмма записи для битрейта в 14 кбит/с похожа на вышеописанную с 13 кбит/с, то начиная с битрейта в 15 кбит/с использование гибридного режима прекращается и кодек полностью полагается на MDCT и Band Folding.
Почему я так решил? Потому что при прослушивании записи в области FX-эффектов все искажения, которые присущи LP, пропадают. Да и если присмотреться на спектрограмму обеих записей (см. также рис. 3.6), то можно увидеть, что точность воспроизведения спектра увеличена. Однако, характерный «мазок», разделяющий спектр пополам, в области 10 кГц, можно увидеть в обоих случаях.
Это как раз тот случай, когда качество здесь сопоставимо с таковым у mp3@80 кбит/с, если не выше. Опять-таки, не имею права ставить свои суждения истиной в последней инстанции, так как не проводил слепое ABX-тестирование.
5. Начиная с битрейта в 18 кбит/с (opus-enc-18.opus), последнего становится достаточно для того, чтобы переключиться в режим Fullband Stereo, а это означает, что на данном битрейте можно получить «приемлемое» качество записи в условиях очень малой пропускной способности сети. Нет, это не фиаско, братан, это победа!
Далее всё достаточно просто: пропорционально, с увеличением битрейта, кодек всё реже использует Band Folding, так как, собственно, битрейт становится достаточным для того, чтобы закодировать более высокие частоты без надобности в их искусственном восстановлении. Чем выше битрейт — тем более широкий спектр будет закодирован без применения Band Folding.
4. Вместо заключения
Что же касается меня, то тот «порог прозрачности» (или «Transparency», как это называют носители английского языка), который выражается в моей неспособности отличить оригинал от сжатого аналога — прибл. 170 кбит/с. Для mp3 этот параметр лежит в пределах 224-256 кбит/с, в зависимости от характера музыки.
Что же тут сказать. Технологии стремительно развиваются. И не только технологии сжатия аудио-данных — все технологии, не побоюсь обобщить. Особенно приятно, что такие качественные технологии, которые позволяют так качественно обмануть человеческое ухо и позволяющие быть настолько универсальными, также развиваются и остаются свободными и открытыми. Спасибо разработчикам и тем потрясающим людям, которые творят и двигают прогресс. А также спасибо всем за внимание и всем, кто осилил статью до конца.