본문 바로가기

라즈베리파이 5

라즈베리파이 오디오 시스템 제작

반응형

 

다음은 라즈베리파이를 이용하여 하이파이 오디오 시스템 구성하기 프로젝트입니다. 스마트폰으로 음악을 들을 수 있고 블루투스 스피커가 있다면 이를 사용하면 될텐데, 왜 라즈베리파이까지 등장해야 하는지 의아해 하실 수도 있습니다. 요즘은 음악을 집중해서 듣기보다는 다른 업무를 하는 중에 배경음악으로 사용하는 경우가 많기 때문에 음질에 대해서는 크게 신경쓰지 않는 추세입니다. 이런 경우라면 블루투스 스피커만으로 충분합니다.

 

 

 

 

하지만, 고가의 오디오 시스템이 있는데 스마트폰으로 부터 블루투스 음원을 받아서 음악을 듣는데 만족하지 않고, CD 차원의 고음질을 듣고 싶다면 다른 방법이 필요합니다. 필자를 비롯한 보통사람들은 블루투스로 전송된 소리과 수십만원의 진공케이블을 통해서 전송된 소리의 차이를 구별하기 어려울지도 모릅니다. 그러나 이 둘에 분명하게 차이가 있다고 믿는다면 우리는 블루투스가 아니라 케이블을 통해서 음원을 스피커나 앰프로 전송하는 것이 맞습니다.

 

비록 필자도 이를 귀로 구분하지는 못하지만, 이론적으로 보아 이 둘은 분명히 차이가 있기 때문에 소리에도 차이가 있을 것으로 믿고 위 프로젝트를 진행했던 것입니다. 블루투스는 제한된 대역폭을 사용해서 오디오 데이터를 전송해야 하기 때문에 압축이 사용되고 이 과정에서 일부 오디오 데이터 손실됩니다. 물론 대부분의 청취자가 듣지 못하는 오디오 데이터를 버리기 때문에 음질에는 차이가 없다는 것이 오디오 압축 전문가들의 견해입니다. 그래도 버려지는 오디오 데이터가 있는데.. 라고 미련이 남는다면 이 프로젝트를 고려해 보시기 바랍니다.  

 

1. 시스템 구성도 

 

 

위 방식이 블루투스를 이용하는 방식과 본질적으로 다른 점은 음원이 스마트폰에 있지 않고, 라즈베리파이에 있다는 점입니다. 스마트폰은 음원 재생을 컨토롤하기 위한 리모컨같은 도구에 불과합니다. 따라서 오디오데이터는 손실이 없이 음원 그대로 최종 스피커까지 전달이 됩니다. 라즈베리파이부터 스피커까지는 모두 유선 케이블로 연결되어 있습니다. 라즈베리파이와 USB DAC까지는 디지털 신호가, Amplifier부터 스피커까지는 아날로그 신호가 전송됩니다. 아날로그 신호가 전송되는 구간은 비싼 장비일수록 좋은 음질을 보장합니다.  

 

스마트폰에는 MPDroid라는 앱을 설치하게 됩니다. 이 앱은 라즈베리 파이에 설치되는MPD server (Music Player Daemon) 와 통신을 하면서 음원을 재생할 수 있도록 합니다.  

 

2. 라즈베리파이 구성하기  

 

본격적으로 라즈베리 파이에서 MPD 설치를 위한 절차를 알아 봅니다. 먼저, MPD 설치전에 라즈베리 파이와 USB DAC의 연결정보를 확인합니다. 이 과정은 라즈베리파이가 자동으로 처리하는데, 우리는 USB DAC이 시스템의 어느 위치에 구성되었는지 정보를 알아야 합니다.  

 

pi@raspberrypi:~ $ sudo apt-get install alsa-utils  

 

pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
card 2: Device [USB2.0 Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Audio [DigiHug USB Audio], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Audio [DigiHug USB Audio], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
  
[출처] 라즈베리파이를 이용하여 하이파이 오디오 시스템구성하기|작성자 정보기술재능나눔

 

 

위에서 우리는 USB DAC이 card 3에 설치되어 있음을 알 수 있습니다. 그리고 Subdevice 1입니다. 3과 1, 우리가 기억해야 할 정보입니다.

 

이제 MPD를 설치합니다. 설치하는 명령어는 다음과 같습니다.

 

pi@raspberrypi:~ $sudo apt-get install mpd

 

pi@raspberrypi:~ $ sudo nano /etc/mpd.conf

 

 

# Audio Output ################################################################

#

# MPD supports various audio output types, as well as playing through multiple

# audio outputs at the same time, through multiple audio_output settings

# blocks. Setting this block is optional, though the server will only attempt

# autodetection for one sound card.

#

# An example of an ALSA output:

#

audio_output {

        type            "alsa"

        name            "My ALSA Device"

        device          "hw:3,1"        # optional

#       mixer_type      "hardware"      # optional

#       mixer_device    "default"       # optional

#       mixer_control   "PCM"           # optional

#       mixer_index     "0"             # optional

}


[출처] 라즈베리파이를 이용하여 하이파이 오디오 시스템구성하기|작성자 정보기술재능나눔

 

 

출력해야 할 인터페이스 설정을 마쳤다면, 음원이 저장된 위치를 MPD 서버에게 알려줘야 합니다. 아래와 같이 설정해 주면 됩니다.  

 

music_directory "/net/servername/path/to/music"  

 

이제 MPD 서버를 재기동합니다.  

 

pi@raspberrypi:~ $ sudo systemctl restart mpd  

 

자, 이제 끝났습니다. 스마트폰에서 아래와 같이 생긴 MPDroid 아이콘을 사용하여 시스템을 시작합니다. 스마트폰 앱은 라즈베리파이에 설치된 MPD server와 통신하여 라즈베리파이에 저장된 음원들을 찾아서 리스트를 보여줍니다. 곡을 선정한 후 재생을 하면 됩니다.  

 

 

스마트폰과 블루투스 스피커로만 음악을 듣던 딸이 라즈베리파이와 오디오 앰프로 출력되는 노래를 듣더니 감탄을 하네요. 제가 갖고 있는 오디오 시스템은 중저가의 데논 앰프와 와피데일 스피커입니다. 오랜만에 오디오와 스피커 이야기를 하게 되어 기분이 좋습니다.^^

 

참고로, DLNA 또는 UPnP 방식으로도 구현이 가능하다고 합니다. 한때는 필자도 DNLA와 UPnP를 제품에 적용하기 위해 많은 애를 쓴 적도 있었는데 감회가 새롭습니다. 기회가 되면 DLNA, UPnP를 주제로 글을 작성해 보겠습니다.  

 

 

참고 문서

라즈베리파이를 이용하여 하이파이 오디오 시스템구성하기  

Setting up a headless Raspberry Pi as a Music Player Daemon server 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^