Audio cd to flac linux

Руководство по работе с аудио файлами в командной строке

Целью данного руководства является описание приемов обработки и конвертирования различных аудио файлов с использованием утилит, включенных в репозитории Ubuntu. Оно поможет конвертировать FLAC в WAV и наоборот, конвертировать FLAC, WAV, APE, AC3, WMA, SHN в Ogg Vorbis, редактировать теги, и делать еще много полезных вещей. Необходимо отметить, что данное руководство не описывает процесс записи или редактирования звука (например с помощью Audacity или любого другого звукового редактора). Кроме того, все методы, описанные здесь, используют утилиты командной строки.
Примечание: Приемы, описанные в данном руководстве, точно работают в Debian и Ubuntu. Вероятнее всего точно так же все будет работать и в других дистрибутивах, за исключением команд, относящихся к использованию пакетного менеджера (например apt-get). Команды, перед которыми стоит sudo, в Debian должны выполняться от имени суперпользователя (наберите su, введите пароль рута, а затем вводите соответствующую программу без sudo).

Свободные форматы

В данном руководстве основное внимание уделяется обработке и конвертированию файлов в свободные форматы, под которыми в данном случае подразумеваются FLAC (Free Lossless Audio Codec) и Ogg Vorbis (свободный формат сжатия с потерями), однако уделено внимание и MP3 .
Я настоятельно рекомендую использовать свободные форматы. Прежде всего, в этом случае не будет проблем с их поддержкой в Linux, так как все дистрибутивы имеют установленные по умолчанию плейеры, поддерживающие эти форматы. Не нужно устанавливать дополнительные кодеки. У такого подхода есть и недостаток — большинство портативных плейеров поддерживает MP3, но не поддерживает Ogg Vorbis. Хотя при желании можно найти плейер с поддержкой Ogg Vorbis, или альтернативную прошивку, например Rockbox , с поддержкой свободных форматов.

Форматы сжатия с потерями и без потерь качества звука

Форматы сжатия без потерь полностью сохраняют качество исходного звука, однако получаемые при этом файлы имеют большой размер. Примерами таких форматов являются FLAC и WAV. С другой стороны, форматы сжатия с потерями, такие как Ogg Vorbis и MP3, позволяют получить значительно меньший размер файлов, однако часть аудиоданных при этом безвозвратно теряется. Однако при битрейте 128 кб/с и выше разница между форматами на слух практически не ощутима. Форматы сжатия с потерями как правило используются, чтобы разместить большие коллекции музыки на портативных устройствах, а форматы сжатия без потерь — если важно сохранить оригинальное качество звука.

Необходимые инструменты

В этом разделе мы опишем все инструменты, необходимые для выполнения операций, описанных в данном руководстве. Обратите внимание, что многие из них необходимы только для производства какой-либо одной операции, поэтому возможно все они вам не понадобятся. Ниже приведен список всех необходимых программ с кратким описанием:
vorbis-tools — этот пакет включает инструменты для работы с Ogg Vorbis: oggenc (энкодер), ogg123 (плейер командной строки для Ogg Vorbis и FLAC), ogginfo (показывает информацию о файлах Ogg), oggdec (декодер), vcut (утилита для разрезания файлов Ogg), vorbiscomment (редактор комментариев для Ogg).
flac — этот пакет включает инструменты для работы с FLAC: flac (энкодер/декодер) и metaflac (для работы с метаданными FLAC).
cuetools — инструменты, используемые для работы с файлами CUE; нам здесь нужна только утилита cuebreakpoints.
shntool — это утилита для обработки файлов WAV.
cdparanoia — используется для копирования аудио компакт-дисков.
abcde — используется также для копирования аудио компакт-дисков.
mplayer — используется для конвертирования AC3 в WAV.
id32v2 — предназначен для редактирования тегов ID3v2.
lame — свободный кодировщик MP3.
monkeys-audio — пакет, включающий декодер mac для формата APE.
dir2ogg — используется для конвертирования WMA в Ogg.

Конвертирование FLAC в WAV и наоборот

Для начала необходимо установить пакет flac:

Для конвертирования файла FLAC в WAV служит команда вида:

Читайте также:  Загрузчик clover для huanan lga2011 xeon e5 2680 v2 mac os catalina

Ключ -d указывает на то, что входной файл декодируется. Пример:

Простейшая команда для конвертирования WAV во FLAC:

При этом будет создан файл input_file.flac. Можно задать и другое имя, например:

Также можно задать степень сжатия (от 1 до 8, по умолчанию — 5). Чем выше степень сжатия, тем меньше размер полученного файла:

При выполнении этой команды будет создан файл output_file.flac с наивысшей степенью сжатия.

Конвертирование FLAC или WAV в Ogg Vorbis

Ogg Vorbis — это свободный от патентов формат сжатия аудиоданных с потерями, который очень хорошо поддерживается всеми основными дистрибутивами Linux. Он используется во многих приложениях и играх с открытым исходным кодом. В приведенном ниже примере я покажу, как конвертировать FLAC в Ogg Vorbis (эта команда применяется и для конвертирования WAV) с использованием наиболее широко применяемых опций. Для этого используется утилита oggenc, которая является официальным энкодером Ogg:

При этом будет создан файл input_file.ogg с качеством по умолчанию (3). Качество сжатия может задаваться в диапазоне от -1 (

500 кб/с). По умолчанию уровень качества равен 3, что примерно соответствует 112 кб/с. Допускаются дробные уровни качества. Также можно задать имя конечного файла. Например, нижеследующая команда выполняет конвертирование файла FLAC в Ogg Vorbis с уровнем качества 6 (

192 кб/с). Вывод производится в файл output_file.ogg:

Вместо уровня качества можно задать битрейт:

Редактирование тегов Ogg Vorbis

Для работы с тегами необходимо установить только пакет vorbis-tools, в состав которого входит утилита vorbiscomment, используемая для редактирования тегов:

vorbiscomment — это утилита, позволяющая редактировать или удалять теги Ogg Vorbis, в число которых входят название песни, автор, альбом, год, трек и так далее. Допускаются также произвольные поля.
В качестве примера добавим к песне новый тег, называемый «TITLE», и добавим значение этого тега «Wasted Years»:

В приведенной выше команде мы используем ключ -t (или —tag), чтобы добавить тег TITLE со значением Wasted Years, и записать его (-w) в файл input_file.ogg. Просмотреть результат можно с помощью команды:

Ключ -l используется для вывода списка тегов в файле Vorbis. Обратите внимание, что ключ -w перезаписывает файл, поэтому все имевшиеся до этого теги будут стерты. Чтобы добавить тег к уже существующим используется ключ -a вместо -w.
В качестве альтернативы можно считывать теги из текстового файла. Например:

Файл file.txt должен содержать теги, по одному в строке, например:
ARTIST=Iron Maiden
TITLE=Wasted Years
ALBUM=Somewhere in Time
YEAR=1986
TRACKNUMBER=2

Самый простой способ очистить все теги — это создать пустой файл и с помощью vorbiscomment скопировать его содержимое в файл Ogg Vorbis:

Ниже приведен короткий скрипт, удаляющий все теги из всех файлов Vorbis в дирекории:

Еще один скрипт автоматически заполняет тег TRACKNUMBER для каждго файла Ogg Vorbis в директории:

На этот раз мы использовали ключ -a для добавления тега к уже существующим. Если бы мы использовали -w, файлы были бы перезаписаны и существующие теги были бы затерты.

Конвертирование FLAC или WAV в MP3

Для конвертирования FLAC или WAV в MP3 мы будем использовать lame ( http://lame.sourceforge.net/ ), бесплатный кодировщик MP3. Чтобы установить его в Ubuntu, введите в терминале:

Для установки в Debian добавьте репозиторий Debian Multimedia в файл /etc/apt/sources.list (следуя инструкциям, приведенным на сайте) и выполните следующие команды от имени суперпользователя:

Если наши файлы в формате FLAC, сначала необходимо конвертировать их в WAV (например, flac -d input_file.flac -o output_file.wav). Далее, конвертируем в MP3 с помощью LAME:

В результате получим файл MP3 с именем input_file.wav.mp3, закодированный с битрейтом 128 кб/с. Можно задать имя файла:

Для получения нужного битрейта используется ключ -b:

К сожалению lame не поддерживает шаблоны, поэтому конвертирование с использованием команд вида lame 7*.wav работать не будет, необходимо использовать что-то вроде:

Еще раз хочу подчеркнуть, не используйте шаблоны с lame. Например, если у вас в директории есть два файла WAV с именами file1.wav и file2.wav и вы выполните команду lame *.wav, она будет выполнена как lame file1.wav file2.wav, поэтому lame интерпретирует file2.wav как имя конечного файла. В результате в файл file2.wav будет записан результат конвертации файла file1.wav.

Копирование Audio CD

Инструментом для копирования Audio CD является cdparanoia ( http://www.xiph.org/paranoia/ ). Для ее установки введите команду:

Также нам потребуется id3v2 для просмотра и редактирования тегов ID3v2 (он используется утилитой abcde):

Читайте также:  Несуществующий токен windows 10

Простейшая команда для копирования диска:

Ключ -B указывает, что вывод программы должен быть разделен на отдельные файлы WAV. Этим файлам присваиваются имена вида trackN.cdda.wav, где вместо N подставляется номер трека (например, track01.cdda.wav).
Можно указывать дополнительные параметры, например, чтобы скопировать отдельный трек:

Следующая команда позволяет скопировать треки с 4-го по 9-й:

Также можно при этом вырезать кусок трека в пределах заданного интервала времени:

Будет скопирован трек 5 с момента времени 20 секунд с начала трека по момент времени 5 минут 30 секунд с начала трека.
По умолчанию копия сохраняется в файлах WAV, поэтому при желании их можно конвертировать во FLAC, Ogg Vorbis или MP3.

abcde (A Better CD Encoder) — это фронтенд к cdpranoia и нескольким другим утилитам, который позволяет копировать CD, конвертировать файлы и присваивать им теги. Например:

При этом будут скопированы треки Audio CD с устройства /dev/cdrom и конвертированы в формат MP3.

Разрезание FLAC, WAV, или APE с использованием файлов CUE

Для этого нам необходимы три пакета: cuetools, который включает утилиту cuebreakpoints для чтения файлов CUE, shntool для обработки WAV, а также monkeys-audio — пакет, содержащий утилиту mac для создания файлов Monkey’s Audio. Чтобы установить вышеперечисленные пакеты, введите в терминале:

В файле CUE хранится информация о времени начала и конца каждого трека, которую можно использовать для разрезания больших файлов (содержащих, например, целый альбом в одном файле). Для этого используется следующая команда (я привел пример с файлом .flac, однако так же обрабатывается WAV):

Вы также можете редактировать CUE с помощью текстового редактора, например, чтобы записать два или более треков в один файл.
Для работы с файлом APE необходимо сначала конвертировать его в WAV:

Если в директории несколько файлов, для их пакетной конвертации необходимо использовать команду:

Далее разрезаем полученный WAV, как уже было описано выше:

Конвертирование WMA в Ogg Vorbis

Здесь нам понадобится утилита dir2ogg, которая представляет собой скрипт на Python, позволяющий конвертировать форматы MP3, M4A и WAV в Ogg Vorbis. Установим ее:

dir2ogg очень проста в использовании:

Или, если в директории несколько файлов WMA:

Конвертирование APE в Ogg Vorbis или MP3

Нам понадобятся vorbis-tools (для кодирования Ogg Vorbis), lame (для кодирования MP3) и monkeys-audio (для APE):

В Debian добавьте репозиторий Debian Multimedia для установки lame.
Чтобы конвертировать APE в Ogg Vorbis, сначала преобразуем его в WAV с помощью утилиты mac:

Если в директории находятся несколько файлов, которые вы хотите конвертировать, используйте следующую команду:

А теперь конвертируем WAV в Vorbis:

Конвертирование AC3 в WAV с помощью MPlayer

Команда для конвертирования имеет вид:

При этом файл input_file.ac3 будет конвертирован в output_file.wav с использованием PCM audio.

Аудиоплейеры

Для Linux имеется множество аудиоплейеров, как с графическим интерфейсом, так и консольных.
Среди графических можно упомянуть:

Amarok — очень мощный и популярный плейер для KDE
Rhythmbox — плейер по умолчанию в GNOME
Banshee — мощный плейер на базе GTK
Clementine — порт классического Amarok 1.4 на KDE4
Jajuk — полнофункциональный плейер, написанный на Java
Qmmp — плейер с интерфейсом в стиле XMMS для KDE
Audacious — плейер с интерфейсом в стиле XMMS для GNOME

CMus — мощный плейер на базе ncurses
moc — еще один плейер с интерфейсом на базе ncurses
mp3blaster — полнофункциональный консольный плейер
ogg123 — плейер командной строки для Ogg Vorbis и FLAC
mpg123 — плейер командной строки для MP3 и различных других форматов
mplayer — очень мощный аудио и видео плейер

В заключение можно отметить еще клиент-серверные плейеры, такие как MPD или XMMS2 , а также клиенты для них, например Sonata или GMPC .

Источник

Создание качественных рипов Audio-CD

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

Начнём с того, что EAC — не панацея. Его можно запустить под Wine, но смысла в этом не сильно много. В Linux есть отличное родное средство для снятия рипов — cdparanoia. Многочисленные тесты многочисленных аудиофилов так и не смогли ответить на вопрос, что более качественно снимает рипы: EAC или cdparanoia. Поэтому совершенно спокойно можно считать, что cdparanoia и EAC обеспечивают абсолютно одинаковое качество и поэтому под Linux использовать родную утилиту, т.е. паранойю.

Читайте также:  Продвинутый пользователь windows это

Кроме того, стоит также заметить, что практически все программы снятия рипов в Linux на самом деле являются просто обёрткой над cdparanoia. Поэтому я лично предпочитаю использовать эту утилиту напрямую, благо консоль у меня не вызывает негативных эмоций.

Использование cdparanoia

Для начала обязательно убедитесь, что у вас в системе стоит самая последняя версия cdparanoia. Если что, скачать её бинарник можно с официального сайта http://xiph.org/paranoia/. Да, паранойя давно не обновлялась. С другой стороны я ни разу и не видел упоминания каких-либо проблем в работе последней стабильной версии.

Теперь вам необходимо узнать смещение чтения для вашего привода (оффсет), без правильного его указания говорить о каком-то качестве рипа просто бессмысленно. Для этого во-первых нужно определить модель дисковода. Сделать это можно командой

Теперь идём на accuraterip.com и смотрим смещение. В моём случае оно равно +6.

Ну и наконец снимаем рип командой (не забудьте изменить оффсет!)

Возможны и другие опции, за подробностями обращайтесь в man, который есть и на официальном сайте.

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

Если суммы не совпадают — значит файлы различаются, в этом случае обычно проще всего выбрать тот файл, который совпадает максимальное количество раз.

Итак, будем считать, что точный рип аудиоданных получен.

Получение разметки диска и CDTEXT

Теперь надо снять всю информацию о разметке дорожек и о композициях и авторе. Сохранять её будем в стандартный cue файл. Вам потребуется два пакета — cuetools и cdrdao. Теперь сначала снимите все метаданные с диска командой

А потом сконвертируйте полученный файл в cue командой

Всё что осталось — это вручную исправить cue, приведя его к желаемому виду.

Разрезание образа на треки и кодирование

Почему-то есть совершенно дурацкая тенденция хранить аудиодиски в виде единого образа с приложенным cue. Откуда она пошла — мне неизвестно, но против неё есть два весомейших аргумента:

  1. cue — это файл физической разметки и метаданных. Он просто элементарно не предназначен для сохранения сколько-нибудь полной информации о диске и композициях. Глупейшие попытки расширить его синтаксис за счёт специальных комментариев вылились в то, что cue перестали правильно понимать многие плееры.
  2. Единый образ жутко неудобен, когда надо послушать или скопировать только одну композицию.

Так что давайте разберёмся, как разрезать диск и потом закодировать дорожки в нужный формат. Вам потребуется ещё один пакет — shntool.

Теперь просто выполните

Получится куча файликов split-track**.wav. Теперь их нужно закодировать в нужный формат. Собственно вся эта морока с качественными рипами намекает на то, что формат этот должен быть lossless, хотя я кодирую и в OGG Vorbis для прослушивания на плеере. lossless — это однозначно flac, lossy — Vorbis, на всякий случай скажу и про mp3.

Итак, вам потребуется один или несколько из этих пакетов: flac, oggenc, lame.

Теперь для кодирования во flac можно использовать команду

Конечно, можно выставить и другие опции, эти просто самые оптимальные.

Прописывание тегов

Осталось только прописать теги в файлы и нужным образом их переименовать. Автоматически добавить информацию из cue в теги можно командой

Вместо flac конечно нужно подставить нужное расширение. Ну а переименовать файлы и заполнить оставшиеся теги можно с помощью очень удобной утилиты EasyTag.

Все приведённые выше команды можно объединить в один скрипт:

Ну или как-то так. Не забудьте выставить правильные опции в командах!

Вот и всё. Если сделать чуть более продвинутый скрипт, то можно легко осуществлять любую обработку аудиоданных с диска. Однако тут уже всё зависит от ваших задач.

UPD: Чтобы не пугались. Всё вышеописанное совершенно необязательно выполнять, существует прекрасная GUI программа Rubi Ripper, которая к тому же сама перечитывает несколько раз дорожки и корректирует по необходимости расхождения чтения, что важно при считывании повреждённого диска. Цель этого поста — рассказать как всё можно сделать по шагам с любыми настройками и манипуляциями на любом шаге.

Источник

Оцените статью