11.12. Запись аудиодиска для стандартных проигрывателей
Проблема
Требуется узнать, как записать аудиодиск для воспроизведения в бытовом проигрывателе (скажем, в машине). Также нужно уметь преобразовывать различные аудиоформаты (скажем, ogg-vorbis, mp3, .wav и .cdr), поскольку они не воспроизводятся на стандартных проигрывателях компакт-дисков, только на компьютерах.
Решение
Используйте sox, normalize и cdrecord, а также «болванки», предназначенные для записи аудио.
На первом этапе программа sox преобразует звуковые файлы в формат .cdr, после чего формат .cdr преобразуется в формат .wav.
Затем ключ -audio команды cdrecord преобразует файлы .wav в формат CD-DA (Compact Disk Digital Audio), поддерживаемый стандартными проигрывателями.
$ sox soundfile filename.cdr
$ sox filename.cdr filename.wav
$ cdrecord -v nofix -eject dev=0,1.0 -audio -pad filename.wav
Ключ -pad гарантирует правильное заполнение секторов диска, a -nofix оставляет диск открытым для добавления новых дорожек. Чтобы закрыть и зафиксировать диск, выполните следующую команду:
$ cdrecord -v -fix -eject dev=0,1,0
Преобразовывать файлы один за другим утомительно. Следующая команда Bash преобразует группу файлов .ogg в формат .cdr:
$ for i in *.ogg; do echo $i; sox $i ${i%.ogg}.cdr; echo ${i%.ogg}.cdr; done
Замените ogg расширениями тех файлов, которые требуется преобразовать.
Если коллекция дорожек собирается из разных источников, воспользуйтесь утилитой normalize и уравняйте громкость звука с ключом -m (Mixed mode):
$ normalize -m /soundfiles/*.wav
Выбор дорожек для записи может осуществляться разными способами. Следующая команда записывает все дорожки в формате .wav из каталога /home/songs в определённом порядке: сначала цифры, затем алфавитные символы в верхнем регистре, затем алфавитные символы в нижнем регистре:
$ cdrecord -v -nofix -eject dev=0,1.0 -audio -pad /home/songs/*.wav
Или перейдите в каталог /songs и перечислите отдельные песни:
$ cdrecord -v -nofix -eject dev=0,1,0 -audio -pad song1.wav song3.wav song7.wav
Обязательно используйте диски CD-R, рассчитанные на воспроизведение в бытовых проигрывателях.
Комментарий
Новые версии sox вроде бы должны поддерживать формат .mp3, но на практике это не всегда так. Выполните команду sox -h и посмотрите, какие форматы поддерживает команда. Если ваша конкретная версия sox не поддерживает .mp3, используйте mpg123 и sox:
$ mpg123 -b 10000 -s filename.mp3 | sox -t raw -r 44100 -s -w -c 2 - filename.wav
Параметры:
- -b 10000 — размер буфера в байтах;
- -s — перенаправление результата в стандартный вывод (вместо попытки воспроизведения файла);
- sox -t raw -r 44100 -s -w -c 2 — описание формата .cdr с явным указанием спецификаций.
Диск не может содержать более 99 дорожек. Впрочем, чтобы на одном диске поместилось 99 песен, эти песни должны быть совсем короткими.
Если музыкальные файлы уже хранятся в формате .wav, вероятно, вам не придётся преобразовывать их. Тем не менее не все файлы .wav имеют правильную структуру для записи на диск; в таких случаях команда cdrecord остановится и выдаст сообщение об ошибке. Преобразуйте неправильный файл .wav в .cdr при помощи sox, а затем снова преобразуйте .cdr в .wav.
Форматы .wav и .flac обеспечивают наивысшее качество из всех форматов цифрового аудио. Всегда начинайте с них, если существует такая возможность, а потом преобразуйте их в другие форматы по мере необходимости. Чаще всего это делается для экономии места, поскольку файлы .wav и .flac очень велики. Файл .ogg обычно занимает около 1/10 объёма файла .wav.
Ogg Vorbis — открытая и не защищённая патентами технология кодирования аудиоинформации. Она не связана с лицензионными отчислениями или другими ограничениями, присущими запатентованным, закрытым форматам типа MP3.
Формат .ogg обеспечивает хорошее качество звука при сжатии данных с потерями. Под «потерями» имеется в виду, что часть информации пропадает для уменьшения размера файла.
MP3 — другой качественный формат сжатия с потерями. Это запатентованный, закрытый формат, поэтому его использование ограничено, код закрыт, а исполнители и распространители должны платить лицензионные отчисления. Компания «Thomson and Fraunhofer», которой принадлежат права на формат MP3, включает в него поддержку DRM (Digital Rights Management, а проще говоря, ограничение копирования).
См. также
cdrecord(1), sox(1), normalize(1).