LINUX.ORG.RU

Pipewire 1.6.0

 


0

1

Опубликован релиз мультимедийного сервера pipewire 1.6.0. Новая версия является API- и ABI-совместимой с предыдущей веткой 1.4.x.

Основные изменения:

  • добавлен декодер LDAC (используемого в Bluetooth);
  • для скрытия потери пакетов Bluetooth теперь используется SpanDSP;
  • POD'ы теперь безопасно парсятся и собираются в разделяемой памяти;
  • узловые команды и события теперь могут содержать дополнительные пользовательские данные;
  • добавлена поддержка изменения максимального числа каналов (которое теперь по умолчанию — 128) во время компиляции;
  • появилась настройка раскладки аудиоканалов — теперь можно использовать опцию "audio.layout" = "5.1" вместо более громоздкой audio.position = [ FL, FR, FC, LFE, SL, SR ];
  • добавлена поддержка «Параметров Возможности» («Capability Params»), что можно использовать для согласования возможностей по ссылке до согласования возможностей формата и буфера;
  • стало больше цветовых типов HDR;
  • у циклов появилась блокировка с инверсией приоритета. Большая часть кода адаптирована для использования более быстрых (по сравнению с epoll/eventfd) блокировок для обновления общего состояния;
  • позиция канала теперь парсится из EDID;
  • карты каналов теперь устанавливаются в ALSA;
  • ресемплер теперь поддерживает конфигурируемые функции окна, такие как Blackman и Kaiser, а для повышения точности фазы вычисляются в числах с фиксированной запятой;
  • фильтр-граф теперь поддерживает плагины ffmpeg и нейросетевые модели ONNX (например, модели Silero для обнаружения голосовой активности);
  • прекращена поддержка клиентов с протоколом v0;
  • модуль jack-tunnel теперь может автоматически соединять порты;
  • в ROC теперь используются мультитрековые раскладки;
  • теперь можно сконфигурировать сбросить поток при вызове fork, однако jack-клиенты ожидают, что это отключено;
  • pw-cat поддерживает sysex и midiclip так же, как несжатые форматы, добавлены опции, позволяющие установить форматы кодека и контейнера так же, как список поддерживаемых контейнеров, кодеков, раскладок и названий каналов.

>>> Полный список изменений

★★

Проверено: CrX ()
Последнее исправление: dataman (всего исправлений: 4)

Как вспомню приседания с конфигами альсы, чтобы заставить 5.1 работать, так в дрожь бросает. Слова пульсаудио, пайпварям и прочим пламам

SpaceRanger ★★★
()

стало больше цветовых типов HDR;

Вот не успокоятся они никак со своим всовыванием видеостека в пайптварь.

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

Оно, может, и дичь, но, по факту, благодаря этому нормально наконец заработала трансляция экрана со звуком много где. Так что – нехай пилят!

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

И исчез монопольный захват вебки, например. Теперь она спокойно шарится между приложениями.

SkyMaverick ★★★★★
()

Радует. Один из немногих опенсорсных проектов который радует своим развитием.

фильтр-граф теперь поддерживает плагины ffmpeg и нейросетевые модели ONNX (например, модели Silero для обнаружения голосовой активности)

Как это применить и для чего? Хочу.

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

Как вспомню приседания с конфигами альсы, чтобы заставить 5.1 работать, так в дрожь бросает. Слова пульсаудио, пайпварям и прочим пламам

Теперь надо уметь крутить конфиги не только Альсы, но и ПульсеАудио, а поверх них еще и ПипеВаре.
А ПульсеАудио хоть с ПипеВаре, хоть без нее, хоть вместо нее, как пш-пш-пышало, так и пш-пш-пышит.
Не решив главную проблему, они разрабатывают мультимедийную систему Linux.
Зашшшшшибись! Щелк, плюньк.

Xintrea ★★★★★
()
Последнее исправление: Xintrea (всего исправлений: 1)

Как много изменений. Не успеваешь прям следить.

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

Как это применить и для чего? Хочу.

Для автоматики например, я косвенно связан с одним проектом, который автоматизирует выставки, музеи, и там есть такие задачи.

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

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

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

Зачем использовать PA и PW одновременно?

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

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

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

PipeWire, в отличие от PulseAudio, работает на фиксированной задержке, и потому если он не успевает обработать звук (buffer underruns), он начинает кряхтеть.

В 99% случаев это из-за отсутствия повышенного приоритета у процессов PipeWire, чем из коробки должен заниматься RealtimeKit.

Ещё недавно в rtkit была проблема, что он мог забрать все приоритеты после выхода из ждущего режима: Деградация службы pulseaudio (комментарий)
Исправлено в RealtimeKit 0.14, автоматически работает при использовании logind.

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

Это здорово. Но ты мне объясни, что делают эти end-to-end модели голосовой активности? Они делают что? Просто будят если голос услышали? Ключевые слова слышат? Речь отфильтровывают? Сами говорят? Чивоита? Я попытался на ходу почитать проних -ничего не понял. Разложи глупенькому на пальцах.

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

никогда не слышал пш в пульсе

У меня лет 5 назад были проблемы, иногда PA при каких-то действиях (какие именно, я не мог определить достоверно) начинал шакалить звук, он становился как бы металлическим и сильно терял в качестве. Только на рабочем десктопе, раз в 1-2 недели. Лечилось pulseaudio -k ; pulseaudio --start. Было где-то полгода, доставало, но не очень сильно (поэтому я и не сильно прилагал усилия к разбирательству), потом раз и прошло после каких-то обновлений.

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

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

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

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

в плеерах если вывод ставлю на пипу, звук шакальный, приходится вывод на пульсу ставить. не пойму, почему так

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

в играх часто щелчки или трески бывают

Костыль для Wine/Proton:

$ XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
$ cat "$XDG_CONFIG_HOME/pipewire/pipewire.conf.d/99-quantum.conf"
context.properties = {
    default.clock.min-quantum = 1024
}
$ cat "$XDG_CONFIG_HOME/pipewire/pipewire-pulse.conf.d/99-quantum.conf"
context.properties = {
    default.clock.min-quantum = 1024
}

pulse.properties = {
    pulse.min.req     = 1024/48000
    pulse.min.frag    = 1024/48000
    pulse.min.quantum = 1024/48000
}
Darth_Revan ★★★★★
()
Ответ на: комментарий от PcheloBiaka

Речь отфильтровывают?

Шум и тишину.

https://ru.wikipedia.org/wiki/Voice_Activity_Detection:

VAD (англ. Voice Activity Detection), а также Silence Suppression (с англ. — «подавление тишины») — обнаружение голосовой активности во входном акустическом сигнале для отделения активной речи от фонового шума или тишины. Голос, интерпретированный как шум, может порождать «вырезки» из разговора (chipping). Фон, интерпретируемый как голос, приводит к снижению эффективности компрессии (например, в DTX).

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

Точно с приоритетами всё в порядке? Можно проверить вот так:

pgrep -f '(pipewire|wireplumber)' | xargs ps -o pid,nice,cmd
chrt -a -p "$(pidof pipewire | awk '{print $1}')"
Darth_Revan ★★★★★
()
Ответ на: комментарий от milka
chrt -a -p "$(pidof pipewire | awk '{print $1}')"
    PID  NI CMD
  74332 -10 /usr/bin/pipewire
  74333 -11 /usr/bin/wireplumber
  74334   0 /usr/bin/pipewire -c filter-chain.conf
  74335 -11 /usr/bin/pipewire-pulse
pid 74334's current scheduling policy: SCHED_OTHER
pid 74334's current scheduling priority: 0
pid 74334's current runtime parameter: 700000```
но мне этот выхлоп ничего не говорит)
milka
()
Ответ на: комментарий от SpaceRanger

Ага, а ещё квантовый гармонизатор в фатонно-резонансной камере, который своими синусоидами приводит к рассинхронизации гармоник на уровне обстракции полярностей межушного ядра.

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

Аааа! я прпустил vad и сразу побожал читать про silera. А там и то и сё и stt и tts…. я и испугался.

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

низкая задержка это миф какой-то, на гитаре не поиграть

Не надо путать частные проблемы у 0.1% пользователей в лице тебя, и понятие «миф». Это не миф, все работает, при самых жестких требованиях, но конечно бывает странное железо, на него кто-то натыкается.

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

Я подтверждаю. С самых первых моих попыток использования pipewire он работает как минимум не хуже джека. Единственное что пришлось делать - искать удобную настраивалку буфферов (которые в pipewire настраиваются налету!). Я в сосноль ленюсь лазить.

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

В jackd «была», а сейчас в пайпе - есть, такая же. Только pipewire должен быть переключен на профиль Pro Audio, тогда он использует такой же способ шедулинга, как jackd, и работает идентично ему.

Это в норме, конечно, если нет проблемы с уникально встречающимся вариантом железа, на котором штатно не работает что-то.

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

У меня два скрипта, ну ты наверное в курсе, просто пишу чтоб было еще раз озвучено. Один скрипт все засобачивает под работу с низкой задержкой, второй возвращает назад. И ставить буфер каждый раз руками в GUI я лично не вижу смысла. А так то можно прямо в Ardour менять например.

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

никогда не слышал пш в пульсе

Это ты не запускал нативный Quake4 в linux, или Doom3.
Там одно только «пшш» и слышно, с хрипотцой, скрипами и прочими режущими ухо звуками.
При этом на alsa или oss4 всё идеально.
На pipewire не пробовал.

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

«мой папа четко знает что такое буфера!» (с)

Главное, чтоб было чуть больше, чем помещается в раскрытую ладонь! :)

А если по теме то 8192 сэмпла для музыки достаточно обычно.

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

он просто не знает как их настраивать. а я знаю.

И вообще, понавтыкали рандомно тут сдвоенные буквы, тут одинарные, а ещё постоянно не совпадает с языками откуда вы понатырили этих слов. В оригинале две, вы пишите одну, в оригинале одна, вы три готовы запихнуть :))

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

Я запускаю всё через raysession. Он мне и сессии рулит и проекты и бонусом буффффера выставляю на нужный угол при надобности.

PcheloBiaka
()

А они там ещё не додумались написать аналог gnuradio-companion? А то pw-dot есть, а ковырять всё руками приходится. И не сказать, что конфиги у pw располагают к соединению входов-выходов и т.п.

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

Так оно же вообще тому же grc в подмётки не годится. Недоделки какие-то. Ни всяких модулей добавить, ни каких-нибудь FFT индикаторов, ни ручек понаставить для руления любыми параметрами модулей.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

По хорошему, надо отдельная GUI тулза именно для filter-chain (с которым helvum и qpwgraph вообще не работают). Но там в самом pipewire то ли недодумали, то ли что - нельзя на лету менять структуру графа filter-chain для ноды без костылизма, в виде запуска дочернего второго процесса pipewire, который добавляет ноду с готовым новым filter-chain.

James_Holden ★★★★★
()

добавлен декодер LDAC (используемого в Bluetooth);

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

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

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

дело твое. Но, если очень хочешь кому-то «денег отвалить», то - можешь начать с меня. Я - возьму :)

DrRulez ★★★★★
()
Последнее исправление: DrRulez (всего исправлений: 1)
Ответ на: комментарий от DrRulez

Нет, вопрос конечно в контексте, если я захочу продавать устройства, принимающие звук по LDAC (т.е использующие декодер) массово

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

HDMI на FPGA тоже можно реализовать, только вот чтобы продавать экземпляры такой реализации, придётся патент оплатить

mittorn ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.