Запись Audio CD из MP3, OGG, ACC, WAV, FLAC и так далее через командную строку

Допустим, у вас имеется коллекция музыки, собранная в произвольных аудиоформатах (mp3, ogg, acc, wav) и вы решили записать музыкальный диск в стандартном формате Audio CD, чтобы иметь возможность воспроизводить диск в любом бытовом проигрывателе. Как думаете, потребуется ли для этой операции графический интерфейс? Спецы уверяют: не потребуется. Более того, они считают, что графический интерфейс для неудачников (GUI is for losers)! Так какое решение предлагают они?

Прежде всего, установим необходимый софт, если он еще не был установлен:

# apt-get install cdrecord ffmpeg normalize-audio libavcodec52

Теперь переместим записываемые композиции в одну директорию и назовем ее, например, burn:

ls ~/burn/
03.Come As You Are.mp3  
07 - Crystal Mountain.mp3 
09-We Who Are Not as Others.mp3
Lemuria_-_05_-_Lemuria.ogg

Т.к. эти треки взяты из разных источников, то у них может различаться уровень громкости. Нужно провести т.н. процесс нормализации. Нормализация выполняется только для формата wav. Переведем все треки в этот формат. Но тут есть одно "но". Имена файлов не должны содержать пробелов, поэтому сначала заменим их на символ подчеркивания:

$ for f in *; do mv "$f" `echo $f | tr ' ' '_'`; done

Теперь сконвертируем все треки в формат wav:

$ for i in $( ls ); do ffmpeg -i $i $i.wav; done

Теперь сама нормализация:

$ normalize-audio -m *.wav

Вывод программы будет похож примерно на следующее:

Computing levels...
Lemuria_-_05_-_Le 100% done, ETA 00:00:00 (batch 100% done, ETA 00:00:00)
Applying adjustment of 4.15dB to 03.Come_As_You_Are.mp3.wav...
03.Come_As_You_Ar 100% done, ETA 00:00:00 (batch 22% done, ETA 00:00:00)
Applying adjustment of -0.91dB to 07_-_Crystal_Mountain.mp3.wav...
07_-_Crystal_Moun 100% done, ETA 00:00:00 (batch 52% done, ETA 00:00:01)
Applying adjustment of -0.82dB to 09-We_Who_Are_Not_as_Others.mp3.wav...
09-We_Who_Are_Not 100% done, ETA 00:00:00 (batch 75% done, ETA 00:00:01)
Applying adjustment of -1.37dB to Lemuria_-_05_-_Lemuria.ogg.wav...
Lemuria_-_05_-_Le 100% done, ETA 00:00:00 (batch 100% done, ETA 00:00:00)

Можно, конечно, производить нормализацию сразу в mp3 или ogg, для этого даже существуют соответствующие команды normalize-mp3 и normalize-ogg, но это очень плохая идея (из-за транскодирования mp3->wav->mp3, если кто не догадался — прим. перев.).

Почти все. Теперь нужно узнать каким именем кодируется записывающее устройство:

$ wodim --devices

Вывод будет примерно следующим, из которого можно понять, что привод обозначается как /dev/scd0:

wodim: Overview of accessible drives (1 found) :
-------------------------------------------------------------------------
0 dev='/dev/scd0' rwrw-- : 'TSSTcorp' 'CD/DVDW SH-S183L'
-------------------------------------------------------------------------

И теперь запись:

$ cdrecord -v -nofix -eject dev='/dev/scd0' -audio -pad *.wav

Обратите внимание, что ключ -nofix оставляет сессию открытой, что делает возможным дозапись диска. Если вы пожелаете закрыть сессию, то сделать это можно командой:

$ cdrecord -v -fix -eject dev='/dev/scd0'
Ваша оценка: Нет Средняя оценка: 3 (4 votes)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.