Как я настраиваю PulseAudio для 7.1 Объемного звука по HDMI?

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.

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

10
17.06.2014, 04:41
1 ответ

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

Существует a default профиль, который, прежде всего, содержит вещи, полезные для аналогового звукового вывода. Существует также extra-hdmi профиль, который автоматически применяется к некоторым выводам HDMI и даст опции до 5,1. Оба из этих профилей находятся, к сожалению, в /usr/share/pulseaudio/alsa-mixer/profile-sets, и таким образом Вы не можете действительно отредактировать их (я зарегистрировал ошибку Отладки 736708 об этом.) Согласно документации, Вы могли отключить находящееся в udev автоматическое обнаружение и вручную настроить все — который, позвольте нам, Вы указываете полный путь к профилю. Но это складывается, что, в то время как это не документируется, udev может указать полный путь, также.

Установите udev правило для присвоения набора профиля

Вы присваиваете набор профиля в правиле udev путем установки PULSE_PROFILE_SET переменная среды udev. Его зарегистрированный, чтобы только взять файл в вышеупомянутом /usr подкаталог, но полный путь работает также. В моем случае я создал это правило:

# cat /etc/udev/rules.d/95-local-pulseaudio.rules 
ATTRS{vendor}=="0x8086", ATTRS{device}=="0x1c20", ENV{PULSE_PROFILE_SET}="/etc/pulse/my-hdmi.conf"

Необходимо будет использовать соответствующего поставщика PCI и номера устройств, из которых можно легко получить lspci -nn.

После создания правила udev можно сразу применить его с udevadm trigger -ssound. Вы, вероятно, захотите восстановить свой initramfs также (update-initramfs -u)

Подтвердите, что правило udev вступило в силу с udevadm info --query=all --path /sys/class/sound/card0 (используйте соответствующий номер карты, конечно). Необходимо видеть E: PULSE_PROFILE_SET=/etc/pulse/my-hdmi.conf в выводе. В противном случае не продолжайте.Ничего не выйдет. Что-то неправильно с Вашими правилами udev (или возможно Вы не инициировали их — Вы могли всегда пытаться перезагрузить).

Создайте/etc/pulse/my-hdmi.conf файл

Примечание: Карта канала является по-видимому определенной для системы. Необходимо будет экспериментировать для разбираний в нем для системы. Я был удачлив, мои 7,1 расположений просто включают отбрасывание заключительных объектов для создания 5.1, 4.0, и т.д. Инструкции ниже.

Это - много копии и вставки, главным образом. Каждый раздел отличается по (a) имени, (b) описанию, (c) карте канала, (d) [дополнительному] приоритету.

[General]
auto-profiles = yes

[Mapping hdmi-stereo]
device-strings = hdmi:%f
channel-map = front-left,front-right
description = Digital Stereo (HDMI)
priority = 4
direction = output
paths-output = hdmi-output-0

[Mapping hdmi-surround-40]
device-strings = hdmi:%f
channel-map = front-left,front-right,rear-left,rear-right
description = Digital Quadrophonic (HDMI)
priority = 1
direction = output
paths-output = hdmi-output-0

[Mapping hdmi-surround-51]
device-strings = hdmi:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
description = Digital Surround 5.1 (HDMI)
priority = 2
direction = output
paths-output = hdmi-output-0

[Mapping hdmi-surround-71]
description = Digital Surround 7.1 (HDMI)
device-strings = hdmi:%f
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
priority = 3
direction = output
paths-output = hdmi-output-0

Теперь, для тестирования этого:

  1. Перезапуск PulseAudio: pulseaudio -k, как Ваш обычный пользователь, принимая Вы используете демонов в расчете на пользователя (значение по умолчанию). Запустите его снова, даже простое aplay -l будет работать.
  2. Переключитесь на эти 7,1 профилей. Лично, я использовал pactl set-card-profile 0 "output:hdmi-surround-71" чтобы сделать это, но GUI будет работать отлично, также.
  3. Выполненный speaker-test -c 8 -t w. Это должно начать объявлять о названиях динамика, надо надеяться, корректное имя из каждого динамика. Если это, названия не происходят от корректного докладчика, необходимо будет изменить карту канала для разбираний в них. После каждого изменения карты канала необходимо перезапустить PulseAudio снова.

Премия! Более полезные настройки

В /etc/pulse/daemon.conf, существует несколько настроек, которые можно хотеть изменить:

enable-remixing — Если это будет идти, то сигналу стерео будут играть его левый канал из всех трех из Ваших левых динамиков и его правильного канала из Ваших правильных динамиков. Если выключенный, это только выйдет передние два. Обратите внимание, что можно также изменить профиль на стерео (чтобы только отправить, стерео выведывают порт HDMI и позволяют получателю решить, как отобразить его на динамики).

enable-lfe-remixing — Подобный, но для того, чтобы сделать ремикс к LFE (сабвуфер) канала.

default-sample-format — Если Ваши поддержки установки HDMI, больше, чем 16-разрядное аудио, можно хотеть увеличить это до s32le (от значения по умолчанию s16le).

default-sample-rate, alternate-sample-rate — Можно хотеть подкачать их (и возможно даже отключить 44.1 кГц полностью) при больше всего использовании материала источника DVD, который обычно является 48 кГц. Или, если Ваш получатель HDMI поддерживает его, можно пойти полностью до 192 кГц. Обратите внимание, что 176 кГц имеют хорошее свойство того, чтобы быть даже несколькими из 44,1 и 48 кГц. Посмотрите ниже для того, как определить то, что поддерживает Ваш получатель

default-sample-channels — Действительно кажется, не имеет значения. Профиль, вероятно, переопределяет его...

Естественно, необходимо будет перезапустить PulseAudio после изменения этого файла.

Премия снова! Наблюдение, что поддерживает Ваш получатель

Существуют eld.* файлы в /proc/asound которые говорят Вам, что другой конец ссылки HDMI утверждает, что поддерживал. Например:

# cat /proc/asound/card0/eld#3.0 
monitor_present         1
eld_valid               1
monitor_name            TX-SR606
connection_type         HDMI
eld_version             [0x2] CEA-861D or below
edid_version            [0x3] CEA-861-B, C or D
manufacture_id          0xcb3d
product_id              0x863
port_id                 0x0
support_hdcp            0
support_ai              1
audio_sync_delay        0
speakers                [0x4f] FL/FR LFE FC RL/RR RLC/RRC
sad_count               8
sad0_coding_type        [0x1] LPCM
sad0_channels           2
sad0_rates              [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad0_bits               [0xe0000] 16 20 24
sad1_coding_type        [0x1] LPCM
sad1_channels           8
sad1_rates              [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad1_bits               [0xe0000] 16 20 24
sad2_coding_type        [0x2] AC-3
sad2_channels           8
sad2_rates              [0xe0] 32000 44100 48000
sad2_max_bitrate        640000
sad3_coding_type        [0x7] DTS
sad3_channels           8
sad3_rates              [0xc0] 44100 48000
sad3_max_bitrate        1536000
sad4_coding_type        [0x9] DSD (One Bit Audio)
sad4_channels           6
sad4_rates              [0x40] 44100
sad5_coding_type        [0xa] E-AC-3/DD+ (Dolby Digital Plus)
sad5_channels           8
sad5_rates              [0xc0] 44100 48000
sad6_coding_type        [0xb] DTS-HD
sad6_channels           8
sad6_rates              [0x1ec0] 44100 48000 88200 96000 176400 192000
sad7_coding_type        [0xc] MLP (Dolby TrueHD)
sad7_channels           8
sad7_rates              [0x1480] 48000 96000 192000

Таким образом, Вы видите, что мой получатель поддерживает LPCM (Линейный PCM, т.е. несжатое аудио) максимум на 8 каналах, 192 кГц, 24-разрядном звуке. Это также поддерживает AC3, DTS, DSD, DD +, DTS-HD и система Долби TrueHD. Таким образом, если мне закодировали файлы в тех, я могу передача те форматы (если мой медиаплеер поддерживает ее, конечно. mpv вероятно, делает).

20
27.01.2020, 20:00
  • 1
    Миллион благодарностей для этого, борьба некоторое время с установкой. Для меня правила udev не применялись сначала, я должен был перезапустить ПК для этого. Одна проблема, хотя.. @derobert Похож, я не могу передача X265, 7,1 аудиопотоков. Я просто должен декодировать его с помощью ПК и передать аудиопоток. (Мой получатель является 5.1, хотя) у Вас есть какие-либо предложения?Спасибо! Изменение –  dimuthu 03.04.2017, 06:06
  • 2
    @dimuthu H.265 (x265) является видеокодеком, не аудиокодеком. Обратите внимание, что PulseAudio только ограничил поддержку, проходят, он должен быть включен (самый легкий с GUI), и он, возможно, должен был бы быть установлен на стерео (просто деталь реализации того, как проходят через работы, не реальный предел на количество каналов). Я, кажется, вспоминаю страницу на Wiki Kodi с деталями. –  derobert 03.04.2017, 09:53
  • 3
    @dimuthu (Извините за 2-й комментарий, приложение SE разрушает попытку отредактировать...), я предположил бы, что 5,1 получателей только поддерживают AC3 и DTS. Не, например, AAC. Если это не позволяет Вам использовать некоторые функции на получателе, Вы не можете использовать с многоканальным PCM, не много точки для прохождения. По крайней мере, не по HDMI. –  derobert 03.04.2017, 09:57
  • 4
    да, Вы правы, я, заражают прохождение через аудио HDMI установки PulseAudio to Stereo. Это - единственный способ, которым я мог получить аудио битового потока к получателю. Также сделал рыть через о AAC и даже при том, что Yahama ничего не упомянул на их спецификациях, я нашел, что некоторое доказательство онлайн полагало, что это только доступно в моделях более высокого качества. Я освобождаю так много детали путем декодирования его с помощью HTPC? Я установил его до 7.1Ch/192 кГц, 24-разрядных.Спасибо! –  dimuthu 04.04.2017, 11:53
  • 5
    @dimuthu, который Вы ничего не должны действительно терять путем декодирования на ПК, пока у Вас есть разумный качественный набор преобразователя уровня в PulseAudio. Ну, ничто кроме некоторого процессорного времени (особенно на уровне той частоты дискретизации, которая несомненно далеко превышает исходный материал) –  derobert 04.04.2017, 17:40

Теги

Похожие вопросы