Сегодня музыку может играть самые разнообразные устройства, от бытовых проигрывателе до мобильных телефонов. Как правило основной формат используемый в этих устройствах MP3. Поэтому давайте разберем при помощи каких программ можно сграбить аудиодиск и сохранить музыку в этом формате.
В Linux как принято в большинстве приложений используемых на данной платформе процесс кодирования аудио разбит на два этапа: собственно ограбление Audio CD, то есть снятие с него треков и сохранение их на диске в формате wav и затем уже конвертирование в любой из имеющихся форматов. Основу играют консольные утилиты, а многочисленные фронтенды являются лишь надстройками над ними. Графические надстройки как правило дают возможность пользователю самостоятельно задавать любые параметры поддерживаемые в командной строке. Поэтому весьма желательно хотя бы в кратце представлять как работает первооснова.
Наиболее популярной программой позволяющей снять треки с аудиодиска является консольная утилита cdparanoia (www.xiph.org/paranoia/). Появившись поначалу, лишь как набор патчей к другой утилите CDDA2WAV (www.cdda2wav.de/) предназначенной для этой же цели, только с 1998 года cdparanoia начала жизнь как самостоятельное приложение и с тех пор эти программы практически ничего не связывает. В репозитарии Ubuntu, и других дистрибутивов Linux одноименный пакет есть, поэтому искать в Интернет и самостоятельно компилировать ничего не придется. В самом простом случае необходим всего один аргумент номер трека, который планируется сграбить с диска:
$ cdparanoia 1
И в результате через некоторое время в текущем каталоге появится файл cdda.wav, который и будет содержать нужную мелодию.
При необходимости можно в последней позиции указать название выходного файла, чтобы был понятней результат. Параметр -В (–batch) позволяет сграбить весь диск.
$ cdparanoia -B –
Можно указать и часть трека. Утилита CDDA2WAV имеет практически аналогичные параметры.
Итак мы имеем файлы в формате WAV, теперь перекодируем его в MP3. Хотя напомню, что у него есть альтернативы вроде Ogg Vorbis, FLAC (flac.sourceforge.net) и другие, но бытовые проигрыватели не всегда поддерживают эти форматы.
С MP3 ситуация интересна тем, что стандарт не определяет никакого точного стандартного математического алгоритма кодирования, его разработка целиком и полностью остается на совести разработчиков кодеров, поэтому на первых порах существовало несколько кодеков с помощью которых можно перекодировать файл: Lame (Lame Ain’t an MP3 Encoder) (lame.sourceforge.net), gogo (www.marinecat.net/free/windows/mct_free.htm), bladeenc, mp3enc, xingmp3enc, l3enc и другие. В Интернет можно найти статьи, в которых сравниваются результаты полученные при помощи этих кодеков. Со временем большинство проектов прекратило дальнейшее развитие, и сейчас в репозитарии Ubuntu из всего этого разнообразия предлагаются только lame и gogo. Кстати последний также берет свое начало от lame, но написан на языке assembler и по скорости кодирования немного обходит родителя.
На lame и остановим свой выбор, для его установки в Ubuntu достаточно ввести sudo apt-get install lame. Поддерживается кодирование с постоянным и переменным битрейтом от 32 до 320 кбит/сек, есть возможность выбора психоакустической модели, режима стерео. Параметров которые можно установить при кодировании эта утилита имеет множество, все они описаны в документации, узнать их можно набрав lame -? (–help – для короткого варианта), остановлюсь на наиболее интересных. Самым простым вариантом использования будет:
$ lame audio.wav
В результате на выходе получим файл audio.wav.mp3, закодированный c постоянным битрейтом 128 кбит/сек. Воспользовавшись параметром -b, можно указать другой битрейт.
$ lame -b 256 audio.wav audio.mp3
Кодирование с постоянным битрейтом приводит к нерациональному использованию дискового пространства и потере качества в местах особенно насыщенной части мелодии. Поэтому в последнее время практически все кодеки позволяют кодировать с переменным битрейтом (variable bitrate – VBR), а проигрыватели в том числе и аппаратные уже различают такие файлы.
Для кодирования с использованием 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 битрейт.
$ lame –abr 224 -b 64 audio.wav audio.mp3
Кодек Lame на нижних битрейтах (до 160 kb/s) для кодирования стерео сигналов использует режим Joint stereo. При котором левый и правый каналы кодируются вместе, но один канал полностью, а второй как отличие первого от второго. Такое поведение можно изменить задав режим при помощи ключа -m, при этом возможен вариант: (m)ono, (s)tereo и (j)oin. На высоких битрейтах используется по-умолчанию режим Stereo.
В Linux можно объединять команды копирования и кодирования файла. Например так:
$ cdparanoia 1 | lame – file_name.mp3
Консольные фронтенды
Из консольных утилит я бы в первую очередь выделил mp3c, которую можно найти на сайте проекта mp3c.wspse.de или установив одноименный пакет из репозитария Ubuntu.
В последних версиях для кодирования mp3c использует кодек lame (раннее mp3enc), пакет устанавливаемый в Ubuntu, по умолчанию настроен на кодирование в Ogg Vorbis. Для изменения настроек, следует зайти в меню конфигурации нажав клавишу F2. Здесь в полях (вход по Enter) указываем каталог в который будут помещаться готовые файлы, образец для образования имени файлов и плей-листа который программа создает автоматически, разрешаем соединение с CDDBсервером для заполнения полей ID3 тега. Новый кодек или параметры кодирования следует указать, как это описано ранее в поле Program for encoding. Как вариант можно выбрать одну из предустановок для кодирования в MP3 с использованием Lame – Load Presets (MP3/lame) или Ogg Vorbis – Load Presets (Ogg/oggenc).
Советую также включить режим encode on-fly as default, иначе каждый полученный WAV файл придется кодировать отдельно. Здесь же можно подкоректировать параметры для cdparanoia или CDDA2WAV (используется по умолчанию). После этого сохраняем настройки выбрав Save Config и выходим. Теперь нажатием V обновляем информацию о вставленном диске и нажимаем F3, чтобы кодировать весь диск. Если операцию нужно прервать нажмите F10.
Другая утилита - (www.hispalinux.es/~data/abcde.php) хоть и является фронтендом, интерфейса не имеет.
Для перегонки аудиодиска используется командная строки. Вы просто запускаете ее в окне терминала, и отвечаете на некоторые вопросы программы. Как вариант, параметры можно указывать сразу в строке запуска. Так если ввести в терминале просто abcde, то будет скопирован как один файл весь диск и затем перекодирован в формат Ogg Vorbis. Изменить выходной формат можно при помощи параметра -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, файлы с другим расширением будут находиться в отдельных каталогах.
В каталоге Весь CD представлен весь диск одним файлом в разных форматах. Осталось просто скопировать нужные треки в любое место на жестком диске, в процессе такого копирования файлы автоматически перекодируются в выбранный формат.
Программа KAudioCreator
По умолчанию в KUbuntu и некоторых других дистрибутивах использующих в качестве рабочей среды KDE для извлечения аудио используется программа KAudioCreator. Сайт проекта расположен по адресу www.icefox.net/programs/?program=, хотя здесь можно получить только ранние версии, последние релизы помещены в CVS дерево разработки проекта KDE и включен в пакет kdemultimedia. Программа хорошо интегрируется в KDE и является удобным интерфейсом к рассматриваемым ранее консольным утилитам. Язык интерфейса KAudioCreator выбирается автоматически в зависимости от языковых установок KDE.
Вызвать KAudioCreator можно из контекстного меню Извлечь и закодировать дорожки появляющемся при щелчке на значке устройства при вставленном аудиодиске, либо через меню K. Программа очень проста в использовании. Достаточно вставить диск, отобрать дорожки которые необходимо извлечь и нажать кнопку Копировать. Выбрав меню Файл-Копировать можно выбрать в какой формат следует перекодировать аудиотреки. Используя другие пункты меню Файл можно указать или скорректировать свойства альбома, обратиться с запросом к базе CDDB, выбрать все дорожки диска, преобразовать файл. В меню Настройка-Настроить KAudioCreator выставляется каким должно быть имя файла после перекодирования, установить параметры сервера CDDB и автоматическое обращение к нему при вставке нового диска. Здесь же во вкладке Копирование указывается количество дорожек копируемых за один проход. И во вкладке Кодек выбирается и настраивается кодек при помощи которого будут копироваться файлы, устанавливается приоритет процесса кодирования.
В дистрибутиве Ubuntu с средой GNOME копирование и кодирование дисков усуществляется при помощи программы Звуковыжималка – Sound Juicer (burtonini.com/blog/computers/sound-juicer). Это очень простая в использовании программа построенная на библиотеках GNOME и требующая наличия Gstreamer. Интерфейс локализован и понятен, разобраться с ним сможет и новичок. По использованию она еще проще предыдущей.
Sound Juicer умеет раскладывать файлы с разных дисков (альбомов) по своим каталогам. Это поведение указывается во вкладке Параметры в поле Названия дорожек. Здесь же выбирается и настраивается кодек. Для удобства пользователя применены профили вывода, ему достаточно выбрать нужное качество и кодек. При необходимости можно создавать свои профили и корректировать имеющиеся.
RipperX (sourceforge.net/projects/ripperx/) довольно симпатичная на вид программа с Gtk+ интерфейсом.
Интерфейс хотя и не локализован, но разобраться с копированием и кодированием аудиодисков при помощи RipperX очень просто. При этом RipperX не только позволяет задавать битрейт, но и знает о таких режимах как VBR. Поэтому можно указать битрейт или выбрать качество. Если нет возможности настроить себе параметры по душе при помощи кнопок, в поле Extra Options всегда можно их передать программе приписав нужные команды.
Для каждого скопированного диска можно с помощью соответствующего параметра автоматически создавать отдельный каталог, что при массовом копировании только ускоряет процесс, нет риска затереть другие файлы, да и найти нужный альбом проще. Дополнительно с помощью внешних программ можно прослушать как audio-CD, так и получившиеся файлы. Для записи в ID3 тег RipperX запрашивает информацию о диске с сервера freedb.org. При необходимости нужные поля можно заполнить прямо в главном окне программы. В настройках кроме MP3 можно выбрать кодирование в Ogg Vorbis или FLAC, установить приоритет кодирования, задать имя файла и прочее. Программа есть в репозитарии Ubuntu и других дистрибутивов поэтому установить RipperX просто.
Эту программу можно было ранее встретить в каждом дистрибутиве Linux. При помощи Grip (http://nostatic.org/grip) можно реализовать все возможности, по копированию аудиотреков которые доступны в командной строке.
Программа понимает все популярные MP3 кодеки, в том числе знает и о Ogg Vorbis, FLAC и некоторых других. Дополнительно в Other можно задать свою собственную программу для кодирования файлов. Доступны все основные параметры, которые можно задать в командной строке, в том числе есть возможность скопировать весь диск целиком или часть трека. Для копирования файлов используется cdparanoia или CDDA2WAV. Есть режим работы с плохими дисками определяющий возможные царапины на поверхности. При кодировании автоматически создается плейлист в формате M3U. Информация о треке может быть получена с баз CDDB и добавлена в ID3 теги, есть возможность задания кодировки тегов. Поддерживается работа с мультипроцессорными SMP системами. Я бы сказал это программа как раз для тех, кто хочет полностью контролировать процесс и не боится поближе познакомиться с первоосновами то есть с консольными утилитами. Помимо кодирования и копирования Grip является и проигрывателем аудиодисков. При воспроизведении может работать в паре с другой программой того же автора DigitalDJ.
Помимо этих программ в репозитарии Ubuntu можно найти еще ряд интересных решений. Это например две программы с почти одинаковым названием – soundKonverter (kaligames.de) и soundConverter. Первая весьма мощная утилита для конвертирования музыкальных файлов в самые разнообразные форматы, с возможностью копирования треков с аудиодиска построенная на KDE Qt библиотеках.
Вторая простая программа позволяющая конвертировать музыкальные файлы имеющиеся на жестком диске, с Gtk+ интерфейсом. То есть как видите чтобы получить из обычного диска файлы в формате MP3 у пользователя Linux есть инструментарий на все вкусы и возможности. Linux forever!