Как использовать JACK и Pulseaudio / ALSA одновременно на одном и том же аудиоустройстве?

17

Всякий раз, когда я запускаю водород, он прерывает мой звук во всех других приложениях, которые используют Pulse, например, я больше не могу воспроизводить видео в Chrome после запуска Hydrogen один раз, пока я не перезагружу свой компьютер или не перезагружу sudo alsa. Я нашел людей с похожими проблемами, но нет фактического руководства, чтобы исправить это, часто есть ссылки на это: Ссылка (которая сломана) Я использую Ubuntu Studio 14.04 64bit.

ALTERNATIVELY, если это действительно невозможно достичь, может кто-нибудь сказать мне, как использовать Jack на одной звуковой карте и Pulse на другой? Таким образом, я мог бы подключить звуковую карту USB только тогда, когда мне нужен JACK.

Пожалуйста, не заставляйте меня использовать окна.

    
задан Andreas Hartmann 10.01.2015 в 13:39
источник

6 ответов

17

Начиная с 16.04, все становится намного проще:)

Просто установите qjackctl и pulseaudio-module-jack module:

apt-get install qjackctl pulseaudio-module-jack

Затем настройте qjackctl для запуска следующей команды после запуска. Скопируйте его в «Setup ...» > «Опции» > «Выполнить скрипт после запуска»:

pactl set-default-sink jack_out

И это так. Pulseaudio распознает (через D-Bus) запуск JACK и автоматически направит аудио на него. Когда JACK остановлен, Pulseaudio вернется к нормальной маршрутизации и снова начнет отправлять аудио непосредственно на карту.

Итак (почти) по умолчанию Pulseaudio реализует установку, описанную выше, с помощью mmv-ru.

    
ответ дан José Micó 25.05.2016 в 04:41
источник
11

Это видео Youtube: «Jack and PulseAudio Together as Friends - Linux» , похоже, было несколько ответов

Ключ к решению, похоже, заключался в том, чтобы установить pinaudio-module-jack с помощью:

aptitude install pulseaudio-module-jack

, затем sudo редактирует файл /etc/pulse/default.pa, чтобы включить две строки под ручным разделом драйверов аудио загрузки:

load-module module-jack-sink
load-module module-jack-source

затем - я думаю - перезапуск pulseaudio. Я просто перезапустил компьютер (ленивый, я знаю), и это сработало ... стрельба Ардор больше не убивал пульсаудио, они играли счастливо вместе.

    
ответ дан RobinsSea 03.10.2015 в 11:02
8

Только что поставленный квест на сосуществование Джека и Пульса на Fedora. В общем, я доволен Pulseaudio, но иногда мне нужен звук Jack.

Мое решение работает на Fedora 23.

dnf install jack-audio-connection-kit jack-audio-connection-kit-dbus qjackctl

Не прикасайтесь к /etc/pulse/default.pa!

Настроить qjackctl

Таместьсоответствующийфрагмент~/.config/rncbc.org/QjackCtl.conf

[Settings]Server=jack_controlstartDriver=alsaInDevice="hw:PCH,0"
OutDevice="hw:PCH,0"

именараковиныдляpactlможнонайтипокоманде:

pacmdlist-sinks

Естьещеодинфрагмент~/.config/rncbc.org/QjackCtl.conf,чтобыпоказатьполныекоманды

[Options]...StartupScript=trueStartupScriptShell=pactlsuspend-sinkalsa_output.pci-0000_00_1b.0.analog-stereo1PostStartupScript=truePostStartupScriptShell=pactlset-default-sinkjack_outShutdownScript=falseShutdownScriptShell="pactl unload-module module-jack-sink; pactl load-module module-jack-source"
PostShutdownScript=true
PostShutdownScriptShell="pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 0; pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo"

Там«ВключитьинтерфейсD-Bus»важнодлясамогоQjackctl.

Какэтоработает

ТеперьпризагрузкеПКработайтетолькосPulseAudio.ВсеавтоматическиеработыбезJack.

ПослезапускаQjackctl

  1. СкриптзапускаQjackctlприостанавливаетпервичнуюзвуковуюкартувPlseuaudioипозволяетJackjполучитькнейдоступ"pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1"
  2. Джек начал работу с d-bus "jack_control start"
  3. Импульс автоматически обнаруживает начало разъема через D-Bus и приемник разъема источника питания и разъема.
  4. Qjackctl после сценария запуска изменит значение по умолчанию в Pulse на jack_out. (Я встречаю это не сам) «pactl set-default-sink jack_out» (сначала это выглядит ненужным, так как все запущенные клиенты PA переключились на новую раковину, но новые приложения застряли на приостановленной раковине без этой команды)

Итак, система переконфигурирована для использования «Pulse on the top of Jack». (Там я пропускаю аппаратный ввод приостановить, потому что я не использую его в любом случае)

Если «Stop JACK audio server on application exti» не проверен, я могу закрыть Qjackctl и повторно запустить его, не нарушая настройки.

После остановки Jack by Qjackctl, все возвращаются к простому незаполненному импульсу!

  1. Выход Jackd через Qjackctl через dbus - опция «Включить интерфейс D-bus».
  2. Источник гнезда и разъем-приемник удалены из Pulseaudio автоматически с помощью d-bus
  3. Понижение по умолчанию в импульсном аудио, переключенном на звуковую карту, поскольку выход из гнезда исчезает
  4. Qjackctl после сценария Shutdown активирует звуковую карту обратно в Pulseaudio "pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1"

Используемые инструменты

  1. jackd (из пакета pulseaudio-utils)
  2. jack_control (из пакета ack-audio-connection-kit-dbus)
  3. Qjackctl (из пакета pulseaudio-utils)
  4. pactl для управления Pulseaudio из sctipts (из пакета pulseaudio-utils)
ответ дан mmv-ru 11.03.2016 в 17:44
6
  • Проблема заключается в том, что Hydrogen (как Ardor) запускает jackd при запуске, но не закрывает его при выходе:
    Но вы можете запустить killall jackd в терминале после выхода Hydrogen.

  • Сложным способом одновременного использования Jack и pulseaudio является установка «pulaudio-module-jack» (также установите qjackctl (gui for jackd) и pavucontrol, если нет). Перезапустите pulseaudio pulseaudio -k .
    Теперь закройте аудио приложения (Jack and pulseaudio),
    запускать jackd с помощью qjackctl (кнопка запуска щелчка) ( опция dbus должна быть выбрана в последней вкладке настроек qjackctl ).
    В вкладке «Выходное устройство» Pavucontrol кнопка clic green «устройство по умолчанию» рядом с «раковиной приемника»
    Теперь программное обеспечение pulseaudio и Hydrogen должны работать одновременно.

  • Используя qjackctl, на первой вкладке «Настройки» вы можете изменить звуковое устройство Jackd.

ответ дан laugeo 10.01.2015 в 18:34
3

Теперь может быть намного проще. Что работало для меня сегодня, чтобы удовлетворить мои действительно основные потребности, после новой установки Linux Mint 18.2 (базовая база Ubuntu 16.04) была:

  1. Используйте Synaptic для установки QSynth и QJackCtl.

  2. Скопируйте необходимые звуковые шрифты в соответствующую папку, например /usr/share/sounds/sf2/

  3. В QSynth Setup : под Аудио измените вкладку Аудиодрайвер на pulseaudio .

  4. В QSynth Setup : под SoundFonts : Открыть ... и выберите один из них по необходимости.

  5. В QJackCtl Setup > Настройки > Дополнительно

    Префикс сервера: pasuspsender - /usr/bin/jackd

  6. В QJackCtl Setup > Параметры

    Выполнить скрипт после запуска:

    pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source; pacmd set-default-sink jack_out
    
  7. В QJackCtl Connect: ALSA : присоедините клавиатуру слева от FLUID Synth справа.

  8. В главном Системные параметры для звука выберите требуемое устройство вывода.

Теперь я могу играть на клавиатуре во время просмотра видео (например, на YouTube, используя Firefox) - раньше я мог делать только один из них за один раз без особых настроек, которые я редко мог отслеживать.

Надеюсь, что это поможет кому-то или побудит их попробовать еще раз: -).

    
ответ дан Kim Tucker 05.09.2017 в 16:12
0

Конечно, вы хотите, чтобы и pulseaudio, и jack работали, если они дошли до точки, где им нужен разъем, так как большинство медиа-плееров не знают jack! ..к несчастью.

Я продолжал видеть предложение о том, чтобы один из них работал в то время, которое мне кажется таким ужасным компромиссом. На мой взгляд, это несколько трагично, что эти две службы, т. Е. Jack и pulseaudio, хотя и функциональные сами по себе настолько плохо управляются kxstudio, по крайней мере, это то, что я использую.

Итак, что происходит:

    Гнездо
  • не может запускаться во время работы pulseaudio (и использовать драйвер звуковой карты, который он хочет использовать, что достаточно справедливо), поэтому его нужно запустить сначала

  • pulseaudio необходимо указывать на гнездо один раз и одновременно

Довольно просто..и? По определенным причинам у меня было бесконечное горе с этим, потому что ..

Сначала я думаю, потому что pulseaudio 4.0 кажется ошибкой и беспорядок драйвера alsa, так что в некоторых ситуациях он оставляет его заблокированным, и поэтому гнездо не может начаться, хотя pulseaudio не работает. (Says не удалось установить параметры захвата или smtg как это)

То, что я сделал в конце концов, было

  • полностью удалены как jack, так и pulseaudio (с помощью find и rm -rf: D после apt-get purge)
  • установлен pulseaudio 11 (из источников)
  • установленный jack и его libs (libjack-dev)

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

Кстати, я видел, что Каденция рекомендуется вместо этого, и я не понимаю, почему, поскольку мне кажется мусор по сравнению с qjackctl.

В любом случае проблема заключается в запуске джек с использованием qjackctl, которое требуется некоторое время, и чтобы избежать времени ожидания при каждой загрузке, вы можете использовать эту функцию жизнеобеспечения kde, которая должна загружать предыдущий сеанс. Убедитесь, что у вас нет qjackctl в автозапуске, так как при каждой перезагрузке вы получите еще один экземпляр, независимо от установки singleton = true (багги-глючит всю ночь).

Это связано с тем, что я больше не чувствую, как это работает, например, для написания смарт-скрипта, который заставит pulseaudio отключить (или приостановить) запуск и установить правильность его запуска, а затем запустить pulseaudio, модуль загрузки нагрузки и т. д.

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

Удачи ..

    
ответ дан Negru Voda 10.11.2017 в 13:24