Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum




Lines Club

Ищем достойных соперников.

Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Ошибка базы данных:

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

Оригинал: Command-Line Guide to Audio Files in Ubuntu
Автор: Craciun Dan
Дата публикации: 20 декабря 2010 года
Перевод: А. Кривошей
Дата перевода: май 2011 г.

Целью данного руководства является описание приемов обработки и конвертирования различных аудио файлов с использованием утилит, включенных в репозитории 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:

$ sudo apt-get install flac

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

$ flac -d input_file.flac

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

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

$ flac input_file.wav

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

$ flac input_file.wav -o output_file.flac

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

$ flac -8 input_file.wav -o output_file.flac

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

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

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

$ oggenc input_file.flac

При этом будет создан файл input_file.ogg с качеством по умолчанию (3). Качество сжатия может задаваться в диапазоне от -1 (~45 кб/с) до 10 (~500 кб/с). По умолчанию уровень качества равен 3, что примерно соответствует 112 кб/с. Допускаются дробные уровни качества. Также можно задать имя конечного файла. Например, нижеследующая команда выполняет конвертирование файла FLAC в Ogg Vorbis с уровнем качества 6 (~192 кб/с). Вывод производится в файл output_file.ogg:

$ oggenc -q 6 input_file.flac -o output_file.ogg

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

$ oggenc -b 192 input_file.flac -o output_file.ogg

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

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

$ sudo apt-get install vorbis-tools

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

$ vorbiscomment -t "TITLE=Wasted Years" -w input_file.ogg

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

$ vorbiscomment -l input_file.ogg

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

$ vorbiscomment -c file.txt -w input_file.ogg

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

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

$ touch empty_file
$ vorbiscomment -c empty_file -w input_file.ogg

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

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

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

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

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

$ sudo apt-get install lame

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

$ apt-get update
$ apt-get install lame

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

$ lame input_file.wav

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

$ lame input_file.wav output_file.mp3

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

$ lame -b 192 input_file.wav output_file.mp3

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

$ for i in *.wav; do lame $i; done

Еще раз хочу подчеркнуть, не используйте шаблоны с 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/). Для ее установки введите команду:

$ sudo apt-get install cdparanoia

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

$ sudo apt-get install id3v2

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

$ cdparanoia -B

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

$ cdparanoia -B 3

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

$ cdpranoia -B 4-9

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

$ cdparanoia "5[:20.00]-5[5:30.00]"

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

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

$ abcde -d /dev/cdrom -o mp3

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

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

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

$ sudo apt-get install cuetools shntool monkeys-audio

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

$ cuebreakpoints cue_file.cue | shnsplit audio_file.flac

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

$ mac input_file.ape output_file.wav -d

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

$ for in *.ape; do mac "$i" "$i.wav" -d; done

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

$ cuebreakpoints cue_file.cue | shnsplit output_file.wav

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

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

$ sudo apt-get install dir2ogg

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

$ dir2ogg input_file.wma

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

$ dir2ogg *.wma

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

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

$ sudo apt-get install vorbis-tools lame monkeys-audio

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

$ mac input_file.ape output_file.wav -d

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

$ for i in *.ape; do mac "$i" "$i.wav" -d; done

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

$ oggenc -b 256 input_file.wav

Или в MP3:

$ lame -b 256 input_file.wav

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

Сначала устанавливаем mplayer (http://www.mplayerhq.hu/design7/news.html):

$ sudo apt-get install mplayer

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

$ mplayer -ao pcm:file=output_file.wav input_file.ac3

При этом файл 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.


Средняя оценка 5 при 3 голосовавших
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии