라즈베리파이에서 USB 마이크, 스피커 설정하기
라즈베리파이, 오렌지파이

라즈베리파이에서 USB 마이크, 스피커 설정하기

반응형

라즈베리파이에는 오디오 출력 단자는 있지만 입력단자가 없어 일반적인 마이크를 사용하기에 좀 불편하다. 그래서 USB 형태로 된 마이크가 필요한데, 방송쪽에 직업이 있거나 전문적인 마이크가 필요한 사람들이 주로 이런 마이크를 사용한다고 알고 있다. 

물론 이러한 마이크들 중에는 매우 저렴하고 간단한 것들도 있지만 기존의 마이크를 그대로 사용하고 싶다면 아래의 잰더를 이용해도 된다.

 

 

구매링크

반응형

필자도 위의 제품을 구매했다. 라즈베리파이에 사용하기 위해서는 우선 마이크와 스피커를 위의 젠더에 연결하고 (필자는 2018/07/12 - [기타/제품 후기] - 저렴한 게이밍 헤드셋 G2000 후기 헤드셋을 사용했다.) 아래와 같이 라즈베리파이의 USB 단자에 연결하면 된다.

 

 

$ arecord -l

 

우선 위 명령을 실행하여 연결 가능한 마이크를 검색한다. 그럼 아래와 같이 출력된다.

**** List of CAPTURE Hardware Devices ****
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

 

이제 card 1과 device 0라는 점을 잘 기억해둔 뒤 아래 명령을 통해 스피커를 검색한다.

$ aplay -l

 

아래와 같이 출력된다.

**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/7
  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
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

 

여기서 USB 장치는 card 1에 device 0으로 설정되어있다. 이제 나노 편집기로 파일하나를 만든다.

$ nano .asoundrc

 

빈파일에 아래의 형식에 맞추어 입력한다.

pcm.!default {
  type asym
  capture.pcm "mic"
  playback.pcm "speaker"
}
pcm.mic {
  type plug
  slave {
    pcm "hw:<card number>,<device number>"
  }
}
pcm.speaker {
  type plug
  slave {
    pcm "hw:<card number>,<device number>"
  }
}

 

card number와 device number는 위에서 알아냈으므로 필자와 같은 상태라면 아래와 같이 입력하면 된다. 

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

 

이렇게 입력했다면 저장하고 빠져나온다. 스피커를 테스트 해보고 싶다면 아래와 같이 입력하자.

$ speaker-test -t wav

 

위 명령을 실행하면 스피커에서 Front, Left가 반복되어 재생된다. 마이크를 테스트 하려면

$ arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.raw

 

를 실행시켜 녹음을 한 뒤에

$ aplay --format=S16_LE --rate=16000 out.raw

 

를 실행시켜 녹음된 소리를 들어보면 된다. 만약 소리가 너무 작거나 크다면 아래 명령을 통해 조절할 수 있다.

$ alsamixer

 

 

키보드의 방향키로 잘 조절하면 된다.

 

참고 : https://developers.google.com/assistant/sdk/guides/library/python/embed/audio

 

반응형
    # 테스트용