동일한 오디오 장치에서 JACK과 Pulseaudio / ALSA를 동시에 사용하는 방법은 무엇입니까?


30

수소를 시작할 때마다 Pulse를 사용하는 다른 모든 응용 프로그램에서 오디오가 끊어집니다. 예를 들어 PC를 다시 시작하거나 강제로 다시로드 할 때까지 수소를 한 번 실행 한 후에는 더 이상 Chrome에서 비디오를 재생할 수 없습니다. 나는 비슷한 문제를 가진 사람들을 발견했지만, 실제 가이드는이 문제를 해결하지 않으려면 자주에 대한 링크가 있습니다 http://jackaudio.org/pulseaudio_and_jack (로 이동 한 http://jackaudio.org/faq/pulseaudio_and_jack.html는 ) 내가 Ubuntu Studio 14.04 64 비트를 사용하고 있습니다.

대체로 이것이 실제로 불가능한 경우 누군가가 하나의 사운드 카드에서 잭을 사용하고 다른 사운드 카드에서 펄스를 사용하는 방법을 말해 줄 수 있습니까? 이런 식으로 JACK이 필요할 때만 USB 사운드 카드를 꽂을 수있었습니다.

창문을 사용하지 마십시오.


더 많은 연구를 한 후에는 이것을 작동시키는 몇 가지 방법이있는 것으로 보입니다. github.com/jackaudio/jackaudio.github.com/wiki/… 그러나 제 경우에는 이러한 모든 오디오 출력이 영구적으로 종료됩니다.
Andreas Hartmann

답변:


24

16.04 현재 상황이 훨씬 간단 해졌습니다. :)

그냥 설치 qjackctl하고 pulseaudio-module-jack모듈 :

apt-get install qjackctl pulseaudio-module-jack

그런 qjackctl다음 시작 후 다음 명령을 실행 하도록 구성 하십시오. "설정 ..."> "옵션"> "시작 후 스크립트 실행"에 복사하십시오.

pacmd set-default-sink jack_out

그리고 그게 다야. Pulseaudio는 JACK이 시작된 것을 D-Bus를 통해 인식하고 자동으로 오디오를 라우팅합니다. JACK이 중지되면 Pulseaudio는 일반 라우팅으로 되돌아가 오디오를 카드로 직접 다시 전송하기 시작합니다.

따라서 (거의) 기본적으로 Pulseaudio는 mmv-ru에 의해 위에서 설명한 설정을 구현합니다.


이것은 내가 지금까지 본 가장 쉬운 솔루션입니다! 마침내 나는 다른 모든 것을 뮤트하지 않고 잭을 사용할 수 있습니다! 고맙습니다.
kapcom01

8
pactl set-default-sink jack_out-> "실패 : 해당 엔티티 없음"
Karl Morrison

1
이것은 다른 솔루션이 없었을 때 저에게 효과적이었습니다. 많은 감사합니다!
malte

2
올바른 명령은 'pacmd set-default-sink jack_out'입니다. 불행히도 편집은 6 자 이상이어야하므로 답변을 수정할 수 없습니다! :-(
Todd Chaffee

2
@KarlMorrison, 당신은 아마 실행해야 pactl load-module module-jack-sink channels=2하고 pactl load-module module-jack-source그 전에, 김 터커 답변을 @ 참조하십시오.
naktinis

17

이 유튜브 비디오 : "Jack and PulseAudio Together With Friends-Linux"에 몇 가지 해답이있는 것 같습니다.

솔루션의 핵심은 다음과 같이 pulseaudio-module-jack이 설치되어 있는지 확인하는 것 같습니다.

aptitude install pulseaudio-module-jack

그런 다음 /etc/pulse/default.pa 파일을 편집하여 수동으로 오디오 드라이버로드 섹션 아래에 두 줄을 포함시킵니다.

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

그런 다음 펄스 오디오를 다시 시작합니다. 방금 PC를 다시 시작했는데 (게으른, 알고 있습니다).


BTW,pactl load-module ...
0__

9

페도라에서 잭과 펄스 공존에 대한 트로프 퀘스트를 시작했습니다. 일반적으로 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_control start
Driver=alsa
InDevice="hw:PCH,0"
OutDevice="hw:PCH,0"

옵션 pactl의 싱크 이름은 다음 명령으로 찾을 수 있습니다.

pacmd list-sinks

전체 명령을 표시하기 위해 ~ / .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"

기타 Qjackctl 자체에 중요한 "D-Bus 인터페이스 활성화"가 있습니다.

작동 방식

이제 부팅 PC에서 PulseAudio 만 사용하십시오. 잭없이 모든 자동 작업.

Qjackctl 출시 후

  1. Qjackctl 시작 스크립트는 Plseuaudio에서 기본 오디오 카드를 일시 중단하고 Jackj가 "pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1"에 액세스 할 수 있도록합니다.
  2. D- 버스 "jack_control start"를 통해 잭 시작
  3. 펄스는 자동으로 D-Bus에서 잭 시작을 감지하고 잭 싱크 및 잭 소스를로드합니다.
  4. 시작 스크립트 후 Qjackctl은 Pulse의 기본 싱크를 jack_out으로 변경합니다. (나는 자체적으로 충족되지 않습니다) "pactl set-default-sink jack_out"(처음 실행중인 모든 PA 클라이언트가 새 싱크로 전환되었으므로이 명령없이 새 앱이 일시 중단 된 싱크에 멈 췄기 때문에 불필요 해 보입니다)

그래서 시스템은 "잭 위에 펄스"를 사용하도록 재구성되었습니다. (어쨌든 사용하지 않기 때문에 하드웨어 입력 일시 중단을 건너 뜁니다)

"응용 프로그램 exti에서 잭 오디오 서버 중지"를 선택하지 않으면 Qjackctl을 닫고 설치를 방해하지 않고 다시 실행할 수 있습니다.

Qjackctl에 의해 잭을 정지시킨 후, 모든 것이 일반 클러 터링되지 않은 펄스로 돌아갑니다!

  1. dbus를 통한 Qjackctl에 의한 Jackd 중지- "D- 버스 인터페이스 활성화"옵션.
  2. d- 버스에 의해 Pulseaudio에서 잭 소스 및 잭 싱크가 자동으로 제거됨
  3. 잭 아웃이 사라져 펄스 오디오의 기본 싱크가 오디오 카드로 전환됨
  4. 종료 스크립트 후 Qjackctl은 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 (패키지 audioaudio-utils에서)
  4. scpacts에서 펄스 오디오를 제어하는 ​​pactl (패키지 pulseaudio-utils에서)

이 답변은 구성이 수행되는 방법에 대해 명시 적이 지 않습니다. 그것을 통해서만 이루어 Qjackctl집니까? 그렇다면 어떤 파일이 구성 설정이며 어떻게 설정됩니까?
Faheem Mitha

패키지 관리자를 통한 초기 구성 jack-audio-connection-kit-dbus 및 Qjackctl 스크립트를 통한 jackg 시작 / 중지 재구성.
mmv-ru

내가 참조. 해당 라인을 따르는 일부 세부 정보는 매우 유용합니다. 이러한 세부 사항은 다른 답변과 그물에 대한 정보에서 특히 누락되었습니다. 가능한 경우 GUI를 통해 구성하지 않는 것이 좋습니다. 당신은 일반적으로 AU 채팅에 있습니까? 그렇다면 논의 할 수 있습니다.
Faheem Mitha

Qjackctl은 스크린 샷과 같이 gui를 통해 구성 할 수 있습니다. 답장에 .config / rncbc.org / QjackCtl.conf의 일부를 표시하여 전체 줄의 스크립트를 표시합니다.
mmv-ru

채팅 초대에 대한 평판이 충분하지 않습니다. 날 초대해.
mmv-ru

7
  • 문제는 시작할 때 수소 (Ardour) 실행 잭이 있지만 종료시 닫지 않습니다.
    그러나 killall jackd수소 종료 후 터미널에서 실행할 수 있습니다 .

  • Jack과 pulseaudio 소프트웨어를 동시에 사용하는 복잡한 방법은 "pulseaudio-module-jack"(qjackctl (jackd의 경우 GUI)을 설치하고없는 경우 pavucontrol을 설치하는 것)입니다. pulseaudio를 다시 시작하십시오 pulseaudio -k.
    이제 오디오 앱 (잭 및
    펄스 오디오) 을 닫고 qjackctl (시작 버튼 클릭)을 사용하여 jackd를 실행하십시오 (djack 옵션은 qjackctl 설정 마지막 탭에서 선택해야합니다 ).
    Pavucontrol "출력 장치"탭에서 "잭 싱크"근처의 녹색 "기본 장치"버튼을 클릭하십시오.
    이제 pulseaudio 소프트웨어와 수소가 동시에 실행되어야합니다.

  • qjackctl을 사용하여 첫 번째 "설정"탭에서 Jackd 오디오 장치를 변경할 수 있습니다.


3

지금은 훨씬 쉬울 것입니다. Linux Mint 18.2 (Ubuntu 16.04 패키지 기반)를 새로 설치 한 후 오늘의 기본적인 요구 사항을 충족시키기 위해 저에게 효과적인 것은 다음과 같습니다.

  1. Synaptic을 사용하여 QSynth 및 QJackCtl을 설치하십시오.

  2. 필요한 사운드 글꼴을 다음과 같은 적절한 폴더에 복사하십시오. /usr/share/sounds/sf2/

  3. 에서 QSynth 설정 : 아래 오디오 탭 변화 오디오 드라이버펄스 오디오 .

  4. 에서 QSynth 설정 : 아래 사운드 폰트 : 열기 ... 그리고 하나를 선택해야한다.

  5. 에서 QJackCtl 설정> 설정> 고급 :

    서버 접두사 : pasuspsender- /usr/bin/jackd

  6. 에서 QJackCtl 설정> 옵션 :

    시작 후 스크립트를 실행하십시오.

    pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source; pacmd set-default-sink jack_out
    
  7. 에서 ALSA : QJackCtl 연결 다음에 왼쪽에있는 키보드 입력에 가입 FLUID 신디 오른쪽에 있습니다.

  8. 사운드 의 기본 시스템 설정 에서 필요한 출력 장치를 선택하십시오.

이제 비디오를 보면서 키보드를 재생할 수 있습니다 (예 : Firefox를 사용하는 YouTube 등). 이전에는 거의 추적 할 수있는 많은 조정없이 한 번에 이들 중 하나만 수행 할 수있었습니다.

희망은 누군가를 돕거나 다시 시도하도록 장려합니다 :-).


2

잭으로 실행되도록 모든 시스템을 라우팅하는 가장 쉬운 방법 :

설치

sudo apt-get install qjackctl pulseaudio-module-jack

qjackctl을여십시오. 설정> 옵션>

시작 후 스크립트 실행을 확인하고 다음을 붙여 넣습니다.

pacmd load-module module-jack-source channels=2; pacmd load-module module-jack-sink channels=2;

종료 후 스크립트 실행을 확인하고 다음을 붙여 넣습니다.

killall jackd

이제 qjack을 시작하고 사운드 설정을여십시오. Pulse Audio Jack Sink Output 포트가 있습니다. 그것을 선택하면 모든 시스템이 동기화됩니다. Jack server / qjack을 중지하면 사운드가 기본 포트로 다시 돌아갑니다.

전반적인 견해는 다음과 같습니다


0

물론 대부분의 브라우저 미디어 플레이어가 잭을 모르기 때문에 잭이 필요한 지점에 도달하면 펄스 오디오와 잭이 모두 실행되기를 원할 것입니다! ..운수 나쁘게.

나는 한 번에 하나만 실행하면 끔찍한 타협처럼 보이는 제안을 계속 보았습니다. 내 자신의 견해로는 두 가지 서비스, 즉 잭과 펄스 오디오가 둘 다 자체적으로 기능적이지만 적어도 내가 사용하고있는 kxstudio에 의해 제대로 관리되지 않는다고 생각합니다.

그래서 일어나는 일은 :

  • pulseaudio가 실행되는 동안 (그리고 사용하려는 사운드 카드 드라이버를 사용하는 동안) 잭을 시작할 수 없으므로 먼저 시작해야합니다.

  • pulseaudio는 한 번만 작동하면 잭을 가리켜 야합니다.

매우 간단합니다. 어떤 이유로, 나는 그 사촌에 끝없는 슬픔을 가지고 있었다.

먼저 pulseaudio 4.0은 버그가 있고 alsa 드라이버를 엉망으로 만들 수 있기 때문에 어떤 상황에서는 잠금 상태가되어 펄스 오디오가 실행되지 않아도 잭을 시작할 수 없습니다. (그러한 캡처 매개 변수 또는 smtg를 설정하지 못했습니다)

내가 결국 행한 것은

  • 잭과 펄스 오디오를 완전히 제거했습니다 (apt-get 퍼지 후 find 및 rm -rf : D 사용).
  • pulseaudio 11 설치 (소스에서)
  • 설치된 잭과 libs (libjack-dev)

이 순서대로 그리고 마침내 qjackctl을 통해 정상적으로 실행되도록하여 올바른 방식으로 시작하는지 확인합니다 (잭 싱크를 펄스 오디오로로드하고 기본값으로 설정).

Btw, Cadence가 대신 권장되는 것을 보았고 qjackctl과 비교하여 왜 그것이 쓰레기처럼 보이는지 이해하지 못합니다.

어쨌든, 문제는 qjackctl을 사용하여 잭을 시작하는 데 시간이 걸리고 각 부팅에서 대기 시간을 피하기 위해 이전 세션을로드하는 kde 의이 생명 보호 기능을 사용할 수 있습니다. singleton = true 설정 (밤새 버기 버기)에 관계없이 재부팅 할 때마다 하나 이상의 인스턴스가 생성되므로 자동 시작에 qjackctl이 없는지 확인하십시오.

펄스 오디오가 다운 (또는 일시 중단 된) 시작 잭인지 확인하고 올바르게 시작했는지 확인 한 다음 펄스 오디오를 시작하고 잭 모듈을로드하는 스마트 스크립트 작성과 같은 문제를 더 이상 다루지 않기 때문입니다.

그렇지 않으면 OS에 의존하여 데몬을 시작하고 구성을 올바르게로드하는 것이 정상적인 (건강한) 시나리오 일 수는 있지만 일어나지 않는 것 같습니다.

재밌게 ..


0

Linux Mint 19.1을 실행하고 있습니다. 모든 다양한 솔루션을 시도한 후에도 여전히 원활하게 작동하지 않습니다.

마지막으로, 나는 비디오의 단계 / 지침에 따라 내 모든 문제를 해결할 수 있었다 : 링크

기본적으로 Kxstudio 리포지토리에서 응용 프로그램을 설치합니다. 시작시 모든 것을 완벽하게 구성하는 스크립트가 있습니다.

내 최종 목표는 다른 응용 프로그램 (데스크톱, 브라우저)에서 소리를 실행 / 녹음 할 수있는 동안 내 인터페이스 (Scarlett solo)를 통해 입력을 녹음하는 것이 었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.