LINUX.ORG.RU

Звук больше чем стерео (Yamaha SR-C20A)

 , цифровой звук


0

1

Предыстория: есть Yamaha SR-C20A в системе, которая подробно расписана в топике: Steam Deck PC +1

Кроме стерео в этом саундбаре есть сабвуфер. То есть кроме простого право/лево есть центральный и сабвуферный каналы. Сейчас Yamaha SR-C20A подключается через кабель USB → оптика. В случае Steam Deck (SteamOS) на выбор даётся вывод в стерео или 5.1. Само собой в случае 5.1 для право/лево разделение на сзади/спереди отсутствует, зато появляется дополнительный центральный и сабвуферный каналы. А вот в случае Ubuntu 24.04 есть только Digital S/PDIF output (тестировать в настройках предлагается при этом только два канала стерео).

Вопрос Будет ли в случае Digital S/PDIF output потока задействоваться дополнительный сабвуферный канал без дополнительных телодвижений? Если нет, то какие именно движения нужно будет сделать?

Update Обнаружилась, что в Ubuntu 24.04 с Digital S/PDIF output возникают «шумы в оптическом канале» (втыкание/вытыкание usb-кабеля помогает). Возможно это связано с kvm-переключателем и переключением между машинами.

Update 2 Установка переменной

#pulse.min.quantum      = 128/48000     # 2.7ms                                                                                                                  
 pulse.min.quantum      = 1024/48000     # 2.7ms  
в /usr/share/pipewire/pipewire-pulse.conf +
> systemctl --user restart wireplumber pipewire pipewire-pulse
ситуацию меняет к лучшему, но не окончательно. Предположительно проблемы встроек AMD и ядра Linux.

★★★★★

Последнее исправление: Evgueni (всего исправлений: 5)

Задавался этим вопросом несколько лет назад, пришёл к такому же выводу как https://en.wikipedia.org/wiki/S/PDIF:

S/PDIF can carry two channels of uncompressed PCM audio or compressed 5.1 surround sound; it cannot support lossless surround formats that require greater bandwidth

Или настраивать чтоб какой-то компонет alsa/pipewire кодировал звук в AC3/DTD/что-то другое поддерживаемое получателем (у меня не получилось, но я пробовал до эры pipewire - и получатель тоже не новый 10+ летняя Yamaha 473) или передавать stereo, а выделять низкие частоты в саб - поручить получателю (саундбару в вашем случае) включив соответствующие настройки в нём. Я выбрал именно последний вариант, как наиболее удачный для моих задач.

GPFault ★★★
()
Ответ на: комментарий от GPFault

Держу в курсе: судя по инструкции и Sound Bar Remote на Android всё (раскидывание звука по динамикам и сабвуферу) делается автоматически. Ручек немного и фактически все они торчат на пульте управления.

Evgueni ★★★★★
() автор топика

Для алсы есть a52 плагин, для кодирования в DD. У меня даже карточка(Asus Xonar DX) была которая умела кодировать сама многоканал в DD. Но с тех пор у меня задние колонки пропали при переезде и я забил.

Loki13 ★★★★★
()

Ты можешь вывести стереозвук и тогда саундбар сам раскидает при помощи встроенного кроссовера. Ты можешь вывести звук, кодированный в DTS, о поддержке которого большими буквами написано на странице этого саундбара. Для фильмов, которые сразу записаны в DTS, это, наверное, имеет смысл.

Pipewire поддерживает DTS.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Понятно. Информация вроде имеется. Странно, что эта возможность не доступна из коробки, хотя в том же Steam Deck эта настройка имеется из коробки, правда только в случае USB → оптика.

Evgueni ★★★★★
() автор топика
Ответ на: комментарий от Evgueni

Toslink - протокол без обратной связи, звуковая карта вообще не в курсе, какая там конфигурация на том конце. Она просто отдаёт поток.

Кстати, в pulseaudio в pavucontrol настройка была, а что там в pipewire я не знаю ) В любом случае, декодирует поток уже само устройство.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

встроенного кроссовера

Ну там же Class D, так что на DSP унутри можно вообще любые финты делать. Можно не то что классический bi-amp без плясок вокруг фильтров и специализированных ИС для таких усилителей мутить а спокойно делить на 3 полосы с индивидуальным усилком для каждой и все это будет на вполне типовых «кирпичиках» с али у которых назначение и полосу каждого канала можно менять прямо на лету.

anonymous
()

У тебя лагает звук из-за чего-то. Вероятно звуковой выход в низком приоритете. Тогда при слишком низкой задержке будет выдавать всякие хрипы. Выясняешь как у тебя этот цифровой выход обзывается и ставишь приоритет там на вывод на максимум, дальше смотришь какая задержка не дает негативного эффекта. Это от драйвера может зависеть. Но для USB обычно от 4 до 11 семплов минимальная задержка бывает, причем 4 это минимум возможный в Pipewire. Тупые программы могут не понимать промежуточные значения не кратные удвоению, так что там нужно выставлять 16, 32, 64, 128 и т.п.

не работает звук в debian (комментарий)

anonymous
()
Ответ на: комментарий от Aceler

Я просто немного прифигел с того что однажды купленные дешевые компьютерные колонки оказались D класса со всем этим пайплайном ADC->DAP->PWM. У меня аж руки зачесались добавить чисто цифровой вход шоб убрать лишние преобразование сперва в аналог а потом из аналога и расширенное управление фильтрами с компрессором.

anonymous
()