Jack은 실행 중에 컴퓨터 출력을 허용합니까?

Jack은 실행 중에 컴퓨터 출력을 허용합니까?

나는 과거에 잭을 사용해 보았지만, 압도적인 느낌을 받았고 잭이 실행되는 동안 컴퓨터 오디오 출력이 계속 실행되는 것을 허용하지 않았기 때문에 실제로 성공한 적이 없습니다. 내 미디어 플레이어에서 노래를 재생하려고 할 때 재생을 시도하는 중 0초에 노래가 멈춥니다. 아마도 PCM이나 다른 것을 pulseaudio 또는 alsa에 쓰고 있지만 쓰기가 완료되지 않습니다.

Jack이 컴퓨터 오디오 출력을 들을 수 있으면서 대부분 또는 항상 백그라운드에서 실행되도록 하는 방법이 있습니까?

제 경우에는 USB 오디오 인터페이스(Focusrite Scarlett)가 한 쌍의 스피커에 연결되어 있는데, 이를 기본 오디오 출력으로 사용하지만 여기서는 어떤 출력 유형(예: USB 또는 내부 사운드 카드)이 중요한지 잘 모르겠습니다.

저는 최신 HWE 커널(실제로는 기본 OS Odin이지만 Ubuntu 20.04 기반)을 실행하는 Ubuntu 20.04 LTS를 사용하고 있습니다.


편집하다:PipeWire를 사용하면 이 모든 것을 완전히 우회할 수 있습니다.

PipeWire는 PulseAudio, ALSA 및 Jack 프로토콜을 사용할 수 있고 PulseAudio 및 Jack을 쉽게 대체할 수 있는 저지연 오디오 시스템입니다. 데스크톱의 PulseAudio 서버를 PipeWire로 교체했습니다. 그리 어렵지 않았고 Jack용 PipeWire도 활성화되었으므로 이제 모든 것이 통합된 장소에 있으며 작업을 수행하기 위해 어리석은 해결 방법을 수행할 필요가 없습니다. 그래서 모든 것이 덜 합리적이 됩니다.

여기에 이미지 설명을 입력하세요.

내 배포판인 초등 OS 6에서 이 작업을 수행하는 방법을 작성했습니다.이 점.

답변1

USB 오디오 인터페이스는 언제든지 단일 오디오 데이터 스트림만 수용할 수 있으므로 jack컴퓨터 오디오 출력의 오디오를 소프트웨어에서 함께 믹싱해야 합니다.

가 없는 시스템에서는 jack일반적으로 PulseAudio가 이 작업을 수행하는 구성 요소이지만 jack최소한의 대기 시간과 샘플 동기화를 제공하기를 원하므로 사운드 장치에 대한 독점적인 액세스가 필요합니다.

이 페이지를 읽어보세요: https://jackaudio.org/faq/pulseaudio_and_jack.html

특히 해당 페이지에서 다른 페이지를 참조하는 옵션 3을 고려하겠습니다. https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_PulseOnJack

간단히 말해서: Ubuntu는 이미 ALSA를 PulseAudio로 기본 설정했을 수 있으므로 해당 패키지가 설치되어 있는지 확인 pulseaudio-module-jack하고 이 구성을 다음 항목에 추가하면 됩니다.~/.config/pulse/default.pajack

load-module module-native-protocol-unix
load-module module-jack-sink channels=2
load-module module-jack-source channels=2
load-module module-null-sink
load-module module-stream-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-suspend-on-idle
set-default-sink jack_out
set-default-source jack_in

USB 오디오 인터페이스의 기능에 따라 다음 설정 중 일부 또는 전부가 필요할 수 있습니다 ~/.config/pulse/daemon.conf.

default-sample-format = float32le
default-sample-rate = 48000
realtime-scheduling = yes
exit-idle-time = -1

(대부분의 USB 오디오 인터페이스는 고정된 샘플 속도(보통 48000)에서만 입력을 허용하므로 Pulseaudio는 이러한 제한 사항을 이해하고 데스크톱 오디오 측에서 들어오는 모든 것을 해당 형식으로 변환하여 jack작업을 더 쉽게 만듭니다.)

qjackctlboot 를 사용하는 경우 jackdPulseAudio를 다음으로 전환하려면 다음 부팅 후 작업을 구성해야 합니다 jack.

pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source channels=2; pacmd set-default-sink jack_out

jack잠시 동안 만 실행하는 경우 이 시작 후 작업은 실제로 ~/.config/pulse/default.pa위에 구성된 작업을 수행하여 PulseAudio에 출력을 jack시작으로 이동하도록 지시합니다.

관련 정보