3.6. Расширенные возможности аудио
Пред. | Глава 3. Использование | След.

## 3.6. Расширенные возможности аудио

### 3.6.1. Окружающее/Многоканальное[Surround/Multichannel] воспроизведение

#### 3.6.1.1. DVD'шники

Большинство DVD и многие другие файлы содержат окружающий звук. MPlayer поддерживает воспроизведение такого звука, но не задействует его по-умолчанию, поскольку стерео оборудование более распространено. Для воспроизведения файла с более чем двумя каналами звука, используйте опцию `-channels`. Например, для воспроизведения DVD со звуком 5.1:

    mplayer dvd://1 -channels 6

Имейте ввиду, что несмотря на название "5.1" на самом деле присутствует шесть независимых каналов. Если у вас есть соответствующее оборудование, вы спокойно можете добавить опцию `channels` в конфигурационный файл `~/.mplayer/config` MPlayer'а. Например, для установки по умолчанию квадрофонического[quadraphonic] воспроизведения, добавьте такую строку:

    channels=4

MPlayer будет выводить четырехканальный звук, если все четыре есть в проигрываемом файле.

#### 3.6.1.2. Воспроизведение стерео звука на четырех колонках

По-умолчанию, MPlayer не дублирует никакие каналы, как и большинство звуковых драйверов. Если вы хотите, сделайте это самостоятельно:

    mplayer filename -af channels=2:2:0:1:0:0

Объяснения ищите в разделе копирование каналов.

#### 3.6.1.3. Передача AC-3/DTS

DVD, как правило, имеют окружающий звук, кодированный в AC-3 (Dolby Digital) или DTS (Digital Theater System[система цифрового кинотеатра]) формате. Некоторое современное аудио оборудование способно самостоятельно декодировать эти форматы. MPlayer может быть сконфигурирован, чтобы передавать данные без их декодирования. Это работает только для наличие в вашей звуковой карте разъема S/PDIF (Sony/Philips Digital Interface[цифровой интерфейс Sony/Philips]).

Если ваше оборудование может декодировать и AC-3, и DTS, выможете спокойно задействовать передачу для обоих форматов. В противном случае включайте передачу только того формата, который поддерживается оборудованием.

Чтобы включить передачу из командной строки:

- только для AC-3, используйте `-ac hwac3`

- только для DTS, используйте `-ac hwdts`

- для AC-3 и DTS, используйте `-afm hwac3`

Чтобы включить передачу в файле настроек MPlayer:

- только для AC-3: `ac=hwac3,`

- только для DTS: `ac=hwdts,`

- для AC-3 и DTS: `afm=hwac3`

Заметьте, что в конце `ac=hwac3,` и `ac=hwdts,` присутствует запятая (","). В этом случае MPlayer вернется к кодеку, который он обычно использует, при воспроизведении файла, не содержащего звука AC-3 или DTS. `afm=hwac3` запятой не требует; Когда указано семейство аудио, MPlayer вернется к нужному кодеку так или иначе.

#### 3.6.1.4. Передача MPEG аудио

Передатчики цифрового ТВ (такие как DVB и ATSC) и некоторые DVD, обычно имеют аудио потоки MPEG (в частности MP2). Некоторые аппаратные MPEG декодеры, такие как полнофункциональные DVB карты и DXR2 адаптеры имеют встроенную возможность декодирования этого формата. MPlayer может быть настроен для передачи аудио данных без из декодирования.

Для использования этого кодека:

     mplayer -ac hwmpa

#### 3.6.1.5. Matrix-кодированное[matrix-encoded] аудио

***TODO***

Этот раздел пока не написан, и не может быть завершен, пока кто-нибудь не предоставить нам образцы файлов для тестирования. Если у вас есть matrix-кодированные файлы, знаете где их можно достать или имеете информацию, которая может быть полезна, отошлите сообщение в рассылку MPlayer-DOCS. Укажите в теме письма [matrix-encoded audio].

Если не появятся файлы или какая-нибудь информация, этот раздел будет удален.

Полезные ссылки:

- http://electronics.howstuffworks.com/surround-sound5.htm

- http://www.extremetech.com/article2/0,1697,1016875,00.asp

#### 3.6.1.6. Эмуляция окружающего звука в наушниках

MPlayer содержит плагин HRTF (Head Related Transfer Function), основанный на проекте MIT откуда взяты измерения от микрофонов, вмонтированных в макет человеческой головы.

Хотя точная имитация системы окружающего звука[surround system] невозможна, MPlayer'овский плагин HRTF производит более пространственный окружающий звук на 2-х канальных наушниках. Обычное сведение, просто объединяет канали в два; кроме объединения каналов, `hrtf` создает хитрое эхо, слегка увеличивает разделение стерео, и меняет громкость некоторых частот. Лучше ли звучит HRTF, зависеть от исходного звука, и является делом личного вкуса, но его определенного стоит попробовать.

Для воспроизведения DVD с HRTF:

    mplayer dvd://1 -channels 6 -af hrtf

`hrtf` работает хорошо тоько с 5-ю или 6-ю каналами. Также, `hrtf` тербуется 48 kHz звук. DVD аудио уже kHz, но если у вас есть файл, который вы хотите воспроизвести при помощи `hrtf` , с другой частотой сэмплирования, необходимо его ресэмплировать[resample]:

    mplayer filename -channels 6 -af resample=48000,hrtf

#### 3.6.1.7. Решение проблем

Если вы ничего не слышите при использовании окружающего звука, проверьте настройки вашего микшера при помощи такой как alsamixer программы; очень часто по-умолчанию выходной звук выключен или его уровень установлен в ноль.

### 3.6.2. Манипуляции с каналами

#### 3.6.2.1. Общая информация

К сожалению, нет стандарта, описывающего порядок следования каналов. Порядки, указанные ниже, таковые из AC-3 и довольно типичны; попробуйте их и увидите совпадают ли они с вашим источником. Каналы нумеруются с нуля.

mono[моно]

1. center[центральный]

stereo[стерео]

1. left[левый]

2. right[правый]

quadraphonic[квадрофонический]

1. left front[левый передний]

2. right front[правый передний]

3. left rear[левый задний]

4. right rear[правый задний]

surround 4.0[окружение 4.0]

1. left front[левый передний]

2. right front[правый передний]

3. center rear[центральный задний]

4. center front[центральный передний]

surround 5.0[]окружение 5.0

1. left front[левый передний]

2. right front[правый передний]

3. left rear[левый задний]

4. right rear[правый задний]

5. center front[центральный передний]

surround 5.1[окружение 5.1]

1. left front[левый передний]

2. right front[правый передний]

3. left rear[левый задний]

4. right rear[правый задний]

5. center front[центральный передний]

6. subwoofer[сабвуфер]

Опция `-channels` используется для запроса количества каналов у аудио декодера. Некоторые аудио кодеки используют указанное количество каналов для определения необходимо ли сведение каналов. Заметьте, что это не всегда отражается на количестве выходных каналов. Например, используя `-channels 4` для проигрывания стерео MP3 файла будет по-прежнему выводить звук на два канала, поскольку MP3 кодек не создает дополнительных каналов.

Аудио плагин `channels` может использоваться для создания или удаления каналов, и полезен для управления количеством каналов, отсылаемых на звуковую карту. Смотрите следующие разделы для получения информации о манипуляции каналами.

#### 3.6.2.2. Воспроизведение моно на двух колонках

Моно звук намного лучше звучит, при воспроизведении на двух колонках - особенно при использовании наушников. Аудиофайлы, реально имеющие один канал, автоматически проигрываются через две колонки; к сожалению, множество файлов с моно звуком кодированы как стерео с тишиной в одном из каналов. Простейший и безопасный способ воспроизведения одинакового звука на обеих колонках состоит в использовании плагина `extrastereo`:

    mplayer filename -af extrastereo=0

Он усредняет оба канала, делая каждый в два раза тише изначального. В следующих разделах приводятся другие способы сделать то же самое без уменьшения громкости, но они сложнее и требуют указания различных опций в зависимости от того, какой канал остается. Если вам действительно требуется управлять громкостью, бутет проще поэкспериментировать с плагином `volume` и определить верное значение. Например:

    mplayer filename -af extrastereo=0,volume=5

#### 3.6.2.3. Копирование/перемещение каналов

Плагин `channels` может переместить любой или все каналы. Установка всех подопций плагина `channels` не так проста и требует определенной аккуратности.

1. Определитесь, сколько выходных каналов вам необходимо. Это первая подопция.

2. Посчитайте количество перемещаемых каналов. Это вторая подопция.Каждый канал может быть перемещен в несколько отличных каналов одновременно, но учтите, что исходный канал (даже при перемещении в одно место) будет пуст, пока в него не переместится какой-либо другой. Для копирования канала, оставляя исходный неизменным, просто переместите канал одновременно в требуемый и исходный. Например:

       канал 2 --> канал 3
       канал 2 --> канал 2

3. Запишите копии каналов в виде пары подопций. Заметьте, что первый канал - это 0, второй - 1 и т.д. Порядок следования значений не имеет, пока они правильно сгруппированы в пары `исходный:результирующий`.

##### Пример: один канал на две колонки

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

1. Для создания по каналу на каждую из колонок, первая подопция должна быть 2.

2. Левый канал надо переместить на правый и на себя, чтобы он не оставался пуст. Всего два перемещения, делаем вторую подопцию тоже равной "2".

3. Для перемещения левого канала (канал 0) в правый (канал 1) пара подопций имеет вид "0:1", "0:0" перемещает левый канал на себя.

Собираем все вместе:

    mplayer filename -af channels=2:2:0:1:0:0

Преимущество этого примере перед `extrastereo` состоит в том, что громкость каждого канала такая же как у исходного. Недостаток заключается в необходимости изменить подопции на "2:2:1:0:1:1", если желаемый канал - правый. К тому же его труднее запомнить и набрать.

##### Пример: левый канал на две колонки (сокращение)

На самом деле есть более простой способ использования плагина `channels` для воспроизведения левого канала на обеих колонках:

    mplayer filename -af channels=1

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

##### Пример: дублирование передних каналов на задние

Другая обычная операция - это дублирование передних каналов и воспроизведение их на задних колонках при квадрофонической настройке.

1. Выходных каналов должно быть четыре. Первая подопция равна "4".

2. Каждый из передних каналов надо переместить на соответствующий задний и на себя. Это четыре перемещения, так что вторая подопция равна "4".

3. Левый передний (канал 0) надо переместить на левый задний (канал 2): "0:2". Левый передний также надо переместить на себя: "0:0". правый передний (канал 1) перемещается на правый задний (канал 3): "1:3", и на себя: "1:1".

Собираем все и получаем:

    mplayer filename -af channels=4:4:0:2:0:0:1:3:1:1

#### 3.6.2.4. Микширование каналов

Плагин `pan` пожет микшировать каналы в указанных пользователем пропорциях. Он может делать все, что `channels`, и даже больше. К сожалению, подопции намного сложнее.

1. Определите со скольки каналами будете работать. Вам необходимо указать это при помощи `-channels` и/или `-af channels`. Дальнейшие примеры покажут когда какую использовать.

2. Решите, сколько каналов скормить `pan` (дополнительные декодированные каналы отбрасываются). Это первая подопция, она также определяет сколько каналов готовится к выводу).

3. Оставшиеся подопции указывают какая часть каждого входного канала микшируется в в каждый выходной. Это самая сложная часть. Для решения задачи, разделите подопции на несколько наборов, по одному на каждый выходной канал. Каждая подопция в наборе относится к входному каналу.

   `pan` принимает значения от 0 до 512, давая от 0% до 51200% громкости исходного канала. Будьте осторожны, используя значения больше 1, если вы превысить диапазон сэмплинга вашей звуковой карты, вы услышите противный треск и скрежет. Если хотите, можете вслед за `pan` указать `,volume` для задействования обрезки, но лучше держать значения `pan` достаточно низкими, чтобы не требовалось обрезание.

##### Пример: один канал на две колонки

Это еще один пример воспроизведения левого канала на двух колонках. Следуя инструкциям выше:

1. `pan` должен выдать два канала, т.о. первая подопция равна "2".

2. Поскольку входных каналов два, будет два набора подопций. Так как выходных каналов тоже два, то будет по две подопции в каждом наборе. Левый канал из файла должен перейти с полной громкостью в новые левый и правый. Таким образом, первый набор подопций будет "1:1". правый канал должен быть отброшен, поэтому второй набор равен "0:0". Любые значения 0 в конце могут быть опущены, но для более легкого понимания мы их оставим.

Соединение опций дает:

    mplayer filename -af pan=2:1:1:0:0

Если вместо правого канала нужен левый, подопции для `pan` будут "2:0:0:1:1".

##### Пример: левый канал на две колонки (сокращение)

Как и с `channels`, существует сокращенный вариант, который работает только для левого канала:

    mplayer filename -af pan=1:1

Поскольку `pan` имеет только один входной канал (остальные отбрасываются), будет только одна подопция, указывающая, что единственный канал получает 100% собственной громкости.

##### Пример: сведение 6-канального PCM

Декодер MPlayer'а для 6-канального PCM не способен сводить каналы. Здесь описан способ сведения PCM, используя `pan`:

1. Количество выходных каналов равно 2, значит первая подопция равна "2".

2. С шестью входными каналами будем иметь шесть наборов подопций. К счастью, поскольку мы беспокоимся о выводе только первых двух, достаточно создать два набора; оставшиеся можно опустить. Имейте ввиду, что не все многоканальные имеют одинаковый порядок каналов. пример показывает как свести файл с порядком как у AC-3 5.1:

       0 - передний левый
       1 - передний правый
       2 - задний левый
       3 - задний правый
       4 - центральный передний
       5 - сабвуфер

   В первом наборе указаны проценты от исходной громкости, в соответствующем порядке, которую каждый выходной канал получит от переднего левого канала: "1:0". Правый передний должен перейти в правый: "0:1". То же для задних: "1:0" и "0:1" Центральный должен попасть в оба с половинной громкостью: "0.5:0.5", и сабвуфер переходит в оба канала с полной громкостью: "1:1".

Все вместе:

    mplayer 6-channel.wav -af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1

Проценты, указанные выше всего лишь пример. подстраивайте их как вам удобно.

##### Пример: Воспроизведение звука 5.1 на больших колонках без сабвуфера

Если у вас есть пара огромных передних колонок, нет надобности тратиться на сабвуфер для полноценной системы 5.1. Если использовать `-channels 5` для запроса к liba52 на декодирование 5.1 аудио в 5.0, канал сабвуфера просто отбрасывается. Если вы сотите самостоятельно распределить канал сабвуфера, то потребуется ручное сведение при помощи `pan`:

1. Поскольку `pan` надо анализировать все шесть каналов, укажите `-channels 6`, чтобы liba52 декодировал их все.

2. `pan` выводит только пять каналов, первая подопция равна 5.

3. Шесть входных каналов означает шесть наборов по пять подопций в каждом.

   - Левый передний дублируется только на себя: "1:0:0:0:0"

   - То же для правого переднего: "0:1:0:0:0"

   - То же для левого заднего: "0:0:1:0:0"

   - И то же для правого заднего: "0:0:0:1:0"

   - Центральный передний, тоже: "0:0:0:0:1"

   - И, наконец, мы должны решить что же делать с сабвуфером, например, половина на передний правый и половина на передний левый: "0.5:0.5:0:0:0"

Собирая все подопции месте, получаем:

    mplayer dvd://1 -channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0

### 3.6.3. Программная подстройка звука

Некоторые звуковые дорожки без усиления слишком тихие для комфортного прослушивания. Это становится проблемой, если звуковое оборудование не способно усиливать сигнал. Опция `-softvol` указывает MPlayer'у использовать встроенный микшер. После этого вы можете использовать клавиши подстройки громкости (по-умолчанию 9 и 0) чтобы достичь значительно более громкого звучания. Заметьте, что это не исключает использования микшера вашей карты; MPlayer всего лишь усиливает сигнал перед отправкой его на звуковую карту. Следующим пример может являться неплохим началом:

    mplayer quiet-file -softvol -softvol-max 300

Опция `-softvol-max` указывает максимально допустимый уровень звука в процентах от исходного. Например, `-softvol-max 200` позволит увеличивать громкость вдвое по сравнению с оригинальным звуком. Использование больших значений с`-softvol-max`; высокий уровень громкости не будет достигнуть без использования клавиш регулирования громкости. Единственный минус больших значений заключается в том, что, поскольку MPlayer регулирует громкость в процентах от максимума, вы не будете иметь той же точности при использовании клавиш регулирования громкости. Используйте меньшее значение `-softvol-max` и/или укажите `-volstep 1` если нужна повышенная точность.

Опция `-softvol` работает, управляя аудио плагином `volume`. Если вам надо воспроизвести файл с определенной громкостью от начальной, можете указать `volume` вручную:

    mplayer quiet-file -af volume=10

Будет воспроизведен файл в усилением в 10 децибел. Будьте осторожны, используя плагин `volume` - вы можете легко повредить ваши уши слишком громким звуком. Начните с маленьких значений и постепенно увеличивайте, пока не почувствуете, что достаточно. Также, если указать черезчур высокие значения, `volume` может потребоваться обрезать звук, чтобы избежать отправления на карту данных, превышающих допустимые значение; это приведет к искажению звука.

Пред. | Уровень выше | След.
3.5. Редактируемые списки решений [Edit Decision Lists] (EDL) | Начало | Глава 4. Использование CD/DVD