URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 4798
[ Назад ]

Исходное сообщение
"Смена частоты дискретизации в PipeWire для Roland Quad-Capture"

Отправлено sound for Linux , 23-Мрт-22 10:10 
Здравствуйте.

Имеется:
1. Внешняя звуковая карта Roland Quad-Capture (может работать с частотами дискретизации 44100, 48000, 96000, 192000)
2. Fedora 35 с pipewire

Когда был установлен Windows 7 то при выводе звука через ASIO частота дискредитации автоматически переключалась на нужную. В Windows XP такое происходило даже без ASIO, а также была возможность изменить частоту через специальную утилиту, которая была на диске с драйверами. Хотелось бы сделать тоже самое под Linux (устроит даже вариант с ручным переключением).

Итак, я сделал все по этой инструкции:
https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Con...

т.е. скопировал шаблон конфигурационного файла в:
~/.config/pipewire/pipewire.conf

и отредактировал настройку:
default.clock.rate  =    48000
заменив значение на 192000
и перегрузился

Когда включаю PipeWire EasyEffects и запускаю какой-нибудь плеер, например DeadBeef, то вижу, что плеер выдает поток с какими-либо параметрами, например 44.1 / 16 бит или 96 / 24 бит и т.д.
Внизу вижу, я так понимаю, итоговую частоту и она соответствует тому значению, которое я прописал в pipewire.conf (т.е. если настройка закомментирована, то 48000, если выставлено 192000 то соответственно 192000).

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

Где рыть, что смотреть, куда копать?
Если проблема в драйверах, то где искать их исходники? (я не нашел)


Содержание

Сообщения в этом обсуждении
"Смена частоты дискретизации в PipeWire для Roland Quad-Capture"
Отправлено Павел Отредиез , 23-Мрт-22 21:55 
>[оверквотинг удален]
> Но на самом деле переключения на нужную частоту не происходит. Почему я
> это знаю:
> 1. 192000 эта звуковуха может выдавать только по аналогу (т.е. на наушники
> и мониторы), а по цифре, к которой сейчас подключены колонки должна
> быть тишина.
> 2. При переключении частоты дискретизации моргают лампочки на устройстве, а если поменять
> настройку в конфиге и завершить сеанс и снова зайти, то ничего
> не моргает.
> Где рыть, что смотреть, куда копать?
> Если проблема в драйверах, то где искать их исходники? (я не нашел)

Почему Вы пользуетесь pipewire а не классическим jackd/jackd2.  Там строго jackd работает на заданной частоте дискретизации. Клиенты могут проигрывать через pulseaudio -> jackd маршрут. Лично для меня pipewire вообще неизвестная планета. Вроде как все музыканты кто уж на Linux пользуются jackd(2).



"Смена частоты дискретизации в PipeWire для Roland Quad-Capture"
Отправлено sound for Linux , 25-Мрт-22 16:56 
>  Почему Вы пользуетесь pipewire а не классическим jackd/jackd2.  Там строго
> jackd работает на заданной частоте дискретизации. Клиенты могут проигрывать через pulseaudio
> -> jackd маршрут. Лично для меня pipewire вообще неизвестная планета. Вроде
> как все музыканты кто уж на Linux пользуются jackd(2).

1. Попробовал загрузиться с Live CD дистрибутива AV Linux, в котором есть JACK.
В настройках JACK Connection Kit выбираю любое значение, отличное от 44100 и все-равно показывает 44100.

2. Нашел исходники для драйвера:
https://github.com/torvalds/linux/blob/master/sound/usb/quir...
Тут в комментарии написано, что работает только 44.1 kHz на данный момент.

А вот тут есть коммит:
https://github.com/torvalds/linux/commit/b7f33917bcd993ff81f...
В котором говориться, что данное устройство использует специфический механизм для переключения частоты, потому и заблокированы остальные режимы.

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

Такие пироги :(


"Смена частоты дискретизации в PipeWire для Roland Quad-Capture"
Отправлено Павел Отредиез , 25-Мрт-22 18:45 
Да не, все должно работать. Все эти карты usb однотипные. У меня steinberg ur 12 отлично используется на 96 кГц.
Покажи твои
 
uname -ar
lsusb -v
lsmod


"Смена частоты дискретизации в PipeWire для Roland Quad-Capture"
Отправлено Павел Отредиез , 25-Мрт-22 18:47 
И да пробуй это все через qjackctl очень наглядно и быстро. А то где ты там че выставляешь, непонятно.



"Смена частоты дискретизации в PipeWire для Roland Quad-Capture"
Отправлено Павел Отредиез , 25-Мрт-22 19:18 
Вообще то да, проблемная карта.