전체 맥락

전체 맥락

전체 맥락

Ardor를 설정하고 키보드 음악을 조금 조작하고 싶었는데, 얼마 전에 받았는데 필요하지 않다는 것이 밝혀졌지만 돌아갈 수는 없습니다. testingJACK을 오디오 시스템으로 사용하여 새 세션으로 Ardor를 시작하려고 하면 경고가 표시됩니다(JACK을 시작할 때).

WARNING: Your system has a limit for maximum amount of locked memory. This might cause Ardour to run out of memory before your system runs out of memory. 

You can view the memory limit with 'ulimit -l', and it is normally controlled by  /etc/security/limits.conf`

거기에서 계속하려고 하면(이제 아무 소리나 낼 수 ​​있기를 바라기 때문에 곧 너무 많은 메모리를 사용하고 싶지 않기 때문에) 오류 error 가 발생합니다 Could not create session in "/home/qwertystop/multimedia/ardour/testing".

Qjackctl(자세한 메시지 켜기)을 통해 JACK을 시작하려고 하면 눈에 띄게 시작되거나(그러나 내가 알 수 있는 한 키보드 입력은 등록되지 않음) 실패를 보고하기 위해 로그가 팝업됩니다.

후자의 경우 다시 스크롤하여 오디오 장치가 이미 사용 중이라는 항목을 발견했습니다. 이런 일은 한동안 발생하지 않았고 시도 사이에 다른 작업을 수행한 것 같지 않습니다. 불행히도 마지막으로 발생했을 때의 정확한 로그 메시지를 복사하지 않았습니다. 나는 이것이 (순전히) 다른 응용 프로그램이 오디오를 재생하는지 여부에 대한 질문이 아니라는 것을 알고 있습니다.

Ardor 구성에서 "확인" 대신 "닫기"를 클릭하면 Could not create session in "/home/qwertystop/multimedia/ardour/testing": Cannot connect to audio/midi engine.

나는 가지고있다:

  • 1 "USB-MIDI 키보드 컨트롤러"(Alesis V25)
  • 마더보드에 내장된 오디오(I/O에 연결되지 않았지만 존재하며 때때로 응용 프로그램을 혼동함)
  • HDMI를 통한 GPU 오디오 출력
  • 리눅스 민트
  • Ardor 4.6 (apt를 통해)
  • jackd 1.9.11 (Ardor의 종속 항목으로 설치됨)

/proc/asound/cards가지다:

0 [PCH            ]: HDA-Intel - HDA Intel PCH
                     HDA Intel PCH at 0xdf240000 irq 128
1 [NVidia         ]: HDA-Intel - HDA NVidia
                     HDA NVidia at 0xdf080000 irq 17
2 [V25            ]: USB-Audio - V25
                     Alesis V25 at usb-0000:00:14.0-1, full speed

~/.jackdrc/usr/bin/jackd -v -dalsa -dhw:0 -r44100 -p1024 -n2처음 봤을 때는 그랬는데, Ardor를 열자 바뀌었어요 /usr/bin/jackd -t 200 -p 2048 -R -T -d alsa -n 2 -r 44100 -p 1024 -d hw:PCH,0 -X raw. 변경 PCH을 시도했지만 Nvidia도움이 되지 않았습니다. Ardor가 이를 다시 변경하고 다른 장치가 Ardor의 구성 콘텐츠에 표시되지 않습니다.

Pulseaudio가 내 시스템에 존재하며 현재 실행 중입니다. 나는 그것을 시도했지만 pasuspender qjackctlJack은 여전히 ​​시작하지 않았습니다. 나는 또한 audio다음과 같이 그룹 에 자신을 추가했습니다이것, 이는 메모리 오류가 발생하는 것을 방지하는 것 같습니다.


현재 상태

가장 최근 시도의 로그(나 자신을 audio그룹에 추가하고 pasuspenser를 통해 qjackctl을 실행한 후 드라이버는 alsa, 인터페이스는 hw:NVidia)는 다음과 같습니다.

20:13:47.156 Statistics reset.
20:13:47.162 ALSA connection change.
20:13:47.172 D-BUS: Service is available (org.jackaudio.service aka jackdbus).
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
20:13:47.245 ALSA connection graph change.
20:13:52.295 D-BUS: JACK server could not be started. Sorry
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
Wed Jan  2 20:13:52 2019: Starting jack server...
Wed Jan  2 20:13:52 2019: JACK server starting in realtime mode with priority 10
Wed Jan  2 20:13:52 2019: self-connect-mode is "Don't restrict self connect requests"
Wed Jan  2 20:13:52 2019: Jack: JackPosixThread::StartImp : create non RT thread
Wed Jan  2 20:13:52 2019: Jack: JackPosixThread::ThreadHandler : start
Wed Jan  2 20:13:52 2019: Jack: playback device hw:NVidia
Wed Jan  2 20:13:52 2019: Jack: capture device hw:NVidia
Wed Jan  2 20:13:52 2019: Jack: capture device hw:NVidia
Wed Jan  2 20:13:52 2019: Jack: playback device hw:NVidia
Wed Jan  2 20:13:52 2019: Jack: apparent rate = 44100
Wed Jan  2 20:13:52 2019: Jack: frames per period = 1024
Wed Jan  2 20:13:52 2019: Jack: JackDriver::Open capture_driver_name = hw:NVidia
Wed Jan  2 20:13:52 2019: Jack: JackDriver::Open playback_driver_name = hw:NVidia
Wed Jan  2 20:13:52 2019: Jack: Check protocol client = 8 server = 8
Wed Jan  2 20:13:52 2019: Jack: JackEngine::ClientInternalOpen: name = system
Wed Jan  2 20:13:52 2019: Jack: JackEngine::AllocateRefNum ref = 0
Wed Jan  2 20:13:52 2019: Jack: JackPosixSemaphore::Allocate name = jack_sem.1000_default_system val = 0
Wed Jan  2 20:13:52 2019: Jack: JackEngine::NotifyAddClient: name = system
Wed Jan  2 20:13:52 2019: Jack: JackGraphManager::SetBufferSize size = 1024
Wed Jan  2 20:13:52 2019: Jack: JackConnectionManager::DirectConnect first: ref1 = 0 ref2 = 0
Wed Jan  2 20:13:52 2019: Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 0 ref2 = 0
Wed Jan  2 20:13:52 2019: Jack: JackDriver::SetupDriverSync driver sem in flush mode
Wed Jan  2 20:13:52 2019: Acquired audio card Audio1
Wed Jan  2 20:13:52 2019: creating alsa driver ... hw:NVidia|hw:NVidia|1024|2|44100|0|0|nomon|swmeter|-|32bit
Wed Jan  2 20:13:52 2019: ERROR: ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode
Wed Jan  2 20:13:52 2019: Jack: JackDriver::Close
Wed Jan  2 20:13:52 2019: Jack: JackConnectionManager::DirectDisconnect last: ref1 = 0 ref2 = 0
Wed Jan  2 20:13:52 2019: Jack: JackGraphManager::DisconnectRefNum cur_index = 0 ref1 = 0 ref2 = 0
Wed Jan  2 20:13:52 2019: Jack: JackEngine::ClientInternalClose ref = 0
Wed Jan  2 20:13:52 2019: Jack: JackEngine::ClientCloseAux ref = 0
Wed Jan  2 20:13:52 2019: Jack: JackGraphManager::RemoveAllPorts ref = 0
Wed Jan  2 20:13:52 2019: Jack: JackPosixSemaphore::Destroy name = jack_sem.1000_default_system
Wed Jan  2 20:13:52 2019: Jack: ~JackDriver
Wed Jan  2 20:13:52 2019: ERROR: Cannot initialize driver
Wed Jan  2 20:13:52 2019: Jack: no message buffer overruns
Wed Jan  2 20:13:52 2019: Jack: JackPosixThread::Stop
Wed Jan  2 20:13:52 2019: Jack: JackPosixThread::ThreadHandler : exit
Wed Jan  2 20:13:52 2019: ERROR: JackServer::Open failed with -1
Wed Jan  2 20:13:52 2019: Jack: Succeeded in unlocking 82274202 byte memory area
Wed Jan  2 20:13:52 2019: Jack: JackShmMem::delete size = 0 index = 0
Wed Jan  2 20:13:52 2019: Jack: ~JackDriver
Wed Jan  2 20:13:52 2019: Jack: Succeeded in unlocking 1186 byte memory area
Wed Jan  2 20:13:52 2019: Jack: JackShmMem::delete size = 0 index = 1
Wed Jan  2 20:13:52 2019: Jack: Cleaning up shared memory
Wed Jan  2 20:13:52 2019: Jack: Cleaning up files
Wed Jan  2 20:13:52 2019: Jack: Unregistering server `default'
Wed Jan  2 20:13:52 2019: ERROR: Failed to open server
Wed Jan  2 20:13:54 2019: Saving settings to "/home/qwertystop/.config/jack/conf.xml" ...
20:13:54.478 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock

인터페이스가 로 설정되어 있거나 hw:PCHJACK hw:PCH,0이 작동하지만 화면(그래픽 카드의 HDMI에 있음) 외에는 스피커가 없으므로 이것이 의미가 있는지 확실하지 않습니다.

좀 더 실험을 해봤습니다. 인터페이스를 설정 하고 입력 및 출력 장치를 별도로 설정하는 것이 (default)유용합니다 . 입력과 출력을 모두 NVidia로 설정하면 ERROR: ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode이전과 동일한 오류가 발생합니다. 둘 중 하나를 NVidia로 설정하고 다른 하나를 PCH로 설정하면 오류가 발생하지 않습니다. 그러나 두 구성 모두 내 모니터의 스피커에서 오디오 출력을 생성하지 않습니다. 출력이 NVidia이고 입력이 PCH인 경우 Jack은 마이크 포트와 일치할 수 있는 읽기 가능한 시스템 포트를 볼 수 있지만 쓰기 가능한 시스템 포트는 볼 수 없습니다. 출력이 PCH이고 입력이 NVidia인 경우 Jack은 헤드폰 잭에 대한 쓰기 가능한 시스템 포트를 볼 수 있지만 읽을 수 있는 포트는 볼 수 없습니다. 이는 JACK이 어떤 이유로 NVidia 장치에 연결할 수 없다는 생각과 일치합니까?

답변1

현재 최종 상태에서 인터페이스를 hw:PCH 또는 hw:PCH,0으로 설정하면 JACK이 시작되는데 화면(그래픽 카드의 HDMI에 있음) 외에는 스피커가 없기 때문에 이것이 무엇을 의미하는지 잘 모르겠습니다. ",나:

  • 형편없는 오래된 헤드폰을 발견했습니다
  • 컴퓨터에 내장된 헤드폰 잭에 연결하세요.
  • 달리다a2jmidid -j default
  • JACK의 인터페이스를 다음으로 설정합니다.hw:PCH
  • JACK에는 다음과 같은 다양한 연결이 연결되어 있습니다.이 가이드
  • (MIDI) 키보드에서 임의의 소음을 성공적으로 녹음했습니다.
  • 헤드폰을 통해 재생하세요.

그래서 남은 문제는 JACK을 그래픽 카드의 HDMI 오디오 출력으로 지정하려고 할 때 여전히 질문에 오류가 발생한다는 것입니다. 내 모니터에 내장되지 않은 별도의 스피커나 기타 오디오 출력이 없기 때문에 이는 여전히 문제이므로 이 질문을 열어 두겠습니다.

답변2

인터페이스를 열 수 없는 이유는 여기서 명확하지 않습니다. 다양할 수 있습니다.

확인해야 할 사항:

  • 사운드 카드를 사용하여 잠그는 다른 소프트웨어가 있습니까? lsof /dev/snd/*이를 확인하는 데 사용합니다 .
  • 사운드 카드 샘플링 속도가 올바르게 설정되어 있습니까? 디렉토리에서 사운드 카드 기능을 확인해야 합니다 /proc/asound/. 일부 사운드 카드는 샘플 속도로 96000만 허용하는데, Nvidia HDMI에서 본 것 같습니다.
  • /dev/snd/사용자의 액세스 권한이 충분하거나 이미 활성화되어 있습니다.

디버깅 제안:

  • 가능한 한 적은 매개변수로 잭을 시작해 보십시오.
  • 부팅 실패의 원인인 파일 권한 문제를 제거하려면 루트로 jack을 시작해 보십시오. 루트로 시작한 후에는 사용자와 동일한 매개변수를 사용하십시오. 권한이 정상이면 일반 사용자로도 시작됩니다.

답변3

나는 이 문제에 직면했고 몇 시간 동안 좌절한 후에 해결책은 매우 간단했습니다. QJackCtrl을 사용하여 사운드 카드의 입력 및 출력 장치를 변경했고 작동했습니다!

답변4

이것은 귀하의 해결책이 아닐 수도 있지만 내 문제는 귀하의 문제보다 한 단계 뒤처졌지만 거의 동일한 증상을 보여 주며 새 세션으로 프로그램을 열지 않습니다. 리눅스 민트 19.3:

  1. sudo adduser username audio
  2. sudo nano /etc/security/limits.conf

두 번째 줄에서 마지막 줄에 "@audio - memlock unlimited"를 추가하세요.

  1. sudo nano /etc/pam.d/common-session

두 번째 줄에서 마지막 줄에 "session require pam_limits.so"를 추가합니다.

  1. ulimit -l -r

"unlimited"와 "95"는 두 줄의 출력이 끝날 것으로 예상됩니다.

이제 세션을 생성할 때 ALSA가 아닌 JACK을 선택했는지 확인하고 적절한 비트 전송률과 적절한 오디오 장치를 사용해야 합니다. 두 가지를 식별하는 방법은 다음과 같습니다.

  1. 오디오 장치를 식별하려면 터미널을 열고 다음을 입력하세요.

    ls -alh /proc/asound

출력 장치를 나타내는 "카드#"를 찾으세요. 일반적으로 노트북에는 AUX, 스피커 및 HDMI/디스플레이 포트가 있을 수 있으므로 ThinkPad에는 AUX, 스피커 및 디스플레이 포트가 있는 카드 0-2가 있습니다. 중복된 심볼릭 링크가 있으며 다음 명령에도 동일하게 적용됩니다.

  1. 오디오 장치의 기능을 식별하려면 터미널을 열고 다음을 입력하십시오.

    grep -R -i 속도/proc/asound/*

각 사운드 장치에 사용 가능한 주파수가 표시됩니다. 그게 내가 가진 전부입니다.

관련 정보