Руководство FreeBSD
Пред. | Глава 7. Мультимедиа | След.

# 7.3. Звук MP3

Предоставил Chern Lee.

MP3 (MPEG Layer 3 Audio) достигает качества звука, близкого к CD, и нет причин не воспользоваться им на вашей рабочей станции.

## 7.3.1. Проигрыватели MP3

На данный момент наиболее популярным MP3-проигрывателем для X11 является XMMS (X Multimedia System). Скины приложения WinAMP могут быть использованы для XMMS так как графический интерфейс пользователя практически идентичен интерфейсу программы WinAMP от Nullsoft. XMMS поддерживает также собственные расширения.

XMMS может быть установлен из порта или пакета `multimedia/xmms`.

Интерфейс XMMS интуитивно понятен и включает в себя список песен, графический эквалайзер и многое другое. Те, кто знаком с WinAMP, найдут XMMS очень простым в использовании.

Порт `audio/mpg123` является альтернативой, это MP3-проигрыватель для командной строки.

mpg123 может быть запущен с указанием звукового устройства и файла MP3 в командной строке как показано ниже:

    # mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
    High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
    Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
    Uses code from various people. See 'README' for more!
    THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!

    Playing MPEG stream from Foobar-GreatestHits.mp3 ...
    MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

`/dev/dsp1.0` должно быть заменено соответствующим устройством `dsp` для вашей системы.

## 7.3.2. Копирование аудио дорожек с CD

Перед тем как преобразовывать CD или дорожку CD в MP3, аудио данные на CD должны быть скопированы на жёсткий диск. Это можно сделать путём копирования данных CDDA (CD Digital Audio) в файл WAV.

Утилита `cdda2wav`, которая является частью пакета `sysutils/cdrtools`, может быть использована для копирования аудио информации с CD, а также различной связанной информации.

Когда музыкальный CD находится в приводе, следующая команда может быть выполнена под `root` для того, чтобы скопировать весь CD в отдельные (один на каждую дорожку) WAV файлы:

    # cdda2wav -D 0,1,0 -B

cdda2wav поддерживает ATAPI (IDE) приводы CDROM. Для копирования с IDE привода, укажите имя устройства вместо номеров SCSI. Например, для того, чтобы скопировать 7-ую аудио дорожку с IDE-привода:

    # cdda2wav -D /dev/acd0 -t 7

Параметр `-D `0,1,0`` указывает устройство SCSI `0,1,0`, соответственно результату работы `cdrecord -scanbus`.

Для того, чтобы копировать отдельные дорожки, используйте параметр `-t` как показано ниже:

    # cdda2wav -D 0,1,0 -t 7

Этот пример показывает как скопировать 7-ю дорожку музыкального CD. Для того чтобы скопировать набор дорожек, например, с первой по седьмую, укажите диапазон:

    # cdda2wav -D 0,1,0 -t 1+7

Утилита dd(1) также может быть использована для копирования аудио дорожек на приводах ATAPI, для того, чтобы узнать больше об этом, прочитайте Разд. 17.6.5.

## 7.3.3. Создание файлов MP3

На сегодняшний день наилучшим выбором программы для создания mp3 является lame. Lame находится в дереве портов в подкаталоге `audio/lame`.

Используя скопированные файлы WAV, следующая команда преобразует `audio01.wav` в `audio01.mp3`:

    # lame -h -b 128 \
    --tt "Foo Song Title" \
    --ta "FooBar Artist" \
    --tl "FooBar Album" \
    --ty "2001" \
    --tc "Ripped and encoded by Foo" \
    --tg "Genre" \
    audio01.wav audio01.mp3

Частота 128 килобит является стандартом "де факто" для MP3. Многие, однако, используют более высокие частоты для получения лучшего качества, 160 или 192 килобита. Чем выше частота, тем больше дискового пространства будет занимать получаемый MP3, но качество будет выше. Параметр `-h` включает режим ''лучшее качество, но меньше скорость''. Параметры, начинающиеся с `--t` указывают теги ID3, которые обычно содержат информацию о песне, включаемую в файл MP3. О дополнительных настройках преобразования можно узнать, прочитав страницу руководства lame.

## 7.3.4. Декодирование MP3

Для того, чтобы записать музыкальный CD из файлов MP3, они должны быть преобразованы в несжатый формат WAV. Как XMMS, так и mpg123 поддерживают вывод MP3 в распакованный формат файлов.

Запись на диск в XMMS:

1. Запустите XMMS:

2. Нажмите правой кнопкой мыши в главном окне XMMS для того, чтобы показать меню.

3. Выберите `Preferences` (либо `Свойства`, если у вас локализованная версия XMMS) в `Options`.

4. Измените расширение вывода на ''Disk Writer Plugin'' (или ''Расширение записи на диск'', если у вас локализованная версия XMMS).

5. Нажмите `Configure` (или ''Настройка'', если у вас локализованная версия XMMS).

6. Введите (или выберите при помощи обзора) каталог, в который следует сохранять распакованные файлы.

7. Загрузите файл MP3 в XMMS как вы это делаете обычно. Установите громкость на 100% и отключите эквалайзер.

8. Нажмите `Воспроизвести` -- XMMS будет выглядеть так же как и при обычном воспроизведении MP3, но самой музыки слышно не будет. На самом деле MP3 воспроизводится в файл.

9. Убедитесь, что вы установили расширение вывода таким, как оно было до этого, для того, чтобы снова слушать MP3.

Запись в stdout в mpg123:

1. Запустите `mpg123 -s `audio01.mp3` > audio01.pcm`

XMMS записывает файл в формате WAV, в то время как mpg123 преобразовывает MP3 в простые аудио данные PCM. Оба формата могут быть использованы cdrecord для создания музыкальных CD. Для использования burncd(8) вам потребуются простые аудио данные PCM. Если же вы будете использовать файлы в формате WAV, то заметите небольшой щелчок в начале каждой аудио дорожки, этот щелчок - заголовок файла в формате WAV. Вы очень просто можете избавиться от него путём удаления заголовка WAV при помощи утилиты SoX (она может быть установлена из порта `audio/sox` или соответствующего пакета:

    % sox -t wav -r 44100 -s -w -c 2 track.wav track.raw

Прочтите Разд. 17.6 для того, чтобы узнать больше о записи CD в FreeBSD.

Пред. | Начало | След.
Настройка звуковой карты | Уровень выше | Воспроизведение видео

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.