LINUX.ORG.RU

Коварный звук, или Как отключить замедление звука в PA?

 , ,


0

1

Собственно, сабж.

Давеча заметил, что в некоторых случаях (к примеру – запуск игры через Wine) звук, вот чтобы не соврать, становится словно вдвое замедленным и вдвое ниже по высоте, если чисто через PulseAudio его гнать. Точно такое же происходит, если выключить JACK.

НО! Если перезапустить сервер через pulseaudio -k или банально обратно включить JACK (вместе с нужной маршрутизацией), то звук исправляется! Чудеса да и только!

Поначалу подозрение пало на частоту, ибо в настройках "жоки" у меня выставлено 96кГц. Выставил то же в daemon.conf – ноль реакции! Выставил 44,1кГц в настройках JACK при стандартных в daemon.conf – то же, правда, замедляется не так сильно! Соответственно, здесь что-то иное играет роль. Возможно, даже ALSA (но это не точно, ибо я в этом плане нуб).

Кто ещё с таким сталкивался? В какую сторону копать? Или же выкидывать вот это всё и ставить Pipewire?

P.S. Сижу на "арче", ибо надо было проверить, что ломало JACK. Оказалось, ядро 5.13 из последних. @James_Holden, на заметку!

Похоже мои опасения оправдались.

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

С pipewire + deadbeef у меня такие же закидоны при определённом сочетании настроек обоих.

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

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

ЕМНИП, ты её как-то победил в PW. В PA можно её принудительно менять на лету?

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

В PA есть параметры default-sample-rate и alternate-sample-rate. То есть можно назначить две разные частоты, и PA будет переключаться на более подходящую в зависимости от того, с какой частотой отдает источник.

Принудительно командой переключать на лету вроде нельзя (в pipewire можно).

Но я не думаю что это поможет. Надо как-то найти причину. Если у тебя в два раза медленнее идет, значит звуковуха работает - 48000 или 44100, а приложение выдает 96000. Почему-то вайн думает что надо на 96000 отдавать.

Есть такая фишка. Некоторые приложения (например, хром) запрашивают у PA частоту при подключении, и потом все преобразуют на нее. Возможно тут так же - вайн запрашивает частоту, получает - 96000 и начинает так работать. Ты отключаешь jack, PA переключает звуковуху на 48000, а вайн продолжает выдавать 96000. Когда ты делаешь pulseaudio -k, вайн вынужден переподключиться, и он получает уже правильное значение частоты.

James_Holden ★★★★
()

сталкивался, решил установкой одинакового значения для default-sample-rate и alternate-sample-rate

/etc/pulseaudio/daemon.conf

default-sample-rate = 44100
alternate-sample-rate = 44100

annerleen ★★★★☆
()

Много лет сижу на 96кГц. Вроде нормально. Но один раз такое было в 2016 году при обычном воспроизведении через RhythmBox, я даже подумал, что это ремикс какой-то. Через минуту понял, что это PulseAudio глючит. Перезагрузил, и больше подобного не замечал.

Каштан.

anonymous
()

Ну и с Wine надо ещё отдельно долбиться

https://wiki.winehq.org/Sound

Не помню, где… Но правил частоту и в какой-то ещё фигне… openal.conf что-ли.

На System Shock 2 трещало

Каштан.

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

тогда жду просветления по теме. Что и где ресемплится? Почему и зачем? Можно ли «запретить»? Если можно, то к чему это приведёт?

Если сложно коротко написать, пошли меня на ссылку (английского не боюсь)

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

эта опция говорит «избегать ресэмплинг, если возможно»

если пустить поток(и) совпадающий(е) с default-sample-rate или alternate-sample-rate, то ресэмплинга не будет

если не совпадет - то будет

kott ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.