Пошаговое руководство как Конвертировать FLAC+CUE в WAV:
В настоящий момент, существует огромное количество аудиоформатов, и зачастую, это становится проблемой для пользователей, особенно если их проигрыватель не поддерживает определенные форматы. В частности, такое может случиться, если Вам нужно открыть FLAC файл. К счастью, формат WAV поддерживается подавляющим большинством устройств и плееров, поэтому во многих случаях конвертация – гораздо более простой и быстрый способ открыть аудиофайл, чем поиск подходящего проигрывателя. Если вам понадобилось быстро сконвертировать аудиофайл из flac в wav, то, наша программа flac to wav converter — лучшее решение, которое представляет собой универсальный конвертор flac в wav, позволяющий работать с разными типами файлов. Вы можете добавлять в программу треки простым перетаскиванием. Все, что от вас потребуется – это просто загрузить нужную композицию или ролик в приложение, а затем настроить все необходимые конфигурации и запустить конвертацию. Данный flac в wav конвертер, обладает простым и понятным «drag and drop» интерфейсом и лишен ненужных функций, которые обычно только отвлекают пользователя. Если вы хотите преобразовать flac в wav или любой другое аудио формат, то достаточно будет лишь выбрать его в выпавшем списке. При желании, в настройках можно также выставить битрейт, кодек, частоту аудио и другие параметры. Вы можете добавлять в конвектор как отдельные песни, так и целые папки с аудио. Часто, пользователи ищут ‘flac в wav конвертер онлайн’ или ‘как конвертировать flac в wav онлайн’, не задумываясь о том, что аудио файлы имеют большой размер, и даже при очень хорошем интернете, загрузка, конвертирование flac в wav, и скачивание результата, займет очень много времени. Гораздо быстрее будет скачать flaс to wav converter, и сделать это на PC. Flac to wav converter поддерживает огромное количество аудио форматов: AAC, AC-3, AIFF, ALAC, FLAC+CUE, WAV, OGG, WAV, WMA и массу других, поэтому, вы без труда сможете получить нужный аудиофайл. К тому же, в приложение включены лучшие аудио кодеки, благодаря чему достигается высокое качество выходного wav файла. Кроме того, данный конвертер flac в wav позволяет адаптировать файлы для всех современных гаджетов типа Apple iPhone или iPad.
установите и запустите, чтобы в три шага конвертировать FLAC в WAV:
Причины щелчков при ISO конверсии
- Конвертирование ISO в DSF без утраты последнего блока данных по причине програмного сбоя
- Постоянный уровень (DC bias) в некоторых треках
- Проблемы программ проигрывателей аудио
1.1. Конвертирование ISO в DSF без утраты последнего блока данных по причине програмного сбоя
Это хорошо известная проблема утилиты sacd_extract при конверсии ISO в DSF.
Аудио данные DSF аудио файла делятся на блоки. Последний блок может быть частично заполнен. Остальное пространство может быть заполнено нулями. Если последний блок утерян, в конце трека может присутствовать ненулевой уровень. Это может породить щелчок в конце файла.
Некоторые ISO содержат неразрывный материал (как оперы или живые концерты). Потеря последнего блока во время извлечения из ISO дает разрыв в непрерывном материале. Это может быть услышано, как тихий, но неприятный щелчок.
Утилита sacd_extract извлекает аудио материал без потерь блоков при конвертации ISO в DFF.
Разработчики этой программы информировали в версии 0.3.8 об устранении этой проблемы: «fixed a bug where a DSF export truncated sample data».
1.1.1. Почему предпочтительнее распаковывать ISO в DSF, чем в DFF?
С точки зрения пользователя, нет разницы в хранении аудио данных как DSF или как DFF.
DSF файл может содержать метаданные (название альбома, трека, исполнителя, изображение обложки альбома и прочее) в стандартным образом. DSF матаданные, как правило, поддерживаются аудио плеерами, как аппаратными, так и программными.
DFF файл может также содержать метаданные. Но это нестандартное решение. Похожим образом WAV и AIFF могут содержать метаданные типа id3. Эти метаданные хранятся в универсальном блоке данных (chunk). Некоторое программное обеспечение может читать содержимое этого блока. Другие программы игнорируют этот блок.
Когда sacd_extract конвертирует ISO в DSF, он помещает метаданые в выходной DSF.
Однако некоторые версии этой утилиты распаковывают в DSF файлы с кликами из-за утери последнего блока аудио данных.
1.1.2. Как устранить щелчки из-за утери последнего блока аудио данных при распаковке ISO в DSF
AuI ConverteR 48×44 решает проблему щелчка из-за утери последнего блока аудио данных следующим образом:
ISO -> DFF-файл + CUE-файл с метаданными -> DSF с метаданными из CUE-файла
Решение проблемы щелчка из-за утери последнего блока аудио данных
Все это работает незаметно для пользователя. Достаточно нажать кнопку Start и ожидать окончания конвертации в DSF.
Для конвертации 1-бит аудио ISO без обработки подходит bit perfect конвертация ISO в DSF.
1.2. Постоянное смещение (DC bias) в некоторых треках
Некоторые аудио треки из ISO файла имеют постоянное смещение (DC bias). Это смещение может изменятся внутри одного альбома.
На картинке видно, как в правом канале первого трека альбома постепенно растет постоянное смещение:
Постоянное смещение (DC bias) в правом канале первого трека альбома
В следующем треке оно остается постоянным. С последнем треке альбома оно постененно уменьшается до нуля к конце трека.
Щелчки при воспроизведении отдельных треков
При проигрывании такого альбома как неразывного потока (без переинициалтизации аппаратуры и программного обеспечения в начале каждого трека), щелчков на границах треков не будет.
Отдельное проигрывание трека №1 может дать щелчок в его конце. Отдельное проигрывание последнего трека может дать щелчок в в его начале.
Остальные треки могут иметь щелчки в начале и конце.
На картинке показано смещение в одном из треков в середине альбома. Такое смещение может привести к щелчкам в начале и конце файла при проигрывании.
Постоянное смещение в одном из треков в середине альбома
1.3. Щелчки в паузах между треками
Щелчки могут содержаться в паузах между треками. Перед первым треком также может быть пауза с щелчком.
Для того, чтобы пропускать паузы при извлечении аудио файлов из ISO:
- В главном окне AuI ConverteR нажмите кнопку Settings.
- Перейдите во вкладку Settings window > CD ripper/ISO.
- Отметьте переключатель Skip pause for first ISO track.
- Отметьте переключатель Skip pauses for all tracks.
- В окне Settings нажмите кнопку OK.
1.4. Как устранить щелчки при проигрывании альбомов
Концерт может быть записан, как один аудио файл и разделен на несколько на несколько треков (файлов) для размещения на SACD, DVD, CD-audio. Такой альбом должен проигрываться, как непрерывный аудио поток. Эта функция в аудио плеерах называется gapless playback.
Для конвертации ISO без обработки (изменение частоты дискретизации, громкости и т.д.) рекомендуется bit perfect конвертация ISO в DSF. Музыкальный материал, извлеченный в DSF, остается полностью бинарно идентичным аудио данным ISO файла.
Для конвертации ISO с обработкой и конвертации в PCM (WAV, FLAC, AIFF,…) рекомендуется бесшовная конверсия (seamless conversion) ISO. Это обеспечивает целостность треков альбома (отдельных аудио файлов), как непрерывного аудио потока, после обработки.
1.5. Как устранить клики при проигрывании отдельных треков
Для воспроизведения отдельных треков без щелчков на границах может быть рекомендованна обработка Smooth DC. Однако, нежелательно использовать эту обработку для непрерывных альбомов (живые концерты, оперы и пр.). Потому, что SmoothDC может привести к появлению коротких прерываний звука на границах файлов.
Дополнительно прочтите раздел Как аудио плеер влияет на щелчки.
1.6. Как аудио плеер влияет на щелчки
Файлы извлеченные из ISO в режиме bit-perfect должны проигрываться без щелчков, если аудио плеер поддерживает бесшовный режим (gapless palyback mode). ЦАП (DAC) и все обработки инициализируются один раз — перед началом альбома. Далее плеер посылает все треки как непрерывных поток без пауз между файлами.
Если программный или аппаратный плеер переинициализирует ЦАП перед каждым треком, то постоянное смещение (DC bias) может быть слышно, как щелчки. Во избежание этого типа щелчков может быть использованна обработка Smooth DC.
Изменение состояния ЦАП при инициализации также может привести к щелчкам.
Download HD audio converter AuI ConverteR 48×44 FREE for high resolution music WAV, FLAC, AIFF, ALAC, (1-bit audio) ISO, DFF, DSF, WMA, mp3, CD-audio… WARNING: DSF, DFF is supported in maximal PROduce-RD and configurable Modula-R FREE demo mute 2 second silence in the output middle of ISO tracks, DSF, DFF with length more 3 minutes
DOWNLOAD FREE for WINDOWS
DOWNLOAD FREE for MAC OSX
Выбор FLAC файлов которые вы хотите конвертировать в формат WAV.
На первом шаге, выберите FLAC файлы которые вы собираетесь перевести в WAV. Запустите FLAC в WAV Конвертер и используйте встроенный в программу проводник для того чтобы просмотреть содержимое папки из которой вы собираетесь выбрать файлы которые вы собираетесь конвертировать в WAV. Затем, выберите файл в списке файлов, и перетащите его на окно с надписью «Drag audio files and folders here» и отпустите над ним левую кнопку мышки. Опционально, FLAC в WAV Конвертер позволяет редактировать аудио теги любого выбранного файла в окне Drop Zone.
Как только вы выбрали файлы, следующий шаг — выбрать в окне FLAC2WAV Конвертера параметры вывода.
Настройка параметров вывода.
Второй шаг заключается в выборе параматров вывода. Сперва, укажите папку в которую будут сохраняться сконвертированные .wav файлы, и выберите вариант действия которое нужно выполнить если файл уже существует — создать новый файл, перезаписать или пропустить существующий файл.
Кроме того, укажите удалять ли FLAC в WAV Конвертеру исходный файл после преобразования и сохранять ли оригинальную структуру папок, во время пакетного конвертирования.
И, наконец, выберите формат в который нужно преобразовать исходный файл (FLAC в WAV) и его параметры.
После того параметры вывода указаны, можно перейти к финальному шагу — непосредственно конвертированию flac в wav.
Предварительная настройка
На главной панели плеера выберите File->Preferences
.
Из древовидного меню (слева) выберите Advanced->Tools->Converter
. В поле ввода
Additional command-line encoder paths
укажите полные пути к папкам с исполняемыми файлами (exe) кодеров через точку с запятой. Помните, что foobar2000 самостоятельно может добавлять пути в эту строку — при ручном выборе кодера (см. далее).
Примечания:
— если кодеры находятся в подпапке
foobar2000/encoders
, путь к этой папке можно не указывать — плеер сам ищет кодеры по данному адресу; — относительные пути к каждому кодеру, при надобности (например, для портативных версий), можно указывать непосредственно в профиле конвертера (см. дальше).
Конвертирование .flac файлов в wav.
Чтобы начать конвертировать flac в wav, нажмите кнопку Конвертировать. Появится окно отображающее прогресс процесса конвертирования flac в wav.
В процессе конвертирования flac в wav, вы можете изменить приоритет процесса, или указать действие котоое будет автоматически выполнено после окончания конвертирования FLAC в WAV. После окончания процесса конвертирования FLAC в WAV, вы сможете найти сконвертированные wav файлы, в указанной вами ранее папке для результатов конвертирования.
Системные требования FLAC to WAV Converter :
- Минимальные системные требования Microsoft Windows XP/Windows Vista/Windows 7/Windows 8/8.1(32-bit и 64-bit)
- 1.0 GHz или более производительный
- 512 MB ОЗУ
- 10 MB на жестком диске
- Microsoft Windows XP/Windows Vista/Windows 7/Windows 8/8.1 (32-bit и 64-bit)
Не секрет, что на сегодняшний день формат аудио, скажем, WAV уже считается днем, если не вчерашним, то позавчерашним, уж точно. Даже формат MP3, воспроизводимый всеми плеерами, тоже занимает много места на жестком диске. Поэтому, данный конвертер призван именно сократить размер занимаемых файлов и перекодировать их в другой, более доступный для понимания плеерами, аудиоформат. Дело в том, что с начала возникновения компьютерного звука, многие звуковые карты, не поддерживали те стандарты, которые предлагаются пользователю сейчас. Во-первых, существовали сотни разных производителей этих карт, во-вторых, качество звука у множества разных производителей оставляло желать лучшего. Поэтому, в мире сформировалось несколько стандартов звука, который принципиально может распознаваться программными плеерами. Кстати, здесь неважно какой формат на данный момент имеется ввиду. МР3 является универсальным аудиоформатом. Вторым стоит так называемый формат Vorbis OGG. А, на третьем месте, весьма серьезный формат сжатия, который именуется FLAC. Что делать, если у вас, к примеру, мобильный телефон, который формат FLAC или OGG не понимает? Перевести FLAC или OGG в MP3! И в этом, вам поможет, наша утилита, которая позволит вам справиться с этой проблемой, путем переконвертирования из одного аудио формата в другой. Наш flac to wav converter, обладает довольно приятным и интуитивно понятным интерфейсом. Любой пользователь, даже далекий от конвертирования звука, сможет совершенно легко и быстро разобраться со всеми ее возможностями. По большому счету, весь процесс конвертирования из flac в wav, совершается в три клика. Для начала, вам необходимо просто выбрать исходный файл, конечный формат и путь сохранения, то есть, куда будет сохранен результат работы. Среди поддерживаемых форматов хотелось бы отметить, что программа работает с такими форматами, как aac, ac3, aiff, ape, flac, m4a, m4b, m4r, mp3, ogg, tta, wav, wma. Точно так же, можно легко использовать данный конвертор для работы с мобильными устройствами с целью уменьшения занимаемого аудио файлами места. Конвертор, позволяет не только конвертировать аудиоформаты между собой, но и изменять их структуру, скажем, частоту дискретизации. Ведь совершенно ясно, что, чем ниже частота дискретизации, тем меньше места на диске будет занимать данный файл. Хотя, в принципе, если вы не знаток тонких настроек звука, программа предложит вам свои, стандартные настройки и уж, поверьте, они вас очень сильно порадуют! Высокая скорость конвертации аудио файлов Все наши продукты использовать алгоритмы, оптимизированные под использование нескольких процессоров для ускорения их работы. Flac в wav конвектор на русском, бесплатно поддерживает и использует широкий спектр технологий, таких как Dual Core, Core Duo, Hyper-Threading и другие. При этом, flac2wav конвертер, преобразовывает файлы, с достаточно высокой скоростью, позволяя при этом сохранять/переносить ID3 теги, и сохраняет структуру папок. Пользуясь нашей программой для конвертации из flac в wav, вы также можете легко открыть и сконвертировать файлы M3U, которые представляют собой обычный playlist для Winamp, или любого другого аудио плеера. При конвертации flac в wav мы используем только высококачественные алгоритмы обработки звука, поэтому аудио преобразования происходят практически без потерь в качестве. Результирующее качество зависит только от выбранного вами профиля.
Ключевые особенности программы:
— легкость и удобство в использовании;
— приятный и интуитивно-понятный интерфейс;
— конвертирование Free Lossless Audio Codec, ALAC, AIFF и других LossLess форматов;
— выполнение преобразования на высокой скорости;
— сохраняет структуру папок;
— интегрированный CD риппер поддерживает CDDB/FreeDB онлайн базы данных CD. Информация о треке обрабатывается автоматически;
— поддерживает пакетную обработку файлов;
— полная поддержка Unicode для тегов и имён файлов;
— оптимизирована производительность для работы на компьютерах с многоядерным процессором;
— многоязычный пользовательский интерфейс на 16 языках, в том числе на русском;
— поддерживает функцию извлечения аудио из CD диска — CD ripping;
— разнообразные установки кодировщика позволяют настроить скорость и качество кодирования, выбрать объем файла;
— применение пресетов — предустановок, что позволяет начинающему пользователю легко определиться с выбором правильных настроек при работе с программой;
— используются оптимизированные алгоритмы перекодирования и компрессии аудио;
— простая и легкая установка характеристик выходных файлов;
— в программе прудсмотрен встроенный плеер, с помощью которого можно прослушать треки, до конвертирования, что поможет заметить не совсем удачный выбор настроек;
— поддержка 16/24/32-битных аудиофайлов.
FLAC в WAV Конвертер онлайн!
Основы кодирования аудио с потерями. Тестирование бета-версии Opus 1.3
Всем привет, меня зовут Максим Логвинов и я студент Харьковского Национального университета радиоэлектроники. Меня всегда интересовали звук и музыка. Я сам любил писать электронную танцевальную музыку и мне всегда было интересно, как человеку, который недостаточно хорошо разбирается в высоких материях математики, узнать, что же происходит со звуком в компьютере: как он пишется, сжимается, какие для этого существуют технологии и так далее. Ведь со школьной скамьи и физики я понимал, что звук — он «аналоговый»: его мало того что нужно преобразовать в цифровой (для чего необходимы такие устройства как АЦП), но его нужно как-то сохранить. А ещё лучше, чтобы эта музыка занимала поменьше дискового пространства, чтобы можно было поместить в скупую папку побольше музыки. И чтобы звучала хорошо, без всяких слышимых артефактов сжатия. Музыкант ведь. Натренированное ухо, не лишённое музыкального слуха, достаточно сложно обмануть методами, которые используются для компрессии звука с потерями — по крайней мере, на достаточно низких битрейтах. Ишь, какой привередливый.
А давайте посмотрим, что из себя представляет звук, как он кодируется и какие инструменты используются для этого самого кодирования. Более того, поэкспериментируем с битрейтами одного из самых продвинутых на сегодняшний день кодеков — Opus и оценим, что и с какими циферками можно закодировать, чтобы и рыбку съесть, и… Собственно, просто почему бы и нет? Почему бы не попытаться описать простым языком не только то, как хранится и кодируется аудио компьютером, но и протестировать один из лучших кодеков на сегодняшний день? Особенно, если речь идёт о сверхнизких битрейтах, где практически все существующие кодеки начинают творить невероятные вещи со звуком в попытках уложиться в малый размер файла. Если хочется отвлечься от рутины и узнать, какие выводы были получены при тестировании нового кодека — добро пожаловать под кат.
Звук имеет физическую природу. Любой звук — это колебания в пространстве (в данном случае — в воздухе), которые улавливаются нашим ухом. Колебания имеют непрерывный характер, который можно описать математическими моделями. Делать же этого мы, конечно же, не будем, но поставим перед собой вопрос: как колебания, имеющие непрерывную природу, записать в машину, которая оперирует лишь нулями и единицами?
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 кГц. Какой тогда битрейт будет у такой записи?
- 44100 раз в секунду пишется 16-битное число. 44100 * 16 = 705600 бит/с для одного канала;
- для стерео-записи данное значение умножается на 2 — 1411200 бит/с или наши ~1411 кбит/с;
- для 32-разрядной записи это значение будет в два раза больше — ~2822 кбит/с.
Вывод: отсюда прожорливость данных файлов к свободному пространству на жёстком диске, но в качестве выигрыша — полное отсутствие потерь при записи и прослушивании аудио-файла.
1.2. Сжатие без потерь
О сжатии без потерь я не буду много писать. С этим термином можно ознакомиться здесь. Фактически, данный метод представляет собой, говоря грубо, архивацию аудиозаписи алгоритмами, заложенными в кодек, но данные при этом не теряются и сохраняется возможность восстановить аудио-запись с точностью бит-в-бит. При декодировании таких форматов мы получаем, фактически, тот же WAVE-формат, только он занимает меньше дискового пространства; сжатие — приблизительно двухкратное и зависит от характера кодируемой композиции. При прослушивании записи кодек производит «разархивирование» композиции и шлёт поток несжатых нулей и единиц на обработку звуковой карте.
Таких кодеков существует достаточно много: это FLAC (Free Lossless Audio Codec), разработанный организацией Xiph (она же и разработала Opus), ALAC (Apple Lossless) от одноимённой компании, APE (Monkey’s audio), (WavPack) и прочие, менее известные форматы сжатия аудио без потерь.
1.3. Сжатие с потерями — обманываем свой слух
Учёные умы начали задумываться о том, что, в принципе, часто нет смысла сохранять полную информацию об аудиозаписи, так как наше ухо несовершенно. Оно может не слышать тихих звуков после громких, оно может не слышать слишком высокие и слишком низкие частоты и так далее. Эти феномены называются эффектом маскировки.
В итоге поняли: можно ведь выбросить здесь
, подрезать
там
, а слушатель практически ничего не заметит — несовершенное ухо просто даст возможность слушателю обмануть себя. Следовательно, появляется возможность избавиться от психоакустической избыточности в файле.
Собственно, психоакустика существует как дисциплина и изучает психологические и физиологические особенности восприятия звуков человеком. Собственно, эти психоакустические модели и были заложены в основу работы программ сжатия с потерями и одним из первых таких форматов стал MPEG 1 Layer III или просто MP3. Здесь же оговорюсь, что маркетинг, оперирующий фактами практически без преувеличения, сделал своё дело: аудио-файл занимает в десять раз меньше места (с оговоркой: это при кодировании с битрейтом в 128 кбит/с, что позволяет получить «приемлемое для типичного слушателя качество» — вспоминаем 1411 кбит/с для WAVE), а, следовательно, на компакт-диск или на жёсткий диск поместится уже на порядок больше аудио-записей. Фурор! Популярность формата взорвала индустрию цифровой звукозаписи. В периоды не самых быстрых подключений к сети Интернет передавать подобные файлы стало как нельзя удобно. Удобно передавать, удобно хранить, удобно закинуть пачку композиций себе на плеер. Создано множество аппаратных декодеров формата MP3, в связи с чем файл проигрывался чуть ли не на холодильнике каждой железке.
На момент написания данной статьи уже истекли сроки патентных ограничений и лицензионные сборы прекращены.
Что же касается сжатия с потерями и каким образом получается сжать аудио-файл на порядок
без существенной потери для слушателя качества? Если вкратце, от одного кодека к другому нижеследующая последовательность мало отличается. Описание данного процесса упрощено до безобразия, но его течение приблизительно таково:
- входящий поток несжатых данных разбивается равные отрезки — на кадры (фреймы);
- для того, чтобы создать непрерывный участок спектра, для анализа, помимо уже выбранного кадра, берётся предыдущий и следующий кадр;
- сжатие №1: участок проходит через MDCT (модифицированное дискретное косинус-преобразование). Говоря грубо, это преобразование проводит спектральный анализ звукового сигнала — оно даёт возможность получить информацию о том, насколько велика энергия звука в каждом отрезке спектра. В случае с Layer III производится второе MDCT-преобразование, которые повышает эффективность кодирования высоких частот на более низких битрейтах — это оказалось серебряной пулей для взрыва популярности данного кодека. Спасибо пользователю interrupt за поправку: MPEG 1 Layer III использует гибридный подход для преобразования аудио-данных: сначала спектр кодируемого аудио-файла разделяется на множество спектральных полос, как это происходит в SBC (Sub-band coding, англ.); каждая из этих полос преобразуется MDCT к частотному виду, который, собственно, уже даёт конкретную информацию о том, какие частоты и с какой энергией, присутствуют в кадре.
- Результат анализа MDCT передаётся психоакустической модели, которая является чем-то вроде «виртуального уха». На данном этапе даются ответы на вопросы, что оставлять, а что можно выбросить из аудио-сигнала без существенного ущерба для восприятия.
- сжатие №2: кадр, который прошёл через такое преобразование, может быть сжат с использованием кодов Хаффмана; фактически, если опять говорить грубо, каждый кадр дополнительно архивируется, избавляясь от избыточности. Это похоже на что-то вроде упаковки длинных цепочек нулей и единиц в более короткий формат;
- кадры склеиваются; в каждый такой кадр добавляется необходимая информация для кодека:
- номер/размер кадра;
версия формата (MPEG1/2/2.5);
- версия слоя (Layer I/II/III);
- частота дискретизации;
- режим стерео-базы (моно, стерео, совмещённое стерео).
Следует отметить факт того, что формат MP3 не лишён существенных недостатков, при этом сам формат уже не позволяет должным образом расширять его возможности. Возьмём, к примеру, такое явление как pre-echo. Феномен данного артефакта сжатия кратко и достаточно неплохо описан здесь, но его суть заключается в искажении резко нарастающих относительно тишины звуков, например, инструмента Hi Hat. При кодировании такого инструмента в тишине, из-за особенностей работы MDCT, резкий переход будет создаваться с множеством колебаний. В исходной записи этих колебаний не существует, но при их наличии в результирующей записи они достаточно отчётливо улавливаются ухом. Современные кодеки, такие как AAC и OGG также не лишены этого недостатка, но стараются бороться с ними, применяя более точные и совершенные алгоритмы. А вот MusePack (о нём ниже), к примеру, данного недостатка лишён, так как не использует для повышения эффективности второе MDCT-преобразование использует SBC вкупе с очень качественной психоакустической моделью, чем и объясняется его качественное кодирование лишь начиная с битрейтов в 160 кбит/с. Редко, но метко: с таким битрейтом кодек кодирует аудио лучше, чем MP3 с аналогичным битрейтом.
Нельзя не отметить, что разработчики свободного кодека Lame всё же пытаются совершенствовать своё детище, улучшая психоакустические модели и алгоритмы кодирования с переменным битрейтом; релиз версии 3.100 представлен в декабре 2020 года.
Подробную информацию о том, как внутри устроен 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 кбит/с будет звучать, например, аналогично формату [email protected] кбит/с, если это поддерживается декодером; в противном случае такой файл будет проигрываться попросту без восстановления высоких частот и его битрейт будет соответствовать его качеству, аналогичному mp3.
— High-Efficiency Advanced Audio Coding Version 2 (HE-AACv2)
Данный профиль относительно молодой (описан в 2006 году), он создан для более эффективного кодирования аудио в условиях низкой пропускной способности. Вторая версия профиля является расширением, собственно, первого профиля, изменения заключаются в добавлении технологии (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, но спроектированные для низких задержек);
— AAC Main Profile
Данный профиль был представлен как 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.1 — Логотип Opus
21 декабря 2020 года организация Xiph представила бета-версию аудиокодека Opus версии 1.3. Я не буду вдаваться в высокие материи при описании данного кодека, так как подобная информация находится в свободном доступе (например, здесь, здесь, а для знающих английский — здесь и здесь.)). Информацию о релизе этой бета-версии можно найти здесь. Здесь я отмечу, что данный кодек является замечательным кандидатом на замену остальных кодеков. У него немало достоинств:
- битрейт от 6 до 510 Kbit/s;
- частота дискретизации от 8 до 48KHz;
- поддержка постоянного (CBR) и переменного (VBR) битрейтов;
- поддержка узкополосного и широкополосного звука;
- поддержка голоса и музыки;
- поддержка стерео и моно;
- поддержка переменного битрейта (VBR);
- возможность восстановления звукового потока в случае потери кадров (PLC);
- поддержка до 255 каналов;
- доступность реализаций с использованием арифметики с плавающей и фиксированной запятой.
Кодек распространяется под лицензией BSD и полностью избавлен от всех патентных преследований, а также утверждён в качестве интернет-стандарта. Opus можно использовать в любых своих проектах, включая коммерческие, без необходимости открытия исходных текстов. На данный момент кодек используется в мессенджере Telegram для реализации VoIP, в проекте WebRTC, для кодирования аудио-дорожки в видео YouTube и т.д. Перспективы данного кодека не стоит недооценивать.
Может возникнуть резонный вопрос: что такого особенного в вышеописанных тезисах? Всё это есть практически в любом более-менее современном кодеке. Ответы последуют далее в статье.
Одна из ключевых особенностей данного кодека — чрезвычайно низкие задержки кодирования: от 2.5 мс. (!) до 60 мс, что просто необходимо, как воздух, приложениям, позволяющим пользователям общаться голосом в сети Интернет. Такие низкие задержки также позволяют строить интерактивные приложения, например, цифровую звуковую студию для совместного написания музыки или что-то в этом роде. Стоит отметить, что по этому параметру кодек конкурирует с относительно новым профилем AAC-ELD, описанному выше; тем не менее, минимальная задержка алгоритмов кодирования составляет прибл. 20 мс., что ни чуть не является проблемой для свободного, открытого и бесплатного кодека Opus.
Я не буду рассматривать все тонкости, связанные с кодированием аудио этим кодеком, но ниже опишу режимы, которые меняются кодеком в зависимости от смены битрейта.
2.1. Opus: режимы кодирования
Рис. 2.2 — Сравнение качества кодирования различными кодеками — официальный график с сайта opus-codec.org
После выхода данной бета-версии мне стало интересно, как меняются режимы кодирования в зависимости от битрейта, поэтому я и решил провести эксперименты, начиная с самых низких битрейтов, но только с ними. Проводить эксперименты с более высокими битрейтами я не вижу смысла — это отлично описано в статьях (например, здесь).
Сейчас же перечислим те режимы, которыми оперирует кодек:
- Режим кодирования сигнала — LP, hybrid, MDCT:
- LPC или LP (кодирование с линейным предсказанием, статья на английском) используется в кодеках сжатия голоса и позволяет кодировать голос с достаточным для восприятия качеством, используя при этом очень низкие битрейты. Используется в кодеках GSM, AMR, SILK (также используемый в Skype), Speex (и снова привет Xiph; правда, она объявила кодек как «deprecated» и рекомендует использовать Opus). В кодеке Opus для кодирования голоса на низких битрейтах используется модифицированный кодек SILK, который не является обратно совместимым с таковым в Skype;
- MDCT (модифицированное дискретное косинус-преобразование) — разновидность преобразования Фурье (о нём можно почитать здесь), используется практически во всех кодеках для сжатия музыки с потерями (lossy compression): MP3, AAC, OGG Vorbis и т.д. В кодеке Opus используется кодек CELT (статья на английском);
- Hybrid mode (гибридный режим кодирования) является разработкой организации Xiph и заключается в том, что для кодирования нижней части спектра сигнала (до 8 кГц) используется LP, а для верхнего (от 8 кГц и выше) — MDCT, а на выходе получаем компромиссное качество звука при сохранении достаточно низкого битрейта.
- Стерео-база:
- кодирование в режиме моно;
- кодирование в режиме стерео;
- кодирование в режиме совмещённого стерео (Joint Stereo).
- Исходя из вышеперечисленного — изменение ширины спектра в зависимости от битрейта:
- Narrowband (узкополосное кодирование) — кодирование сигнала с шириной спектра до 6 кГц, соответствует качеству кодирования кодеками GSM и AMR-NB;
- Wideband (широкополосное кодирование) — кодирование сигнала с шириной полосы от 6 кГц до 14 кГц, соответствует качеству кодирования кодеком AMR-WB (или так называемый операторами «HD Voice»), который используется ныне в сетях третьего поколения ();
- Fullband (полное кодирование полосы) — сохранение всей слышимой человеческим ухом полосы (от 20 Гц до 20 кГц), моно-сигнал;
- Fullband stereo — см. выше, но стерео-сигнал.
2.2. Низкие битрейты — высокие частоты. Как достигнуты такие результаты?
В начале данной статьи я не зря рассматривал кодек AAC и его навороченные профили, которые, фактически, строят стерео-базу и восстановление высоких частот, что называется, «из воздуха». Утрирую, конечно, но выражение недалеко от истины. Но вот беда: кодек покрыт патентами и является проприетарной разработкой альянса из компаний Bell Labs, Института интегральных схем общества Фраунгофера (который, кстати, и является ключевым создателем формата MP3), Dolby Laboratories и т.д. Следовательно, использование данных технологий потребует лицензионных отчислений, что недопустимо для полностью открытого и свободного кодека. Поэтому разработчики Opus пошли иным путём: они реализовали собственные алгоритмы воспроизведения высоких частот — Band Folding (Spectral Folding, Hybrid Folding). Об этом подходе кодирования высоких частот можно ознакомиться, соответственно, здесь (там даже интерактивные картинки есть), здесь (см. 4.4.1) и здесь. Кодек не синтезирует высокие частоты из дополнительных данных, как это делает HE-AACv2, он берёт за основу сам сигнал, исходя из энергии в области высоких частот, закодированной в оригинальном сигнале. Слепое тестирование со стороны энтузиастов показывает, что данный метод очень эффективен, не говоря уже о том, что подобный метод такого воспроизведения высоких частот, по заверениям разработчиков, более прост в исполнении, нежели SBR или его аналог и реализуем с меньшими алгоритмическими задержками.
К слову: результаты слепого тестирования можно посмотреть на графиках по следующей ссылке.
Давайте же испытаем это последнее слово в области сжатии звука с потерями.
2.3. Opus: инструменты для кодирования и тестирования
Данное тестирование проводилось на коротком отрывке из аудиокниги Вадима Зеланда — Трансерфинг реальности. Книга была озвучена российским актёром и радиоведущим Михаилом Черняком, который обладает приятным тембром голоса.
Как был получен отрывок?
- Утилитой «youtube-dl» был скачан фрагмент файла формата WebM — контейнер, в котором присутствует только аудио-дорожка: youtube-dl «https://www.youtube.com/watch?v=_-OUXW3a0Yw» -f 250
- Фрагмент был перекодирован в формат WAV для скармливания его кодеку opusenc
(исходный файл был переименован для удобства): ffmpeg -i tr1_original.webm -acodec pcm_s16le tr1.wav - Чтобы не заморачиваться с кодированием множества файлов с разными битрейтами, я воспользовался простой однострочной программой на языке Bash и получил на выходе множество необходимых мне файлов: for i in `seq 8 21`; do opusenc —bitrate $i tr1.wav tr-enc-${i}.opus ; done
- все эти файлы были импортированы в Audacity и в проигрыватель Qmmp, чтобы оценивать качество звучания на слух и визуально оценивать соответствующую дорожку.
Рис. 2.3 — Результат выполнения скрипта — скриншот программы Dolphin
Дальше пойдёт описание практически каждой из них — с приложением скриншотов и субъективного описания звучания, после чего последуют небольшие выводы.
По-хорошему, оценка звучания должна быть объективной и проводиться, к примеру, с использованием метода слепого ABX-тестирования (статья на английском). Тестирование проводится для того, чтобы исключить эффект пустышки (плацебо).
Если вкратце, суть метода заключается в прослушивании при помощи вспомогательного ПО (Foobar или аналогичное веб-приложение, см. прим. на рис. 3.1) двух семплов: референсного и сжатого — кнопки А и В соответственно. Слушатель заранее не знает, какой из них является сжатым, а какой — референсным.
Рис. 3.1 — Пример внешнего вида одной из программ слепого ABX-тестирования
Далее слушатель прослушивает аудиозапись, подставленную программой под кнопку Х и пытается определить: к какому из двух семплов (А или В) относится семпл на кнопке Х. После выбора ответа слушателем цикл повторяется определённое количество раз, после чего программой выводится результат, где показано, с какой вероятностью слушатель нажимал кнопки случайно.
Стоит оговориться, что существуют люди, которые не воспринимают эффекты психоакустической компрессии и, фактически, не могут отличить, например, запись [email protected] кбит/с от 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 кГц, можно увидеть в обоих случаях.
Это как раз тот случай, когда качество здесь сопоставимо с таковым у [email protected] кбит/с, если не выше. Опять-таки, не имею права ставить свои суждения истиной в последней инстанции, так как не проводил слепое ABX-тестирование.
5. Начиная с битрейта в 18 кбит/с (opus-enc-18.opus), последнего становится достаточно для того, чтобы переключиться в режим Fullband Stereo, а это означает, что на данном битрейте можно получить «приемлемое» качество записи в условиях очень малой пропускной способности сети. Нет, это не фиаско, братан, это победа!
Далее всё достаточно просто: пропорционально, с увеличением битрейта, кодек всё реже использует Band Folding, так как, собственно, битрейт становится достаточным для того, чтобы закодировать более высокие частоты без надобности в их искусственном восстановлении. Чем выше битрейт — тем более широкий спектр будет закодирован без применения Band Folding.
Что же касается меня, то тот «порог прозрачности» (или «Transparency», как это называют носители английского языка), который выражается в моей неспособности отличить оригинал от сжатого аналога — прибл. 170 кбит/с. Для mp3 этот параметр лежит в пределах 224-256 кбит/с, в зависимости от характера музыки.
Что же тут сказать. Технологии стремительно развиваются. И не только технологии сжатия аудио-данных — все технологии, не побоюсь обобщить. Особенно приятно, что такие качественные технологии, которые позволяют так качественно обмануть человеческое ухо и позволяющие быть настолько универсальными, также развиваются и остаются свободными и открытыми. Спасибо разработчикам и тем потрясающим людям, которые творят и двигают прогресс. А также спасибо всем за внимание и всем, кто осилил статью до конца.
P.S.: В статью будут вноситься правки при обнаружении существенных неточностей; будут исправляться синтаксические и семантические ошибки.
P.P.S.: Ссылка на мою собственную статью, написанную с использованием сервиса telegra.ph. Она нигде не публиковалась, является моей авторской работой (автора можно проверить) и является более старой версией текущей статьи.
Что такое FLAC и WAV?
Формат FLAC: (Free Lossless Audio Codec) это формат кодирования аудио данных для сжатия цифровых аудио данных без потерь, а так же название соответствующей реализации аудио кодека. Цифровые аудио данные сжатые по алгоритму FLAC, обычно составляют около 50–60% исходного размера, и будучи разжатыми, являются полным аналогом исходных аудио данных.
Формат WAV: формат файла-контейнера для хранения записи оцифрованного аудиопотока, подвид RIFF. Этот контейнер, как правило, используется для хранения несжатого звука в импульсно-кодовой модуляции. Однако контейнер не налагает каких-либо ограничений на используемый алгоритм кодирования.
Что там внутри
Почти полное соответствие с фото продавца, за исключением порта USB, который перенесён на правый борт рядом с карт-ридером. Монтажные платы аккуратные, все перечисленные чипы на месте. Насчёт оригинальности компонентов ничего не могу сказать, конденсаторов Nikon, Wima, SILMIC не рассмотрел(( Но, разъёмы RCA явно припаяны не руками эльфийских девственниц.