“hw : 0,0”과 같은 ALSA 장치는 무엇을 의미합니까? 사용할 것을 어떻게 알 수 있습니까?


63

나는 계속해서 검색했는데 "hw : 0,0"의 의미에 대한 설명을 찾을 수 없습니다. USB 오디오 카드 수를 어떻게 확인합니까? MPD 는 다음과 같이 입력해야합니다.

audio_output {
        type                    "alsa"
        name                    "Sound Card"
        device                  "hw:0,0"     # optional
        format                  "44100:16:2" # optional
}

"alsamixer -c 1"을 수행하면 USB 카드의 볼륨 컨트롤이 열리지 만 실제로는 도움이되지 않습니다.

시스템에서 장치 이름 / 번호 목록을 어디서 찾을 수 있습니까? 하드웨어 변경에 탄력적입니까? 카드 2를 제거하면 카드 3이 카드 2가됩니까? 장치를 식별하는 다른 방법이 있습니까? 이것에 대한 문서는 어디서 찾을 수 있습니까?


무슨 일이 일어 났습니까?
quck quixote

PulseAudio로 전환하면 효과가 있습니다. :) 그러나 로컬로 로그인하고 오디오 라우팅을 수정해야했습니다. 그런 다음 MPD가 짜증을 내고 포기하기로 결정했습니다.
endolith

실제로 "hw : 1,0"은 아마도 작동했지만 장치가 사용 중이라고 말했습니다 (Pulse?) 다른 방법을 시도하지 않았지만 다른 사람들을 도울 것입니다.
endolith

답변:


48

JohnT의 대답은 좋은 기초를 제공합니다. 시스템에서 장치를 찾는 방법에 대해 설명하겠습니다. "aplay -l"을 사용하여 시스템의 장치 목록을 얻으십시오. HW : X는 Y는 하드웨어의이 매핑에서 온다 -이 경우, X는 것입니다 카드 수는 Y는 동안, 장치의 수는.

$ aplay -l   # note lower-case "L" option
**** List of PLAYBACK Hardware Devices ****
card 0: T71Space [Terratec Aureon 7.1-Space], device 0: ICE1724 [ICE1724]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: T71Space [Terratec Aureon 7.1-Space], device 1: IEC1724 IEC958 [IEC1724 IEC958]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: T71Space [Terratec Aureon 7.1-Space], device 2: ICE1724 Surrounds [ICE1724 Surround PCM]
  Subdevices: 3/3
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2

이들은 꽂을 때마다 항상 같은 장치 번호를 얻지 못할 수있는 USB 장치이므로 hw : X, Y 장치가 변경 될 수 있습니다. 가장 간단한 대답은 데스크탑 시스템의 경우 그놈 / KDE / Xfce 구성 도구를 사용해보고 변경 사항을 적용 할 수있을만큼 똑똑한 지 확인하는 것입니다.

복잡한 방법은 데스크탑 시스템 으로이 작업을 수행하지 않으면 ... 흥미 롭습니다. "hw : X, Y"대신 장치 별명사용하여 벗어날 수 있습니다 . "aplay -L"의 결과가 표시됩니다. "something : CARD = FOO, DEV = Y"항목은 별칭이며 "hw : X, Y"의 X가 다른 장치 플러그인간에 변경되지 않을 수 있습니다. (매번 동일한 USB 동글을 사용한다고 가정합니다.)

$ aplay -L
default:CARD=CK804
    NVidia CK804, NVidia CK804
    Default Audio Device
front:CARD=CK804,DEV=0                 # hw:0,0
    NVidia CK804, NVidia CK804
    Front speakers
surround40:CARD=CK804,DEV=0            # hw:0,1
    NVidia CK804, NVidia CK804
    4.0 Surround output to Front and Rear speakers

따라서 aplay 명령은 "aplay -D front : CARD = CK804, DEV = 0 somefile.wav"가되며 .asoundrc에서 동일한 장치 이름을 사용할 수 있습니다.


더 낮은 수준의 실제 커널 장치에서보다 안정적인 것이 필요하다면 udev 가 원하는 것입니다. 장치는 시스템에 장치를 핫 플러그 ​​할 수있는 시스템입니다. 당신은 장치가 연결될 때 같은 장치 이름을 얻을 수있게하는 udev (그리고 여기 man 페이지가 있습니다 )에 대한 규칙을 작성할 수 있습니다 .


3
아하! aplay -L와 동일한 출력을 제공하지 않는을 들었습니다 aplay -l. 한숨
endolith

1
어떻게 당신은 말할 수 surround40:CARD=CK804,DEV=0있다 hw:0,1? 내가 알 수 있는 한,을 hw:0,0참조 DEV=0하지만 다른 구성 (에서와 같이 2 개가 아닌 4 개 채널 front:CARD=CK804,DEV=0)을 나타냅니다.
zpon

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