Ликбез по GNU/Linux

FLAC - тёплая цифровая музыка

Раньше музыка в формате MP3 - это было круто, прогрессивно и всё такое. Но времена меняются. Пора бы уже переосмыслить некоторые вещи в отношении мультимедиа. В этой статье познакомимся с форматом сжатия звука без потерь FLAC, а также рассмотрим основные приёмы работы с этим форматом в Linux.


Кладбище музыки

Формат аудио MP3 - это зло. Пусть в некоторых случаях и необходимое, но всё-таки зло.

И дело, конечно, не в том, что этот формат очень полюбили "пираты" и он принёс достаточно головной боли правообладателям. Медиа-корпорации не жалко - жалко меломанские уши, которые MP3 своими не самыми лучшими алгоритмами компрессии с потерей качества испортил настолько, что, кроме "тыц-тыц-тырырыц", народ уже ничего лучшего не слушает.

Соответственно, и музыканты ничего, кроме "тыц-тыц-тырырыц", давно не сочиняют. Всё равно MP3 всё живое в музыке поубивает. Современные компьютеры - это практически музыкальные кладбища, где почти у каждого пользователя гигабайтами лежит мёртвое MP3.

Однако в Сети всё чаще и чаще появляются музыкальные файлы с расширениями flac, ape. Это аудиофайлы с компрессией без потери качества (lossless). И с течением времени такой музыки будет становиться больше.

Я вот выбросил практически все свои архивы с MP3 и совершенно не жалею об этом. Тем более недавно открыл для себя натуральное пение канареек, на фоне которого отчётливо осознал, в каком глухом творческом тупике сейчас находится вся музыкальная индустрия. Живой, натуральный, природный звук требует других аудиоформатов.


Музыка без потерь

Формат MP3 был хорош в те времена, когда музыка игралась встроенным в компьютер спикером, а скорость в Интернете измерялась килобайтами в час. А сейчас довольно странно видеть ситуацию, когда люди торрентами качают образы видео Blu-ray по 40 гигабайт, но при этом экономят на музыке, продолжая качать её в MP3.

Теперь можно не экономить. Размеры жёстких дисков, скорость доступа в Интернет и наличие качественной аудиоаппаратуры дают многим возможность создавать и слушать музыку в форматах без потери оригинального качества AudioCD.

При этом нужно сразу же сказать, что не стоит бросаться в крайности и игнорировать форматы сжатия аудио с потерями - MP3, Ogg Vorbis. На самом деле сравнивать форматы с потерями и без потерь не нужно - у них разные профили применения. Это как сравнивать форматы изображений JPG и PNG.

Аудиоформаты с потерями будут актуальны для широкого спектра задач - записи телефонных разговоров, звуковая информация, сетевое радио, веб-подкасты и т.д. Но что касается частных музыкальных коллекций и обмена записями, то сейчас лучше использовать специализированные аудиоформаты lossless, например, FLAC, Monkey's Audio, True Audio и др.

Сжатие без потерь предполагает такую компрессию информации, при использовании которой закодированная информация может быть восстановлена с точностью до бита. Поэтому сейчас сжатие без потерь, в основном, используют для создания образов музыкальных AudioCD. Конвертировать же файлы MP3 в аудиоформаты lossless бесполезно - потери уже не вернёшь.


Что такое FLAC

Наиболее доступным форматом сжатия звука без потерь является FLAC (Free Lossless Audio Codec). Это свободный, открытый формат. Его алгоритмы не защищены патентами. Он разрабатывается компанией Xiph.Org.

Проект FLAC включает в себя не только сам формат, но и базовые кодеры и декодеры в виде библиотек, утилиты командной строки, выполняющих сжатие и распаковку файлов, редактирование метаданных в файлах flac. Открытость формата делает возможным большое количество других реализаций кодеков.

Для пользователей GNU/Linux формат FLAC наиболее оптимальный, так как является на данный момент самым распространённым. Он имеется практически в любом дистрибутиве и играет, как говорится, "из коробки" практически в любом современном аудиоплеере.

Звуковой файл flac состоит из заголовочного четырёхбайтового идентификатора "FLAC", блока метаданных с информацией об аудиопотоке, а затем идут сами сжатые аудиоданные. В файл могут быть добавлены теги ID3v1 и ID3v2, хотя сами по себе эти теги не входят в формат FLAC.

Следует подчеркнуть, что форматы сжатия без потери качества позволяют сколько угодно раз компрессировать или перекодировать файл одного формата в другой. Это не MP3, где каждая последующая компрессия или конвертация приводит к ещё большим искажениям.

Реальным конкурентом FLAC является формат Monkey's Audio. Файлы Monkey's Audio используют расширения ape. Распространён APE, в основном, среди пользователей Windows, так как разрабатывался именно под эту платформу. Несмотря на открытый исходный код, Monkey's Audio не является свободным.


Практика

Для кодирования и декодирования аудиофайлов FLAC существует множество реализаций. Параметры FLAC-кодеров по умолчанию обычно рассчитаны на CD-аудио: т.е. 44.1кГц, 2 канала и 16 бит на сэмпл. По умолчанию кодеры кодируют со средней компрессией, что является практически оптимальным решением.

Например, имеющийся у меня AudioCD с песнопениями птиц ужался со средней компрессией за 4 минуты в 355 мегабайт на "селерончике" 1,6 ГГц. А с максимальной компрессией 8 диск ужался в 352 мегабайта за 6 минут. Так что за большими величинами компрессии особо гоняться не стоит.

В среднем, компрессия аудиодиска составляет около 50%.

Самым комфортным я бы назвал декодирование AudioCD в файловом менеджере Dolphin из рабочего окружения KDE 4. Нужно просто открыть в этом файловом менеджере аудиодиск, и в открывшемся окне появятся папки FLAC, Ogg Vorbis, где уже будут линки на все треки аудиодиска. Чтобы конвертировать треки CD в формат FLAC, достаточно просто скопировать папку FLAC в нужное место на жёстком диске.

Второй лёгкий способ декодирования аудиодисков в формат FLAC - это использование популярной программы для записи CD и DVD K3b.

В K3b в меню "Инструменты" (Tools) имеется мастер "Считать аудиодиск", где можно выбрать для конвертации отдельные треки. При нажатии кнопки "Начать считывание" появится окно, где нужно выбрать формат рипа, в числе которых есть и FLAC. Здесь же нужно задать способ рипа - одним файлом или же в виде сборки файлов.

Если выбрать компрессию одним файлом, то K3b дополнительно создаст текстовый файл cue, в котором содержатся метаданные о треках внутри единичного файла FLAC. Файлы cue используют при прожиге диска или при прослушивании записей, в которых все треки записаны в один файл. Обычно архив из единичного FLAC и файла cue используют при обмене музыкой в Сети.

Существует официальная утилита командной строки для кодирования-декодирования файлов FLAC, которая носит одноимённое название. Работает утилита flac с файлами только в формате WAVE. Синтаксис команд простой:

$ flac имя_файла - кодирование

$ flac -d имя_файла - декодирование

И последний практический вопрос - это перекодирование между различными форматами компрессии без потерь. Как указывалось выше, такое перекодирование является совершенно безболезненным для аудио, в отличие от перекодирования форматов с потерей качества.

Для перекодирования используется утилита shntool, которая является интерфейсом к наиболее популярным кодекам lossless - APE, FLAC, WV.

Пример конвертации файлов APE в формат FLAC:

$ shntool conv -o flac имя_файла.ape

Вот и все базовые сведения для начала использования аудиоформата flac.

Михаил АСТАПЧИК

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

Номер: 

05 за 2010 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Аватар пользователя Gregor Zoch
Насчёт MP3 полностью согласен - задрало это "тыц-тыц-тырырыц", CD послушать гораздо приятнее. Но об формате FLAC слышу впервые (может потому, что Windows-пользователь?). Весьма заинтересован. А нельзя ли сделать статью о "несжатых форматах" и программах для их обработки в среде Windows? Может, после этого MP3 как формат для прослушивания музыки отойдёт на второй план?