Звук в Линуксе/Сжатие
Пользователям
[править]- Подсистемы и серверы
- Запись и представление звуковых данных
- Воспроизведение
- Считывание компакт-дисков
- Сжатие
- Тэги
Музыкантам
[править]Сжатие в формат 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.