Музыкальные файлы OGG, AAC и FLAC

VSL аватар

Конвертирование в OGG, AAC, FLACМузыкальные файлы OGG, AAC и FLAC

В предыдущей статье речь шла о получении с CD-дисков MP3-файлов. Однако мне показалось, что будет не справедливо, если не будет описано (хотя бы кратко как здесь я это попытался сделать) как получить файлы и других форматов, особенно файлы свободного формата OGG Vorbis, обладающего рядом существенных преимуществ перед форматом mp3. Я однако не буду описывать полный список опций (да и сам их не знаю ), а опишу лишь самые основные из них. Если у Вас возникнет желание разобраться в вопросе глубже, то вы сможете всегда обратиться к знаниям всемирной интернет-паутины.

Очень кратко о формате OGG Vorbis

  • Отсутствие патентных ограничений.
  • До 255 каналов.
  • «Sample accurate» — звуковые данные не будут иметь смещений, дополнительных или потерянных сэмплов относительно друг друга.
  • «Streamable» — поддержка поточного воспроизведения.
  • Эффективные алгоритмы переменного битрейта.
  • Частота дискретизации до 192 кГц.
  • Разрядность до 32 бит.
  • Гибкий Joint stereo.
  • Гибкая психоакустическая модель.
  • Теги хранятся в Юникоде, а не национальной кодировке.

С более полным описанием и преимуществах формата OGG Vorbis перед форматом mp3 вы можете познакомиться на страницах википедии.

Получение файлов формата OGG Vorbis

В любом Linux по умолчанию установлен кодек OggEnc (может потребоваться установка библиотеки vorbis-tools). Этот кодек, по видимому, и используется в программе с графическим интерфейсом с интересным названием "Звуковыжималка" или других подобных программах. При использовании данной программы для кодирования музыки в формат OGG я обратил внимание, что средний битрейт полученных файлов равен примерно 160 кБит/с. В принципе это уже обеспечивает хорошее качество звучания, более высокое, чем может дать формат mp3 с таким же битрейтом.
Однако, возможно, вы пожелаете получить файлы более высокого качества. В таком случае вам придется воспользоваться режимом командной строки.* Сразу скажу, что кодировщик OggVorbis кодирует файлы с переменным битрейтом.

Общий вид командной строки следующий

  1. oggenc [options] input.wav

Попробуем запустить:

  1. user@ubuntu-desktop:~/Музыка$ oggenc track01.cdda.wav
  2. Opening with wav module: WAV file reader
  3. Encoding "track01.cdda.wav" to
  4.          "track01.cdda.ogg"
  5. at quality 3,00
  6.         [ 99,8%] [ 0m00s remaining] -
  7.  
  8. Done encoding file "track01.cdda.ogg"
  9.  
  10.         File length:  4m 05,0s
  11.         Elapsed time: 0m 17,8s
  12.         Rate:         13,7747
  13.         Average bitrate: 100,3 kb/s

Как видим, битрейт по умолчанию здесь невысок.
Для задания качества oggenc использует простую опцию -q N,
где N - параметр качества в пределах от -1 до 10. Причем данный параметр можно задать даже дробным (через запятую).

Пробуем:

  1. user@ubuntu-desktop:~/Музыка$ oggenc -q 8 track01.cdda.wav
  2. Opening with wav module: WAV file reader
  3. Encoding "track01.cdda.wav" to
  4.          "track01.cdda.ogg"
  5. at quality 8,00
  6.         [ 99,8%] [ 0m00s remaining] |
  7.  
  8. Done encoding file "track01.cdda.ogg"
  9.  
  10.         File length:  4m 05,0s
  11.         Elapsed time: 0m 17,3s
  12.         Rate:         14,1874
  13.         Average bitrate: 228,9 kb/s

Как видно средний битрейт получился 228,9 кБит/сек.

Однако прежде чем делать файлы OGG с высоким битрейтом (вплоть до 500 и выше), попробуйте возможности своей аппаратуры на предмет способности их воспроизведения. Например, мой DVD-центр BBK DV-525SI отказался воспроизводить файлы с битрейтом 256 кБит/с, хотя файлы с битрейтом 200...230 воспроизводит нормально.

Добавление тегов в OGG файлы

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

-t название трека
-a имя исполнителя
-l название альбома
-d год издания трека или альбома
-G жанр
-N номер трека

С полным их перечнем Вы сможете ознакомиться в документации к кодеру OggEnc.

К примеру кодирование трека № 12 с названием "От Волги до Енисея" альбома "Свои 20 лет" в исполнении Николая Расторгуева будет выглядеть так:

  1. oggenc -q 9 -l "Свои 20 лет" -d 2008 -N 12 -t "От Волги до Енисея" -a "Николай Расторгуев" -G Лирика track12.cdda.wav

Другие опции в данной команде как вы уже догадались задают качество кодирования (-q 9), год выпуска альбома (-d 2008) и жанр (-G Лирика).
Если информация тега (ее тело) должна содержать пробелы, например имя и фамилия исполнителя, то данное сочетание нужно заключить в кавычки. После в вашем любимом проигрывателе вы сможете видеть внесенную информацию. В данном случае важно то, что OGG для создания тегов использует кодировку UTF-8, поэтому можно не переживать, что напечатанные по русски названия будут после отображаться так называемыми "крокозябрами"

С полным перечнем опций команды можно ознакомиться дав команду:

  1. oggenc -h  (или oggenc --help)

С более подробным описанием команд Вы сможете познакомиться, дав команду:

  1. man oggenc


Получение файлов формата AAC

Для получения файлов данного формата необходимо установить кодировщик FAAC. Это можно выполнить командой

  1. sudo apt-get install faac

Общий вид командной строки следующий:
  1. faac [options] infiles ...

Попробуем запустить:

  1. user@ubuntu-desktop:~$ faac track01.cdda.wav
  2. Freeware Advanced Audio Coder
  3. FAAC 1.24
  4.  
  5. Quantization quality: 100
  6. Bandwidth: 16000 Hz
  7. Object type: Low Complexity(MPEG-2) + TNS + M/S
  8. File format: MPEG-2 AAC (ADTS)
  9. Encoding track01.cdda.wav to track01.cdda.aac
  10.    frame          | bitrate | elapsed/estim | play/CPU | ETA
  11.  8488/8488  (100%)|  130.4  |   11.5/11.5   |   17.07x | 0.0  

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

-q 130 -c 22000 (~218 kbps)
-q 120 -c 20000 (~194 kbps)
-q 110 -c 18000 (~158 kbps)
-q 100 -c 16000 (~129 kbps)
-q 90 -c 14000 (~103 kbps)
-q 80 -c 12000 (~79 kbps)
-q 70 -c 10000 (~62 kbps)

Пробуем:

  1. user@ubuntu-desktop:~$ faac -q 120 -c 20000 track01.cdda.wav
  2. Freeware Advanced Audio Coder
  3. FAAC 1.24
  4.  
  5. Quantization quality: 120
  6. Bandwidth: 20000 Hz
  7. Object type: Low Complexity(MPEG-2) + TNS + M/S
  8. File format: MPEG-2 AAC (ADTS)
  9. Encoding track01.cdda.wav to track01.cdda.aac
  10.    frame          | bitrate | elapsed/estim | play/CPU | ETA
  11.  8488/8488  (100%)|  167.5  |   12.5/12.5   |   15.76x | 0.0  

Интересно, что битрейт меняется по мере кодирования файла, и это видно в процессе работы утилиты.

Если в опцию добавить ключ -w , то вы получите файлы формата M4A.

  1. user@ubuntu-desktop:~$ faac -q 130 -c 22000 -w track01.cdda.wav
  2. Freeware Advanced Audio Coder
  3. FAAC 1.24
  4.  
  5. Quantization quality: 130
  6. Bandwidth: 22000 Hz
  7. Object type: Low Complexity(MPEG-4) + TNS + M/S
  8. File format: MPEG-4 File Format (MP4)
  9. Encoding track01.cdda.wav to track01.cdda.m4a
  10.    frame          | bitrate | elapsed/estim | play/CPU | ETA
  11.  8488/8488  (100%)|  174.2  |   12.7/12.7   |   15.46x | 0.0  

Более свежие версии кодировщика (на данный момент 1.26 вместо моей версии 1.24) дают дополнительный ключ -m X, где X=2 или 4. Опция применяется для возможности воспроизведения файлов AAC на более новой воспроизводящей аппаратуре AAC/MP4. Хотя много информации в сети мне найти не удалось, зато я обратил внимание, что FAQ для новой версии кодировщика не описывает опцию -w, которую мы применили в последнем примере, в результате чего получили AAC MPEG-4-файл. Тождественен ли ключ -w ключу -m 4 или нет к сожалению, установить не удалось.

С полным перечнем опций команды можно ознакомиться дав команду

  1. faac -h

Оба кодировщика поддерживают ручное указание битрейта, но не особо искушенному пользователю на мой взгляд достаточно положиться на настройки разработчиков по умолчанию при использовании описанных выше опций, которые придадут неплохое качество звучания вашей музыкальной коллекции. Можно однако заметить, что битрейт OggEng сильно связян с параметром качества -q (параметр -b X задает битрейт, однако при задании параметра -q в задании битрейта нет смысла, либо нужно использовать парамер битрейта без параметра качества, однако рекомендаций кодировать в таком режиме мне встречать не приходилось, поэтому лучше использовать традиционный вариант с параметром качества -q), а вот битрей aac, задаваемый командой -b X, где X битрейт, кодировщик, как мне удалось заметить, определяет самостоятельно, принимая задаваемый вами параметр как рекомендацию.

Для формата MP4 вы так же можете задать опции тегов, добавив в файл необходимую информацию

--artist Имя исполнителя (если состоит из 2 слов, то нужно заключить в кавычки)
--album Наименование альбома
--title Наименование произведения

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

Получение файлов FLAC

Последний формат файлов FLAC дает кодирование музыки без потери качества. Данный формат живет и разрабатывается в рамках одного проекта с форматом OGG. Ставим утилиту flac командой

  1. sudo apt-get install flac

Формат команды:

  1. flac [general-options] [encoding/format-options] [INPUTFILE [...]

Пробуем:

  1. user@ubuntu-desktop:~$ flac track01.cdda.wav
  2.  
  3. flac 1.1.4, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
  4. flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
  5. welcome to redistribute it under certain conditions.  Type `flac' for details.
  6.  
  7. track01.cdda.wav: wrote 24606121 bytes, ratio=0,708

Формат Flac так же поддерживает систему тегов, однако со способами их внесения я не разбирался.
Файлы, получающиеся в результате сжатия данной утилитой, получаются достаточно большими по размеру, меньше исходных WAV-файлов примерно в 2 раза. Однако не забывайте, что данный алгоритм производит сжатие без потери качества музыки.
Список опций утилиты вы можете посмотреть командой
  1. flac -h

PS. Для получения файлов WAV можно воспользоваться утилитой cdparanoia, как было описано в статье о получении MP3-файлов.

* Уже после написания данной статьи я обратил внимание, что и при использовании программ с графическим интерфейсом можно изменять качество получаемых ogg файлов. Регулировка доступна однако не из интерфейса программы, а из центра управления KDE.

Ваша оценка: Ничего Средняя оценка: 9.2 (18 votes)

Здравствуйте а можно перекодировать сразу скажем папку или всю коллекцию ?
Если программы для целей указанных выше с графическим интерфейсом ?
Если есть то посоветуйте для Ubuntu 9.10 64 бита !!!
Заранее спасибо.

RSS-материал