라즈베리파이에 스피커 마우스를 사용하기 위한 여정을 막을 내린다.

스피커는 라즈베리파이에 있는 3.5mm 에 절대 꽂으면 안된다.

노이즈 때문에 제명에 못 산다.

따라서 USB 스피커나 혹은 USB - MIC 젠더 같은 것을 사서 ON-BOARD 에서 오는 노이즈를 거를 수 있어야 한다.

마이크는 USB 마이크를 연결해야 한다.

그리고 스피커와 마이크는 HW(device) 번호와 CARD 번호로 특정하게 되므로 꼭 확인해야 한다.

아래의 명령을 통해 확인하거나 혹은 python 스크립트로 확인할 수 있다.

aplay -l
import pyaudio
p = pyaudio.PyAudio()
for ii in range(p.get_device_count()):
    print('{}:{}'.format(ii, p.get_device_info_by_index(ii).get('name')))

이렇게 마이크랑 스피커랑 HW,CARD 번호를 알았으면 이제 파일에 설정해줘야 한다.

그냥 계정에 설정하기 위해서는 계정의 홈 디렉토리에 .asoundrc 파일로 시스템 전역에 설정하기 위해서는 /etc/asound.conf 파일에 아래와 같이 기록되어 있어야 한다.

pcm.!default {
    type asym
    capture.pcm "mic"
    playback.pcm "speaker"
}
pcm.mic {
    type plug
    slave {
        pcm "hw:2,0"
    }
}
pcm.speaker {
    type plug
    slave {
        pcm "hw:1,0"
    }
}

이걸로 완벽하게 스피커, 마이크가 잘 동작한다.

여러 마이크를 많이도 샀는데 그냥 알리에서 파는 USB 마이크가 짱이다.

아.. 그리고 스피커나 마이크의 볼륨 초기값이 최대가 아니다.

마이크 성능을 논하기 전에 아래의 명령으로 현재 볼륨 수준을 확인해볼 필요가 있다.

alsamixer

이정도면 라즈베리파이에서 스피커 마이크 때문에 골머리 썩는 일은 아마 없을 것이다.

 

p.s. USB 에 다른 걸 꽂을 때마다 HW, CARD 번호가 어쩔 때 변경된다. 이건 잘 확인해야 한다.

 

 

 $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 2: UACDemoV10 [UACDemoV1.0], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 4: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기