마음 속 하늘은 항상 맑음~!

라즈베리파이2의 라즈비안에서의 USB사운드 잡기. 본문

하드웨어

라즈베리파이2의 라즈비안에서의 USB사운드 잡기.

파르셀수스 2015. 2. 28. 11:39

 최근 라즈베리파이2를 사용해서 여러가지 삽질을 시작했는데, 라즈베리는 음성에 소신호 출력 밖에 없다. 외부기기가 연결되지 않는다면 HDMI 출력에 연동되지 않는다면 소리는 들을 수 없다. HDMI의 소리를 분리해주는 젠더가 있기도 하지만, 오드로이드와의 비교에서 소리가 나오는 출력 부분이 있어서 되는 줄 알았다. 소신호라는 것을 나중에 인지했다 =_=; 


  결국 해결 방법은 2가지로 1만 5천냥 정도를 더 투자해서 젠더를 구입(그나마 저렴하고 기능이 괜찮은게 이 가격)하는 것 밖에 없는 줄 알았더니 또다른 방법이 있었다. 그 방법은 USB 사운드카드(모듈?)을 이용하는 것으로 2천5백냥 정도면 구할 수 있었다. 싼거라서 잡음이 좀 들린다던지 혹은 케이스가 부실하다느니 오래 사용할 수 없다느니 하는 이야기는 많았지만 꽤 괜찮은 솔루션 같았다.


 DAMOIL이란 브랜드의 이 사운드카드는 예전에도 사운드카드 쪽에서 부드러운 소리로 알려졌던 CMedia칩셋을 사용하고 있었다. 살짝 베이스가 강한 느낌이지만 음질은 훌륭. 마이크가 꺼지면 잡음은 없다고 하는데, 기본적으로 마이크는 꺼진 상태로 동작하는 것 같았다.


 운영체제의 설치는 라즈베리안과 OPENELEC를 설치했는데, OPENELEC에서는 설정만 잡아주면 되는터라 별로 문제가 안된다. 문제는 라즈베리안으로 설정파일을 잡아주지 않으면 한번에 메뉴의 활성화 등으로는 메인 사운드로 잡히지는 않는 것 같다. lsusb로 인식은 제대로 확인하나, amixer로 돌려보면 MONO상태로 잡혀있고 기능의 활성화가 전혀보이지 않는다.

 그래서 구글링으로 검색, 방법론을 찾아냈다.


  "/etc/modprobe.d/alsa.base.conf" 라는 파일에는 여러가지 장치에 대한 인식설정이 있는데, 아마도 우선순위 같은 것을 정할 수 있는 듯 하다. 리눅스 깊이 알 필요는 없으니 자세한 설명이 될 정도는 모르겠다. 일단 사용만 =ㅅ=;


  "sudo nano /etc/modprobe.d/alsa.base.conf"라고 콘솔에 입력하면 파일의 내용이 뜨는데, 중간에 "options snd-usb-audio index=-2"라는 항목이 있다. 이걸 "options snd-usb-audio index=0"으로 바꾸고 바로 그 다음에 새로운 줄을 만들고, "options snd_bcm2835 index=1"을 입력하고 저장(컨트롤 X를 누른다)하고 리붓을 한다.

 그럼 부팅하면서 먼저 USB사운드를 체크하고 만약에 없다면 라즈베리의 기본 하드웨어가 소리를 출력하는데 사용된다.


  그렇게 다시 진입해서 소리를 확인하면, 설정은 끝. 다른 별다른 작업이 필요없다.

  단순히 확인해보려면 콘솔에서 "amixer"나 "aplay -l"등을 이용하면 된다.


  (주) 만약 잘못해서 raspi-config를 실행해서 손을 보려는 실수를 했다면, 갑자기 OPENELEC로 부팅이 안되는 현상이 있는데, 라즈베리안의 시작 모드를 콘솔이 아닌 GUI로 설정하면 해결이 된다.


'하드웨어' 카테고리의 다른 글

KiCAD r5640 32비트.  (0) 2015.05.24
라즈베리안(?)의 한글입력 설정.  (0) 2015.02.28
12F675를 이용한 ADC를 가져오기.  (0) 2014.11.21
간단한 승압 회로.  (0) 2014.10.29
AVR Serial/HID의 간단한 설명.  (0) 2014.10.22