Alsa & JACK - 카드 및 장치 이름(다른 명명 규칙)

Alsa & JACK - 카드 및 장치 이름(다른 명명 규칙)

오디오 장치 이름이 조금 헷갈립니다. 다음 명령을 사용하면 aplay -l시스템의 모든 오디오 장치 목록이 표시됩니다.

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: VT1708S Analog [VT1708S Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 2: VT1708S Alt Analog [VT1708S Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: VT1708S Digital [VT1708S Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: USB [Scarlett 2i4 USB], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

순서는 card 0나열 card 1되지 않은 card 3입니다 card 2. 이것은 나를 혼란스럽게 한다.

여기에 있는 각 항목은 장치(카드가 아님)라는 것을 알고 있으므로 제가 맞다면(틀렸다면 확인하거나 정정해 주십시오) 사운드 카드 이름을 "Scarlet 2i4"로 지정하겠습니다. 예를 들어 hd:3,0? 아니면 그가 사라졌기 hd:2,0때문인가 ?card 2

이제 JACK을 열고 오디오 설정을 조정하려고 하면 내 이름이 위와 다릅니다. 이름은:

  • hw:USB,0
  • hw:USB
  • hw:0
  • plughw:0
  • /dev/audio
  • /dev/dsp

JACK은 이 장치 테이블을 어디서 얻나요? 이것은 어떤 종류의 명명 규칙입니까? 어떤 장치가 어떤 것인지 어떻게 결정합니까(JACK이 주로 내 "Scarlet 2i4"를 사용하도록 하시겠습니까)? 이를 알려줄 수 있는 터미널 명령이 있습니까?

내 현재 ~/.jackrc설정은 다음과 같습니다.

/usr/bin/jackd -nziga-scarlet-2i4 -t2000 -dalsa -dhw:0 -r48000 -p128 -n2

답변1

각 카드에는 번호("인덱스"라고도 함)가 있습니다. 일반적으로 운전자는 첫 번째 무료 전화번호를 선택하지만, 운전자가 다른 번호를 사용해야 할 수도 있습니다. 이전에 연결되지 않은 장치에서 사용되었기 때문에 번호가 유휴 상태로 남아 있을 수도 있습니다.

각 카드에는 이름(예: "HDA NVidia")과 고유 ID(예: "NVidia")가 있습니다.

각 PCM 장치에는 번호/색인(드라이버에 의해 고정되고 결정됨), 이름 및 ID(일반적으로 ID와 이름은 동일함)가 있습니다.

유사한 장치 이름에서 hw:0,0첫 번째 매개변수는 카드(카드 번호 또는 카드 ID)이며 기본값은 0입니다. 두 번째 파라미터는 기기번호(ID는 사용할 수 없음)로, 기본값은 0입니다.

ALSA 장치 이름에 hw하드웨어 장치를 지정하고, plughw하드웨어와 애플리케이션의 성능이 일치하지 않는 경우 샘플 형식과 속도를 자동으로 변환하는 플러그인을 추가합니다. (Jack은 일반적으로 이것이 필요하지 않습니다.)

Jack에는 기기 목록이 없습니다. 이 창은 일반적으로 Jack을 시작하는 데 사용되는 QJackCtl 도구입니다.

장치 /dev/audio/dev/dspOSS 장치입니다. 이 인터페이스는 Linux에서 더 이상 사용되지 않으며 이 목록에 표시할 필요가 없습니다(이러한 장치는 실제로 와 동일합니다 hw:0).

QJackCtl의 기본 목록에는 첫 번째 카드 이외의 카드가 표시되지 않습니다. 목록 옆에 있는 버튼을 클릭해야 합니다.

답변2

aplay -l Scarlett에서 인터페이스는 카드 3, 장치 0 = hw:3,0입니다.

QjackCtl은 카드 번호 변경 시 발생할 수 있는 문제를 방지하기 위해 카드 번호(hw:USB,0 = hw:3,0) 대신 별칭을 사용합니다.
별칭이 있는 카드 목록을 가져옵니다.

 cat /proc/asound/cards

QjkackCtl은 ~/.jackdrc 설정을 사용했지만 이제는 이를 무시하고 자체 설정을 사용합니다. 최근에 Linux 운영 체제를 설치했는데 ~./jackdrc 파일이 없습니다.

다른 응용 프로그램이 QjackCtl 없이 JACK을 사용하는 경우 QjackCtl 설정을 ~/.jackdrc에 저장할 수 있습니다.

온보드 사운드 카드 0인 ~/.jackdrc에 '-dhw:0'이 있습니다. 이를 -dhw:USB,0으로 변경하여 qjackctl과 일치시키고 USB 장치를 사용할 수 있습니다.

관련 정보