Raspberry PI에서 USB AUDIO 이용하기
Raspberry PI에 USB Audio 카드를 인식시키면 HDMI나 기본 사운드카드 때문에 순서가 바뀔 수 있다. 순서가 바뀌면 사운드를 출력하거나 마이크 입력등에 인수값을 확인하고 바꿔주어야 하기 때문에 번거롭거나 전원만 넣고 사용하는 방법을 사용할 수 없을 수도 있다.
따라서 장치의 순서를 고정시켜서 사용해야할 때 다음과 같이 사용한다.
먼저 현재 사운드카드의 순서를 확인하는 방법은 다음과 같다.
$ cat /proc/asound/modules
0 snd_bcm2835
1 snd_usb_audio
HDMI가 인식되어 사운드카드로 잡히는 경우라면 다른 값들도 나올 수 있다.
이방법 말고 alsamixer를 실행시킨 후에 [F6]를 눌러 확인해 보는 방법도 있다.
이상태에서 USB를 이용하여 녹음을 하거나 재생을 하려면 다음과 같이 하면된다.
$ arecord -D plughw:1,0 -f cd 20170713_120000.wav
$ aplay -D plughw:1,0 20170713_120000.wav
'-D plughw:1,0'이 USB장치를 가리키는 부분이다.
plughw가 인식이 안되고 오류가 난다면 'hw:1,0'으로 바꿔서 해보자.
만일 PI기본 사운드 카드를 이용하여 재생하고 싶다면
$ aplay -D plughw:0,0 20170713_120000.wav
or
$ aplay 20170713_120000.wav
이렇게 해주면 된다. 기본이 '0'이기 때문에 -D 옵션 없이 재생하면 기본 사운드카드를 사용하게 된다.
이제는 위 순서를 USB가 우선 순위로 오도록 바꿔보자. 이전에는 /usr/share/alsa 디렉토리에 아래에 있는 몇몇 값들을 바꿨는데 최근에는 아래 modprobe.d에 있는 정보만 바꿔도 가능하도록 수정된 것 같다. (2017년 7월 현재)
$ cat /etc/modprobe.d/alsa_base.conf
# This sets the index value of the cards but doesn't recorder.
options snd_usb_audio index=0
options snd_bcm2835 index=1
# Does the recording.
options snd slots=snd_usb_audio,snd_bcm2835
위 파일을 수정 또는 만들고 나서 다시 시작하면 USB 장치가 기본이 되게 된다.
'라즈베리파이' 카테고리의 다른 글
Raspberry PI 3 UART Enable (0) | 2018.07.05 |
---|---|
RaspberryPI + PiCam으로 timelapse 만들기 (0) | 2018.06.27 |
Raspberry PI + OpenCV + PICamera = 얼굴/눈 인식 (0) | 2018.01.17 |
Raspberry PI를 camcoder로 (3) | 2017.07.13 |
라즈베리파이에서 스트리밍 (0) | 2017.02.20 |