
라즈베리파이는 3.5잭 aux 단자 스피커와 usb 스피커를 지원하고 있습니다.
인터넷 검색하시면 소형 마이크와 거치형 마이크 팔고 있는데
휴대성, 어디에 부착하는 형태면 소형,
그냥 어디에 두는 거면 거치형 사용하면 될 거 같습니다.
저는 usb형 사용하는 중인데 설정하다보니
스피커는 되는데 마이크가 안되고
마이크가 되면 스피거 안되는 현상이 있어서
제가 해결한 방법을 몇자 적어 보겠습니다
일단 소리테스트는 유튜브 하나 들어가보시고
arecord -D plughw:1,0 -d 10 mictest.mp3
aplay mictest.mp3
녹음 및 재생은
입력하시면 됩니다.
처음에 마이크랑 스피커 연결 하시고
소리는 잘나오는데 usb 마이크는 반응이 없을 겁니다.
lsusb
aplay -l
arecord -l
각 명령어는 라즈베리에 연결된 usb를 확인
소리 재생 장치 리스트 출력
녹음 장치 리스트 출력입니다.
특히 녹음 재생 장치 출력된걸 보시면
card와 device가 보이실 텐데
저같은 경우는
card 0에 device 0번이 aux단자 출력이고
card 1에 device 0번이 usb단자 녹음입니다.
중요하니깐 꼭 알아두세요
이제 설정을 해보겠습니다.
sudo nano /usr/share/alsa/alsa.conf
alsa가 라즈베리파이 소리장치 같습니다.
그거에 대한 설정 값을 좀 건드려줘야됩니다.
defaults.ctl.card 1
defaults.pcm.card 1
pcm의 card의 디폴트 값을 0에서 1로 설정해줍니다.
alsamixer
로 폭을 설정해주시면 됩니다.
F6을 눌러서 usb 파트를 눌러주시면 Capture가 뜨실 텐데 화살표 위아래로 높여 주시면 됩니다.
근데 이렇게 설정하시면 마이크는 되는데 스피커가 안될겁니다
앞에서 중요하다고 한 이유죠
기기 디폴트 값이 마이크와 재생장치가 달라서 그럽니다.
우리가 앞에서 디폴트를 0에서 1로 바꿨죠?
그리고 스피커는 0 마이크는 1이죠
이걸 해결할려면 홈디렉토리에
nano .asoundrc
를 만들어줍니다.
pcm.!default{
type asym
playback.pcm{
type hw
card 0
}
capture.pcm{
type hw
card 1
}
}
ctl.!default{
type hw
card 0
}
작성 해주시면 됩니다.
playback의 기본 하드웨어 card를 0으로
capture의 기본 하드웨어 card를 1로 설정하는 겁니다.
이후 앞에서 설명한 녹음 커맨드나 www.onlinemictest.com으로 확인 가능합니다.
나의 card 값을 확인하시고 맞춰서 숫자 바꿔 주시면 됩니다.
만약에 둘다 같은 값이면
아마 작성하실 필요 없이 처음 설정 값만 만져주면 될거 같네요
저는 이렇게 해서 해결하였습니다
추가로 커맨드 하나 적어 놓자면
amixer cset numid3=1
로 재생장치를 고를 수 있는데 1은 aux 2번은 hdmi 0번 default입니다.