200 лучших программ для Linux — страница 12 из 28

В Linux, как принято в большинстве приложений, используемых на данной платформе, процесс кодирования аудио разбит на два этапа: собственно «сграбление» Audio CD, то есть снятие с него дорожек, и сохранение их на диске в формате WAV, а затем конвертирование в любой из имеющихся форматов. Имеющиеся фронт-энды являются только надстройками над консольными утилитами.

Снятие дорожек в консоли

Наиболее популярной программой, позволяющей снять дорожки с аудиодиска, является консольная утилита со смешным названием cdparanoia (http://www.xiph.org/paranoia/). Она появилась как набор патчей к другой утилите – CDDA2WAV (сайт http://www.cdda2wav.de/), предназначенной для этой же цели. Только с 1998 года cdparanoia начала существовать как самостоятельная программа, и с тех пор эти приложения практически ничего не связывает. В репозитарии Ubuntu и других дистрибутивов Linux одноименный пакет есть, поэтому искать в Интернете и самостоятельно компилировать ничего не нужно. В самом простом случае необходим всего один аргумент – номер дорожки, которую планируется скопировать с диска (рис. 3.39):

$ cdparanoia 1

Рис. 3.39. Снятие дорожки с Audio CD


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

Чувства юмора у разработчиков хватило не только на название, обо всем происходящим при перегоне диска можно судить по так называемым OUTPUT SMILIES. Так, рожица :-) означает нормальный ход процесса, :^D – его окончание, а описание остальных смотрите в документации man cdparanoia. При необходимости в последней позиции можно указать название выходного файла, чтобы результат был понятней. В большинстве случаев «грабят» весь диск, для чего используется параметр -В (–batch). После этого при необходимости можно указать ряд дополнительных параметров, не забыв поставить два тире, означающих весь диск. Так, например, можно захватить мелодии, начиная с 20-й секунды первой дорожки до 30-й секунды четвертой.

$ cdparanoia -B – 1:[20.35]-4:[30.35]

Получившиеся файлы будут иметь следующие названия: track01.cdda.wav, track02.cdda.wav и так далее.

Кодирование звуковых файлов

У вас есть файлы в формате WAV; чтобы они не занимали много места, их необходимо перекодировать в подходящий формат. Раньше выбор у пользователя был невелик – бал правил MP3, однако с появлением его открытого конкурента Ogg Vorbis появилась альтернатива. Кроме того, имеется ряд кодеков, позволяющих сохранить максимальное качество при меньших, чем WAV, размерах, например FLAC (http://flac.sourceforge.net/).

Кодирование в MP3

С MP3 ситуация интересна тем, что стандарт не определяет точного принятого математического алгоритма кодирования, его разработка целиком и полностью остается на совести создателей кодеров, поэтому существует несколько кодеков, с помощью которых можно перекодировать файл. Все они отличаются условиями лицензирования, психоакустической моделью (что, в свою очередь, влияет на качество звучания полученного выходного MP3-файла на различных битрейтах), дополнительными возможностями вроде поддержки кодирования с переменным битрейтом. На первых порах для Linux (и также других систем) предлагалось несколько кодеков, позволяющих кодировать в MP3: lame (Lame Ain't an MP3 Encoder – Lame – не кодировщик MP3) (http://lame.sourceforge.net/), gogo (http://www.marinecat.net/free/windows/mct_free.htm), bladeenc, mp3enc, xingmp3enc, l3enc и другие. В Интернете можно найти статьи, в которых сравниваются результаты, полученные при помощи этих кодеков. Со временем большинство проектов прекратило развитие, и сейчас в репозитарии Ubuntu из всего разнообразия предлагаются только lame и gogo. Кстати, последний берет свое начало от lame, но написан на языке assembler и по скорости кодирования немного обходит lame.

Остановим выбор на lame. Для его установки в Ubuntu достаточно ввести sudo apt-get install lame. Параметров, которые можно установить при кодировании, эта утилита имеет множество, все они описаны в документации, узнать о них также можно, набрав lame -? (–help – для короткого варианта). Остановимся на наиболее интересных. Поддерживается кодирование с постоянным и переменным битрейтом от 32 до 320 Кбит/сек. Самым простым вариантом использования будет набрать в командной строке lame audio.wav. В результате на выходе получится файл audio.wav.mp3, закодированный c постоянным битрейтом 128 Кбит/сек. Музыку, записанную с таким качеством, можно слушать только на компактных проигрывателях, в любом другом случае лучше указать больший битрейт, воспользовавшись параметром -b; заодно вторым параметром лучше указывать и имя выходного файла:

$ lame -b 256 audio.wav audio.mp3

Кодирование с постоянным битрейтом приводит к нерациональному использованию дискового пространства и потере качества в местах особенно насыщенной части мелодии, поэтому в последнее время практически все кодеки позволяют кодировать с переменным битрейтом (англ. variable bitrate – VBR), а проигрыватели, в том числе и аппаратные, уже различают такие файлы.

Примечание

Технология VBR впервые появилась приблизительно в 1998 году и была использована фирмой XingTech в кодеке собственной разработки, но качество этого кодека так и не достигло приемлемого уровня.

Для кодирования с использованием VBR используется параметр –v, и в параметре -V цифра дополнительно указывается качество кодирования. По умолчанию качество установлено в 4. Высшему качеству соответствует 0 (результирующий файл больше), а 9 соответствует низшему качеству (файл меньше). Альтернативно при помощи -b и -B указывается минимальный и максимальный битрейт соответственно.

$ lame -v -V 0 audio.wav audio.mp3

Кодек lame поддерживает еще один режим – average bitrate (ABR), это что-то среднее между constant bitrate (CBR) и VBR. При кодировании указывается среднее значение, и при необходимости программа сама увеличивает или уменьшает его. Для кодирования с использованием ABR используется параметр –abr битрейт (рис. 3.40).

$ lame –abr 224 -b 64 audio.wav audio.mp3

Рис. 3.40. Кодирование с ABR-битрейтом


Файл, закодированный такой строкой, получается на 10 % меньше, чем кодированный с постоянным битрейтом 256, а качество отличить трудно. По умолчанию на нижних битрейтах (до 160 Кбит/с) для кодирования стереосигналов lame использует режим Joint stereo, при этом левый и правый каналы кодируются вместе, но один канал кодируется полностью, а второй – как разностная информация, то есть как отличие первого от второго. Есть несколько стандартов представления информации Joint stereo, но всех их объединяет существенный недостаток – плохая передача стереоэффектов. Качество можно изменить, задав режим при помощи ключа -m, при этом возможны варианты: (m)ono, (s)tereo (кодируется два канала, но кодер может при необходимости выделить больше места одному из них; это оптимальный вариант) и (j)oin. На высоких битрейтах по умолчанию используется режим Stereo.

Для каждого битрейта применяется свой фильтр, но его можно изменить вручную с помощью -q , где  – число от 0 до 9. По умолчанию используется 5, рекомендуется –q 2 (эквивалент –h). Режим -f (-q 7) отключает психоакустические фильтры, что делает звук чище на высоких битрейтах, но существенно ухудшает на низких. Кстати, возможна компиляция lame с поддержкой Ogg Vorbis, для кодирования в этот формат следует использовать параметр –ogg.

В Linux можно объединять команды копирования и кодирования файла, выполняя их последовательно:

$ cdparanoia 1; lame cdda.wav file_name.mp3

или используя каналы (черта означает stdin – стандартный ввод команды).

$ cdparanoia 2 | lame – file_name.mp3

Кодирование в Ogg Vorbis

Сразу после появления формат MP3 стал объектом споров. Все началось с того, что компании Fraunhofer Institute и Thomson Multimedia, имеющие патент на данный формат, объявили, что он небесплатный, и потребовали отчислений за каждый кодек. В результате они остановились на отчислениях только с коммерческих программ и бытовых устройств. В странах, особенно тщательно следящих за соблюдением патентов, могут возникнуть проблемы при использовании MP3, именно поэтому в Ubuntu, Fedora и некоторых других дистрибутивах изначально нет поддержки этого формата.

В качестве ответа обществом OpenSource в июле 2002 года миру был официально представлен свой формат сжатия звука, именуемый Ogg Vorbis. Спонсором проекта на первом этапе была компания iCast, транслировавшая и распространявшая музыку через Интернет. В случае успеха и перехода на новый формат она могла сэкономить на отчислениях, но до выхода своего детища компания разорилась. Ogg Vorbis – это свободный в распространении формат. Все исходные коды полностью доступны. При сжатии звука кодек Ogg Vorbis использует свои психоакустичесие модели, причем более совершенные, чем в MP3, поэтому при одинаковом размере файлов музыка Ogg Vorbis звучит лучше. В Ogg Vorbis кодек изначально работает с переменным битрейтом, поэтому получившиеся файлы меньшего размера и качественнее сохраняют информацию. Здесь принята шкала качества в диапазоне от 0 до 10 с шагом хоть 0,01. Качеству 3 соответствует стандартное звучание для MP3 128 Кбит/с, битрейт же файла Ogg Vorbis составляет 112 Кбит/с, и получившийся файл на 20 % меньше. Качеству FM-радио соответствует 0, качество 10 приблизительно соответствует битрейту 400 Кбит/с.

Официальный сайт проекта находится по адресу http://www.vorbis.com/, где можно найти свежие версии библиотек и инструменты для работы с данным форматом. Дистрибутив Kubuntu, как и все остальные, изначально работает с этим форматом. Есть в репозитарии и пакет mp32ogg, позволяющий конвертировать файлы MP3 в Ogg Vorbis.

Для кодирования аудиофайлов в Ogg Vorbis предназначена утилита oggenc. Формат вызова в самом простом случае такой:

$ oggenc somefile.wav

Указать другое качество и название файла, отличное от оригинального, можно, использовав -q и -о (последний можно в большинстве случаев опускать).

$ oggenc infile.wav -q 9 out.ogg

Можно также указать битрейт, для этого существуют следующие параметры: -b устанавливает скорость приблизительно равную указанной, а -m и -М указывают соответственно на минимальный и максимальный битрейт.

$ oggenc infile.wav -b 128 -M 160 out.ogg

В командной строке можно сразу ввести информацию о файле (артист, альбом и так далее), которая, кстати, не ограничивается в спецификации формата. Указав образец (pattern), можно переименовать получившиеся на выходе файлы.

$ oggenc somefile.wav -t «Название_песни» -a «Артист» -l «альбом» -G «жанр» -c «остальные комментарии» -n «%a – %t.ogg»

После данной команды получившийся файл будет называться следующим образом: Артист-Название_песни.ogg.

Консольные фронэнды

Из консольных утилит в первую очередь выделим mp3c (рис. 3.41), которую можно найти на сайте проекта http://mp3c.wspse.de/ или установить пакет из репозитария Ubuntu.

Рис. 3.41. Программа mp3c


В последних версиях для кодирования mp3c использует кодек lame (ранее mp3enc); пакет, устанавливаемый в Ubuntu, настроен на кодирование в Ogg Vorbis. Для изменения настроек следует зайти в меню конфигурации, нажав клавишу F2. Здесь в полях (вход по Enter) нужно убрать все упоминания о серверах CDDB (вряд ли нужно, чтобы программа выходила каждый раз в Интернет, чтобы заполнить поля ID3-тега), указать каталог, в который будут помещаться готовые файлы, и образец для имени файлов и плейлиста, который программа создает автоматически. Новый кодек или параметры кодирования следует указать в поле Program for encoding (Программа для кодирования). Как вариант, можно выбрать одну из предустановок для кодирования в MP3 с использованием lame – Load Presets (MP3/lame) (Предустановки загрузки (MP3/lame)) или Ogg Vorbis – Load Presets (Ogg/oggenc) (Предустановки загрузки (Ogg/oggenc)).

Рекомендуется также включить режим encode on-fly as default (Кодировать на лету по умолчанию), иначе каждый полученный WAV-файл придется кодировать отдельно. Здесь же можно подкоректировать параметры для cdparanoia или CDDA2WAV (используется по умолчанию). После этого сохраните настройки, выбрав Save Config (Сохранить конфигурацию), и выйдите. Теперь нажатием V обновите информацию о вставленном диске и нажмите F3, чтобы кодировать весь диск; если операцию нужно прервать, нажмите F10.

Другая утилита – abcde (http://www.hispalinux.es/~data/abcde.php), хоть и является фронтэндом, интерфейса не имеет (рис. 3.42). Для перегона аудиодиска используется командная строка. Ее нужно запустить в окне терминала и ответить на вопросы программы. Как вариант, параметры можно указывать сразу в строке запуска. Так, если ввести в терминале abcde, то весь диск будет скопирован как один файл, а затем перекодирован в формат Ogg Vorbis.

Рис. 3.42. Работа с abcde


Изменить выходной формат можно при помощи параметра -o с указанием типа. Поддерживается кодирование в MP3, FLAC, SPX, MPC, WAV и M4A. Используя ключ –k, можно сохранить скопированный WAV-файл, иначе после кодирования он будет удален. При недостатке места на диске следует добавить ключ –l. Есть возможность задать извлечение диска по окончании, а также номер дорожки, с которой начать процесс копирования, скорость привода и комментарии.

Графические утилиты

При помощи APT в репозитарии Ubuntu можно найти несколько утилит с графическим интерфейсом для копирования Audio CD.

В файловый менеджер Konqueror встроена возможность автоматического перекодирования Audio CD. Первоначально это был только Ogg Vorbis, в последних версиях поддерживаются WAV, MP3, FLAC и CDA. Для этого нужно вставить аудио-диск и открыть его, щелкнув на ярлыке на рабочем столе. Как вариант, можно ввести в адресной строке audiocd:/. Все содержимое компакт-диска будет представлено в виде файлов с расширением WAV, файлы с другим расширением будут находиться в отдельных каталогах (рис. 3.43). В каталоге Весь CD весь диск представлен одним файлом в разных форматах.

Рис. 3.43. Перекодирование файлов в Konqueror


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

Программа KAudioCreator

По умолчанию в Kubuntu и некоторых других дистрибутивах, использующих в качестве рабочей среды KDE, для извлечения аудио используется программа KAudioCreator. Сайт проекта расположен по адресу http://www.icefox.net/programs/?program=KAudioCreator, хотя здесь можно получить только ранние версии, последние релизы помещены в CVS – дерево разработки проекта KDE – и включены в пакет kdemultimedia. Программа хорошо интегрируется в KDE и является удобным интерфейсом к рассмотренным ранее консольным утилитам. Язык интерфейса KAudioCreator (рис. 3.44) выбирается автоматически в зависимости от языковых установок KDE. Вызвать KAudioCreator можно из контекстного меню Извлечь и закодировать дорожки, появляющегося при щелчке на значке устройства при вставленном аудиодиске, либо через меню K. Программа проста в использовании. Достаточно вставить диск, отобрать дорожки, которые необходимо извлечь, и нажать кнопку Копировать. Выполнив команду меню Файл → Копировать, можно выбрать формат, в который следует перекодировать аудиодорожки. Используя другие пункты меню Файл, можно указать или скорректировать свойства альбома, обратиться с запросом к базе CDDB, выбрать все дорожки диска и преобразовать файл. Выполнив команду Настройка → Настроить KAudioCreator, можно выставить, каким должно быть имя файла после перекодирования, установить параметры сервера CDDB и автоматическое обращение к нему при вставке нового диска.

Рис. 3.44. Программа KAudioCreator


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

Программа для GNOME – Sound Juicer

В дистрибутиве Ubuntu диски копируются и кодируются при помощи программы Звуковыжималка – Sound Juicer (http://burtonini.com/blog/computers/sound-juicer). Это простая в использовании утилита, построенная на библиотеках GNOME и требующая наличия Gstreamer. Интерфейс локализован и понятен (рис. 3.45), разобраться с ним сможет даже новичок. В использовании она еще проще предыдущей.

Рис. 3.45. Звуковыжималка для GNOME


Звуковыжималка умеет раскладывать файлы с разных дисков (альбомов) по своим каталогам. Это указывается на вкладке Параметры в поле Названия дорожек. Здесь же выбирается и настраивается кодек. Для удобства пользователя применены профили вывода – достаточно выбрать нужное качество и кодек. При необходимости можно создавать свои профили и корректировать имеющиеся.

Утилита RipperX

RipperX (http://sourceforge.net/projects/ripperx/) – симпатичная программа с интерфейсом Gtk+ (рис. 3.46). Интерфейс не локализован, однако разобраться с копированием и кодированием аудиодисков при помощи RipperX просто. RipperX не только позволяет задавать битрейт, но и знает о таких режимах, как VBR, поэтому можно указать битрейт или выбрать качество; если нет возможности настроить параметры по вкусу в поле Extra Options (Дополнительные параметры), их можно передать программе, приписав нужные команды.

Рис. 3.46. Интерфейс RipperX


Для каждого скопированного диска с помощью соответствующего параметра можно автоматически создавать отдельный каталог, что при массовом копировании ускоряет процесс, избавляет от риска затереть другие файлы, да и найти нужный альбом будет проще. Дополнительно с помощью внешних программ можно прослушать как Audio CD, так и получившиеся файлы. Для записи в ID3-тег RipperX запрашивает информацию о диске с сервера freedb.org. При необходимости нужные поля можно заполнить прямо в главном окне программы. В настройках кроме MP3 можно выбрать кодирование в Ogg Vorbis или FLAC, установить приоритет кодирования, задать имя файла и прочее. Программа есть в репозитарии Ubuntu, поэтому установить RipperX просто.

Программа Grip

Эту программу раньше можно было встретить в каждом дистрибутиве Linux. При помощи Grip (http://nostatic.org/grip/, рис. 3.47) можно реализовать все возможности по копированию аудиодорожек, которые доступны в командной строке. Grip понимает все популярные MP3-кодеки, в том числе знает об Ogg Vorbis, FLAC и некоторых других. Дополнительно в Other (Другие) можно задать собственную программу для кодирования файлов. Доступны все основные параметры, которые можно задать в командной строке, в том числе есть возможность скопировать весь диск целиком или часть дорожки. Для копирования файлов используется cdparanoia или CDDA2WAV. Есть режим работы с поврежденными дисками, определяющий возможные царапины на их поверхности. При кодировании автоматически создается плейлист в формате M3U.

Рис. 3.47. Программа Grip


Информация о дорожке может быть получена с баз CDDB и добавлена в ID3-теги, есть возможность задания кодировки тегов. Поддерживается работа с мультипроцессорными SMP-системами.

Эта программа для тех, кто хочет полностью контролировать процесс и не боится поближе познакомиться с первоосновами, то есть с консольными утилитами. Помимо кодирования и копирования, Grip является и проигрывателем аудиодисков. При воспроизведении он может работать в паре с другой программой того же автора DigitalDJ.

Помимо описанных выше, в репозитарии Ubuntu можно найти еще некоторые интересные решения. Это, например, две программы с почти одинаковыми названиями – soundKonverter (http://kaligames.de/) и soundConverter. Первая – это мощная утилита для конвертирования музыкальных файлов в самые разнообразные форматы с возможностью копирования дорожек с аудиодиска, построенная на библиотеках KDE Qt. Вторая – простая программа, позволяющая конвертировать музыкальные файлы, имеющиеся на жестком диске, с интерфейсом Gtk+.

Аудиоредакторы