Перейти к содержанию

Звук в Линуксе/Сжатие

Материал из Викиучебника — открытых книг для открытого мира

Пользователям

[править]

Музыкантам

[править]

Сжатие в формат Ogg Vorbis

[править]

Сжатие в формат Ogg Vorbis осуществляется при помощи программы oggenc из пакета vorbis-tools.

Синтаксис таков:

oggenc [опции_кодирования] [исходный_файл.wav] [шаблон] [конечный_файл.ogg]

-B n, --raw-bits=n - битность записи (по умолчанию равна 16)

-C n, --raw-chan=n - установить количество каналов для кодируемого потока (по умолчанию используется два, но помните, что при желании можно использовать до 255 каналов)

-R n, --raw-rate=n - частота семплирования (по умолчанию устанавливается как 44100 Гц)

-b n, --bitrate=n - битрейт (Кбит/сек)

-m n, --min-bitrate=n - минимально допустимый битрейт (Кбит/сек)

-M n, --max-bitrate=n - максимально допустимый битрейт (Кбит/сек)

-q n, --quality=n - установить качество сжатия n, могущее находиться в пределах от 0 (низкое качество звука) до 10 (максимально возможное качество звука)

-o output_file, --output=output_file - записать кодируемый поток в файл

-n pattern, --names=pattern - позволяет записывать имена файлов, опираясь на заданные тэги %a (исполнитель), %t (название композиции), %l (альбом), %G (жанр)

-c comment, --comment comment - задаёт дополнительный комментарий.

При пакетном сжатии файлов, имеющих общее происхождение, есть смысл использовать шаблоны (patterns). Вот как выглядит работа с шаблонами:

oggenc -b 192 -a "Имя исполнителя" -l "Альбом" -t "Название первой композиции" название_соответствующего_ей_первого_исходного_файла.wav -t "Название второй композиции" название_соответствующего_ей_второго_исходного_файла.wav -t "Название третьей композиции" название_соответствующего_ей_третьего_исходного_файла.wav -n "%a - %t.ogg"

В результате мы получим три файла, каждый из которых будет иметь имя вида "Имя исполнителя - название песни.ogg", и в каждом помимо того будет записан тэг с названием альбома.

Сжатие в формат MP3

[править]

Наиболее качественным кодеком считается lame, который в течение последних лет и берётся для проведения различных тестов.

Увы, есть все основания усомниться в возможности дальнейшего официального использования lame на Западе, поскольку программное обеспечение для сжатия в MP3, распространяющееся под лицензией GPL, признано руководством обладателя патента на алгоритм сжатия MP3, Thomson Multimedia, нелицензионным. Из немалого набора опций рассмотрим основные.

-m mode режим кодирования =s, j, f, d, m.

Немного подробнее о режимах кодирования:

(s)tereo - сигнал кодируется как есть, независимо от соотношения слабых и сильных сигналов в каждом канале;

(j)oint stereo - применяется для треков с незначительным стереоразделением каналов;

(f)orced joint stereo - это принудительный вариант joint stereo. Его следует использовать в тех случаях, когда вы уверены, что разделение каналов минимально в каждой отдельно взятой выборке сходного файла;

(d)ual channels - два канала будут кодированы абсолютно независимо друг от друга; это позволяет, к примеру, записать в один канал речь на одном языке, а во второй канал — на другом языке;

(m)ono - конечный файл будет записан в монофоническом режиме. Если оригинал был стереофоническим, он будет пересемплирован в монофонический суммированием сигналов правого и левого каналов с сопутствующим понижением выходного уровня на 6 децибел;

Интересной опцией является --freeformat. Использование этой опции позволяет задать любой произвольный битрейт выше 8 Кбит/сек. Однако, стоит учитывать возможности средств декодирования: тесты показывают, что поток с битрейтом больше 640 Кбит/сек не способен воспроизвести ни один из существующих декодеров.

При кодировании в MPEG-1 Layer 3 (MP3)следует при помощи опции -b указывать один из следующих постоянных битрейтов (при частоте семплирования 32, 44.1 или 48 кГц): 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320.