Каждый раз, когда я запускаю водород, он повреждает мое аудио во всех других приложениях, которые используют Импульс, например, я больше не могу играть видео в Chrome, запустив Водород однажды, пока я не перезапускаю свой ПК или делаю sudo alsa перезагрузка силы. Я нашел людей с подобными проблемами, но никакое фактическое руководство для фиксации этого, часто существуют ссылки на http://jackaudio.org/pulseaudio_and_jack (который переместился в http://jackaudio.org/faq/pulseaudio_and_jack.html), я использую Ubuntu Studio 14.04 64 бита.
КРОМЕ ТОГО, если этого действительно невозможно достигнуть, кто-то может сказать мне, как использовать Jack на одной звуковой карте и Импульс на другом? Таким образом, я мог включить карту звука USB только, когда мне нужен ДЖЕК.
Не заставляйте меня использовать окна.
С 16.04 все стало намного проще :)
Просто установите qjackctl
и pulseaudio-module-jack
модуль:
apt-get install qjackctl pulseaudio-module-jack
Затем настройте qjackctl
для выполнения следующей команды после запуска. Скопируйте его в «Настройка ...»> «Параметры»> «Выполнить сценарий после запуска»:
pacmd set-default-sink jack_out
И все. Pulseaudio распознает (через D-Bus), что JACK запущен, и автоматически направит на него аудио. Когда JACK остановлен, Pulseaudio вернется к нормальной маршрутизации и снова начнет отправлять звук непосредственно на карту.
Итак (почти) по умолчанию Pulseaudio реализует настройку, описанную выше с помощью mmv-ru.
Это видео с Youtube: "Джек и PulseAudio вместе как друзья - Linux" похоже, есть некоторые ответы:
Ключом к решению, казалось, было убедиться, что pulseaudio-модуль-джек установлен с:
aptitude install pulseaudio-module-jack
затем sudo редактировать файл /etc/pulse/default.pa, чтобы включить две строки в разделе загрузки аудио драйверов вручную:
load-module module-jack-sink
load-module module-jack-source
затем - я думаю - перезагрузка pulseaudio. Я только что перезагрузил компьютер (ленивый, я знаю) и это сработало... сжигание Ardour больше не убивает pulseaudio, они играли счастливо вместе.
Только что прошел квест о сосуществовании Джека и Пульса в Fedora. В целом меня устраивает Pulseaudio, но иногда мне нужен звук Jack.
Мое решение работает на Fedora 23.
dnf install jack-audio-connection-kit jack-audio-connection-kit-dbus qjackctl
Не трогайте /etc/pulse/default.pa!
Там соответствующий фрагмент из ~ / .config / rncbc.org / QjackCtl.conf
[Settings]
Server=jack_control start
Driver=alsa
InDevice="hw:PCH,0"
OutDevice="hw:PCH,0"
имена приемников для pactl можно найти с помощью команды:
pacmd list-receivers
Есть еще один фрагмент ~ / .config / rncbc.org / QjackCtl.conf для отображения полных команд
[Options]
...
StartupScript=true
StartupScriptShell=pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1
PostStartupScript=true
PostStartupScriptShell=pactl set-default-sink jack_out
ShutdownScript=false
ShutdownScriptShell="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. Автоматически работает как без Джека.
После запуска Qjackctl,
Итак, система перенастроен на использование «Импульс поверх Джека». (Там я пропускаю аппаратную приостановку ввода, потому что я ее все равно не использую)
Если не отмечен флажок «Остановить аудиосервер JACK в приложении exti», я могу закрыть Qjackctl и повторно запустить его, не мешая настройке.
После остановки Джека с помощью Qjackctl , все возвращается к простому незагроможденному Pulse!
Проблема в том, что Hydrogen (как Ardor) запускает jackd при запуске, но не закрывает его при выходе:
Но вы можете запустить killall jackd
в терминале после выхода Hydrogen.
Сложным способом одновременного использования программного обеспечения Jack и pulseaudio является установка «pulseaudio-module-jack» (также установка qjackctl (gui для jackd) и pavucontrol, если они отсутствуют).
Перезапустите pulseaudio pulseaudio -k
.
Теперь закройте аудиоприложения (Jack и pulseaudio),
запустите jackd с помощью qjackctl (нажмите кнопку запуска) ( параметр dbus должен быть выбран в последней вкладке настроек qjackctl ).
На вкладке «Устройство вывода» в Pavucontrol нажмите зеленую кнопку «Устройство по умолчанию» рядом с «раковиной разъема»
Теперь программное обеспечение pulseaudio и Hydrogen должны работать одновременно.
Используя qjackctl, на первой вкладке «Настройки» вы можете изменить аудиоустройство Jackd.
Самый простой способ направить всю систему для работы с помощью jack:
Установить
sudo apt-get install qjackctl pulseaudio-module-jack
Открыть qjackctl. В Setup> Options>
проверьте Execute script after Startup и вставьте это:
pacmd load-module module-jack-source channels=2; pacmd load-module module-jack-sink channels=2;
Отметьте Execute script after Shutdown и вставьте это:
killall jackd
Теперь запустите qjack и откройте настройки звука. Вы найдете выходной порт для импульсного аудиоразъема. Выберите его, и вся система синхронизируется. Если вы остановите сервер Jack / qjack, звук снова вернется на ваш порт по умолчанию.
Конечно, нужно, чтобы и pulseaudio, и jack работали, если они добрались до сути где им нужен разъем, поскольку большинство медиаплееров в браузере не знают разъема! ..К сожалению.
Я все время видел предложение запускать только одного из них одновременно, что мне кажется ужасным компромиссом. На мой взгляд, это немного трагично, что эти две службы, т.е. jack и pulseaudio, хотя и работают сами по себе, плохо управляются kxstudio, по крайней мере, что я использую.
Итак, что происходит:
jack не может запускается во время работы pulseaudio (и при использовании драйвера звуковой карты, который он хочет использовать, что достаточно справедливо), поэтому его нужно запустить сначала
Pulseaudio необходимо указать на разъем после запуска и запуска
Довольно просто..ey ? По определенным причинам у меня было бесконечное горе, потому что ...
Сначала я думаю, потому что pulseaudio 4.0 кажется глючным и испортил драйвер alsa, так что в некоторых ситуациях он оставляет его заблокированным, и поэтому jack не может запуститься, даже если pulseaudio не работает Бег. (Говорится, что не удалось установить параметры захвата или подобный smtg)
В конце концов я
в этом порядке, а затем я, наконец, заставил их нормально работать через qjackctl, который гарантирует, что они запускаются правильным образом (загружает приемник jack в pulseaudio и устанавливает его по умолчанию).
Кстати, я видел, что вместо этого рекомендуется использовать Cadence, и я не понимаю, почему, на мой взгляд, это чушь по сравнению с qjackctl.
В любом случае, проблема в том, что запуск jack с использованием qjackctl занимает некоторое время, и чтобы избежать времени ожидания на каждом boot, вы можете использовать эту спасательную функцию kde, которая предназначена для загрузки предыдущего сеанса. Убедитесь, что у вас нет qjackctl в автозапуске, так как у вас будет еще один экземпляр при каждой перезагрузке, независимо от настройки singleton = true (глючит всю ночь).
Это потому, что я не чувствовал возни например, написание интеллектуального сценария, который будет проверять, что pulseaudio не работает (или приостановлен), и проверяет, что он запускается правильно, затем запускает pulseaudio, загружает модуль разъема и т. д.
В противном случае полагаться на запуск ОС правильная конфигурация демонов и загрузки была бы нормальным (нормальным) сценарием, однако, похоже, этого не происходит.
Удачи ..
Я использую Linux Mint 19.1. После того, как я попробовал все различные решения, у меня все равно не получалось.
Наконец, я смог решить все свои проблемы, выполнив шаги / инструкции в видео: Ссылка
По сути, это устанавливает приложения из репозиториев Kxstudio. и у них есть сценарий для идеальной настройки всего при запуске.
Моей конечной целью было иметь возможность записывать ввод через мой интерфейс (Scarlett solo), при этом иметь возможность запускать / записывать звук из других приложений (рабочий стол, браузер)
Теперь все может быть намного проще. Что сработало для меня сегодня, чтобы удовлетворить мои действительно основные потребности, после новой установки Linux Mint 18.2 (база пакетов Ubuntu 16.04) было:
Использование Synaptic для установки QSynth и QJackCtl.
Скопируйте требуемый звуковой шрифт (ы) в соответствующую папку, например / usr / share / звуки / sf2 /
В QSynth Setup : в Audio измените вкладку Audio Driver на pulseaudio .
В QSynth Setup : в SoundFonts : Откройте ... и выберите нужный.
In Настройка QJackCtl> Настройки> Дополнительно :
Префикс сервера: pasuspsender - / usr / bin / jackd
В Настройка QJackCtl> Параметры :
Выполнить сценарий после запуска:
pactl load-module module-jack-stream channels = 2; pactl load-module module-jack-source; pacmd set-default-раковина jack_out
В QJackCtl Connect: ALSA : присоедините клавиатурный ввод слева к FLUID Synth справа.
В основном Системные настройки для Звук, выберите необходимое устройство вывода.
Теперь я могу играть на клавиатуре во время просмотра видео (например, на YouTube, используя Firefox) - раньше я мог делать только одно из них за раз без множества настроек, которые я редко мог отслеживать.
Надеюсь, что это поможет кому-то или побудит их попробовать еще раз: -).
. Некоторое время назад я написал команду, и кто-то сообщил мне, что после попытки всех решений здесь он отключился удачи. Но это решение сработало для него, поэтому я отправлю его здесь, если кому-то еще можно помочь. NB: Я не утверждаю, что это решение является самым элегантным, но оно сработало для меня достаточно хорошо:
Это решение можно немного улучшить, правильно выгружая модули при выходе из Джека, возможно, используя уродливый grep, предложенный здесь , но я не нашел для себя никакой пользы.
Также обратите внимание, что я даю довольно много подробные инструкции по отладке таких проблем.
Установить:
$ sudo apt install jack2 pavucontrol qjackctl pulseaudio-module-jack.
Запустить qjackctl:
$ qjackctl
Щелкните Настройте
и убедитесь, что выходной интерфейс правильный (например, если у вас есть выход HDMI, эта проверка может быть важной). В моем случае я просто буду использовать значение по умолчанию и вернусь сюда, если у меня возникнут проблемы позже.
Затем на вкладке «Дополнительно» я заменил префикс сервера jackd
на pasuspender - jackd
. Предполагается, что это означает, что PulseAudio временно разрешил jack управлять звуковой картой. Не уверен, действительно ли это необходимо, но думаю, не повредит:
Затем во вкладке «Параметры» введите в Выполнить сценарий после запуска
следующий код:
pactl load-module module-jack-sink && pactl load-module module-jack-source && pactl set-default-sink jack_out && pacmd set-default-source jack_in && pacmd list-sink-inputs | grep index | sed 's/ *index: *//g' | xargs -I{} pacmd move-sink-input "{}" jack_out
Цель этой команды - создать новые выходы (приемники) для pulseaudio, которые указывают на jack, чтобы включить этот новый приемник по умолчанию (все новые открытые приложения будут записывать в разъем), а также изменит вывод всех существующих приложений, чтобы убедиться, что они указывают на разъем.
Затем, чтобы убедиться, что pulseaudio перезапускается, когда домкрат закрыт, еще добавил в поле Выполнить скрипт после выключения
:
pacmd suspend false
Вот и все! Теперь вам просто нужно сохранить, нажав Применить
и щелкнув Пуск
, чтобы запустить jack:
Вы должны увидеть что-то подобное, если это работает (и, конечно, без ошибок ):
Итак, вы не можете воспроизводить звук, потому что только одна программа может воспроизводить звук одновременно на одной звуковой карте. Итак, когда Джек играет, pulseaudio блокируется. Теперь также выясняется, что большинство настольных приложений могут общаться с pulseaudio, но не с Джеком. Поэтому, когда Джек включен, у вас просто больше нет звука. Хитрость заключается в том, чтобы направить импульсный аудио-трафик к Джеку с помощью чего-то вроде этого:
application -> pulseaudio -> Jack -> sound card
Обратите внимание, что все ссылки должны быть правильно настроены (и как побочный узел, сам Джек полагается на Alsa, то есть своего рода драйвер низкого уровня для звука. card, это будет важно позже при использовании MIDI, поскольку MIDI-устройства кажутся подключенными напрямую к Alsa, не знаю почему). Теперь мы увидим, как они настроены и как проверить, правильно ли они настроены.
Итак, чтобы создать ссылку pulseaudio -> Jack
, мы собираемся загрузить модуль, который создает новый приемник pulseaudio ( то есть виртуальное устройство вывода), называемое приемником Джека
: таким образом любые приложения, пишущие в этом приемнике, будут перенаправлены на Джек. У вас может быть несколько уже существующих приемников, например, для внутреннего звука, и если у вас есть Bluetooth-гарнитура, вы также можете использовать для нее одну раковину. Чтобы проверить, на каком приемнике работает приложение, установите и запустите pavucontrol
( pavucontrol
в любом случае очень полезен для всех вещей, связанных со звуком, поскольку вы можете контролировать практически все из него). Вы можете увидеть список приемников на вкладке с названием Устройства ввода
(извините, если перевод плохой), в моем случае у меня сейчас 2 стока (разъем еще не загружен):
Если у вас всего одна раковина, вы можете не увидеть ничего интересного, но если у вас несколько раковин, вы можете проверить на первой вкладке, какое приложение играет на какой раковине (здесь вы видите, что firefox играет на моей bluetooth-гарнитуре ), и вы можете изменить его при необходимости:
Итак, если у вас есть какие-то проблемы, вы можете:
pulseaudio -> jack
: проверьте, что у вас есть раковина, соответствующая разъему (если нет попробуйте запустить вручную команду pactl load-module-module-jack-раковина
, которая должна была запускаться автоматически. Если это не удается, убедитесь, что вы установили pulseaudio-module-jack
, и в конечном итоге перезапустите pulseaudio, просто убив его killall pulseaudio
. Не беспокойтесь, не нужно перезапускать pulseaudio, он возрождается автоматически.). Также убедитесь, что уровень громкости не равен 0% и канал не отключен:
приложение -> pulseaudio
: проверьте, что ваши приложения пишут на этом приемнике. Если нет, вы можете вручную изменить приемник (но сценарий запуска должен был изменить приемник автоматически) следующим образом:
разъем -> звуковая карта
: Если у вас все еще есть проблемы (эта часть также может быть связана с проблемами, которые у вас есть с программным обеспечением, которое записывает непосредственно на разъем, например zynaddsubfx
), проверьте из части Graph
jack: Вы должны начать, чтобы все узлы были упакованы вместе, но вы можете перемещать их, чтобы их было легче увидеть. Затем убедитесь, что все приложения, которые вы хотите прослушать, подключены к системе
(в моем случае zynaddsubfx
не подключался автоматически). NB: если у вас более старая версия QJackctl, вместо нее могут быть вкладки. Но это то же самое: у вас будут зеленые входы / выходы во вкладке «Джек», которые вы можете подключить вручную, фиолетовые будут во вкладке «Alsa», а красные - во вкладке «MIDI» ... но фактически все внешние MIDI-устройства, которые вы подключаете, появятся на вкладке Alsa, не знаю, почему «MIDI» полезен.
zynaddsubfx
имеет некоторые странные значения по умолчанию и будет отображаться как «Midi / red» вместо «Alsa / green», что делает невозможным подключение к внешнему midi-устройству. . Точнее, если вы запустите zynaddsubfx
из командной строки без каких-либо параметров или с: zynaddsubfx -I alsa -O jack
(что означает ввод из alsa, вывод через разъем), это не должно быть проблемой, вы сможете подключиться устройства MIDI:
Однако, если вы запустите его в графическом режиме, запись Jack по умолчанию автоматически запускает вместо этого zynaddsubfx -I jack -O jack
... И будет проблема, что zynaddsubfx
вход будет создан на красной вкладке / MIDI, в то время как фактическое внешнее MIDI-устройство будет на фиолетовой вкладке / на вкладке Alsa. Это означает, что вы не сможете сопоставить свою внешнюю MIDI-клавиатуру с zynaddsubfx
:
Поэтому решение состоит в том, чтобы запустить zynaddsubfx
с помощью командной строки без параметров или с zynaddsubfx -I alsa -O midi
и все должно работать!
Ubuntu 20.04 , я обнаружил, что это смесь различных ответы
sudo apt-get install qjackctl pulseaudio-module-jack
Setup ...
-> Параметры
-> Выполнить сценарий после запуска
вставьте следующее: pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source; pacmd set-default-sink jack_out
Обновление 2020 г. Debian Buster. Надеюсь, применимо и к Ubuntu.
Больше не нужно использовать скрипт.
Установите pulseaudio-module-jack
. Он содержит модуль, отвечающий за обнаружение, когда гнездо запускается и получает / опускается из / в него.
Вы можете проверить это в файле конфигурации pulseaudio:
/etc/pulse/default.pa
### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif
Убедитесь, что jackdbus запущен . Если для запуска jack используется qjackctl, установите флажок dbus в Setup -> Misc.
Это должно быть все, что нужно.