Golden Ears Event
Announcements
추천제품목록이동
출처 : It's me 

하라는 공부는 안하고

뻘글을 쓰고 있네요


간단한 개인용 음악 스트리밍 서버를 만들어 보고 싶은 분들을 위한 가이드

MPD 사용법 입니다 ㅎㅎ

우선 기본적으로 MPD는 리눅스에서 사용되는 프로그램입니다

간단한 음악 재생 프로그램이죠

가볍고 좋아요


제 작업 환경은 라즈비안(데비안 for 라즈베리 파이)이구요

우분투도 방법이 똑같습니다

다른 리눅스는 안다뤄봐서 모르겠군요...

그리고 환경은 기본적으로 DAC를 사용하는걸 가정합니다

DAC 안써도 되긴 해요 ㅎㅎ

일단 저는 윈도우를 사용하는 데스크탑에서 putty 이용하여 라즈비안 터미널에 접속하는 방법으로

작업했습니다

일단 초기 상태의 리눅스를 기준으로 써볼게요


우선 우리는 ALSA라는 방식의 오디오 출력을 사용할겁니다 윈도우의 wasapi랑 비슷하다고 보시면 되요 ㅎㅎ

우분투와 라즈비안은 기본적으로 alsa가 깔려 있지만 없을 경우를 대비하여 alsa부터 설치합니다


우선 터미널을 켭시다 (putty를 이용해서 원격으로 해도 좋고 우분투는 x window에서 터미널을 실행시키면 됩니다. 라즈비안은 기본적으로 터미널 창이 뜨죠)


~ $ sudo apt-get install alsa-utils alsa-base

를 커맨드 라인에 입력합시다

여기서 ~ $는 치는게 아니에요 ㅎㅎ 커맨드 라인 보면 저렇게 되있을거에요

sudo는 관리자 권한을 얻어오는 명령어입니다 그래서 계정 비번이 필요하죠

라즈비안은 입력 안해도 되고 우분투는 터미널에서 한번만 입력하면 됩니다

apt-get install은 인터넷에서 프로그램을 받아와서 설치하는 명령어라고 보시면 되고

alsa-utils와 alsa-base가 alsa 관련 프로그램입니다

우선 뭐라고 쭉 나오고 [Y/n]이 나오면 y를 입력해서 설치해줍시다 ㅎㅎ

참고로 프로그램 설치는 이후에도 같은 방식으로 사용됩니다


Alsa를 설치했다면 메인인 mpd와 mpd 클라이언트를 설치합시다

mpd 클라이언트는 여러개가 있는데

저는 심플한걸 좋아해서 ncmpc를 사용합니다


952316925fa2e133d11d57c9dbce2482.png

그러면 설치를 해보죠

~ $ sudo apt-get install mpd ncmpc

를 입력하시면 설치가 시작됩니다

그리고 좀 기다리시면 리눅스가 알아서 설치를 마치지요 ㅎㅎ


그러면 이제 중요한 mpd 설정입니다

우분투의 경우에는 GUI 방식의 gedit가 있지만

저는 vi 편집기를 더 좋아해서... 그걸로 갑시다!


~$ sudo vi /etc/mpd.conf

를 실행시키면 vi 편집기가 mpd 설정파일을 열어줍니다

설정파일에서 몇몇 군데만 살짝 수정해줍시다

일단 기본적으로 알아야 될 vi 편집기의 사용법으로는

우선 맨 처음에는 편집모드가 아닙니다

키보드를 눌러도 문서에 글씨가 써지지 않지요

처음 상태에서 i 를 누르면 편집모드로 바뀝니다

그때부터는 수정이 가능해요

그리고 esc를 누르면 다시 처음 상태가 되고

문서를 종료할 때는

처음 상태에서 : 를 눌러 명령창을 켜고

wq를 누르면 저장하고 종료가 됩니다

w는 저장 q는 종료이고 저장하지 않으면 종료를 안시켜주지만

q!를 하면 저장하지 않아도 종료가 됩니다

우분투 사용자 분들은 위의 명령어에서 vi를 gedit로 바꿔주시면

GUI 편집기가 나오니 더 편하게 사용하실 수 있을겁니다

그리고 mpd 설정파일에 대해 알아야 될 사항 하나!

줄의 맨 앞에 # 을 붙이면 해당 줄은 주석처리가 되어 무효처리 됩니다 ㅎㅎ



그럼 수정해야할 항목으로...

4ccc64adb15cf91758a17535d40fa0ff.png

user 항목은 사용자 이름을 설정하는 항목입니다 그냥 #으로 주석처리 해버려도 상관 없어요 ㅎㅎ

group도 마찬가지로 그룹 이름입니다 #으로 주석처리 해버립시다

bind_to_address는 네트워크 설정을 위한 IP 주소입니다 "0.0.0.0"으로 설정합시다

port는 mpd 서버에서 사용하는 포트 번호입니다 6600으로 남겨두고 앞의 #은 지워줍시다


참고로 mpd로 원격 조작이나 스트리밍을 사용하려면 포트를 열어둬야 합니다

공유기를 쓰시는 분들은 각각의 공유기의 설명서를 보고 포트 포워딩을 해줍시다 ㅎㅎ

mpd 포트는 6600 뒤에서 다룰 httpd 포트는 8000번입니다


f780acd971eef1c6ee434b4310d9e2ca.png

프로그램에서 제목창에 표시되는 메타데이터 입니다

#을 제거해서 활성화 시켜줍시다


62bcece650305eac0f1f0764af1c2e58.png

이번에는 mpd 라이브러리에 직접 파일을 넣지 않고

심볼릭 링크를 이용해서 음악 데이터를 가져오도록 할 생각이므로

follow_outside_symlinks와 follow_inside_symlinks를 모두 활성화시켜줍시다(활설화는 # 제거!)


a76d2004c0ad7e9b96b94019ab6f10d7.png

원격 접속할 때 사용하는 비밀번호입니다

만약 사용하고 싶지 않으시면 비활성화 시키셔도 되고

사용하시려면

"password@ 에서 password 부분을 원하시는 비밀번호로 바꾸시면 되고

@ 뒷 부분은 해당 비밀번호가 접근할 수 있는 권한입니다

비밀번호는 여러개 설정할 수 있어요

관리자와 손님을 따로 만들어서

권한을 나눠서 관리할 수 있지요


b8c543b25aa28d6a36b8553e062e4fe1.png

Input에 관한 부분인데

우리는 입력 기능은 안쓰죠? ㅎㅎ

그러니 다 비활성화시켜줍시다

참고로 여기서 부터 나오는 { }에 관하여

프로그래밍을 해보신 분들은 알고 있으시겠지만

input 다음에 {}로 묶여 있는 부분은

모두 input 기능 안에 포함되어 한꺼번에 움직인다는 이야기 입니다 ㅎㅎ

그러니 비활성화 할 때는 { 처음부터 } 끝까지 다 해줘야하죠


425524e6a91cf7b77e72e72868f85fd6.png

출력 부분입니다

앞서 언급했듯이 우리는 alsa를 사용하죠

우선 alsa 이외에 보이는 모든 출력은 다 비활성화라고 보시면 됩니다

그리고 alsa에서도

type은 손대지 마시고

name도 그냥 두세요 ㅎㅎ

device가 중요한 부분입니다

device는 alsa에서 출력할 장치를 결정해 주는 라인인데요

우선 문서를 저장하고 나가 터미널에서 

~$ sudo aplay -l (전부 소문자입니다)

을 실행시켜줍니다 

그러면 등록된 오디오 출력 장치가 쭉 나오지요

거기에 잘 보면 디바이스 번호가 써있습니다

우리가 출력장치로 사용할 장치(DAC나 뭐 여러가지 있겠죠?)의 번호를 기억해 뒀다가

설정파일의

device "hw:x,0"

의 x 부분에 넣는겁니다!

그리고 포멧이나 믹서 부분은 다 비활성화 해주세요

괜히 손댈필요 없지요


e2da842f8ff436b9f44fe67e4f3e3ee1.png

두번째로 httpd 출력입니다

여기는 일단

audio_output {

type

name

encoder

port

까지 활성화 시켜줍시다

타입과 이름은 손대지 마시고

인코더는 vorbis는 ogg, lame은 mp3입니다

저 같은 경우에는 vorbis로 하면 재대로 동작하지 않는 경우가 생기더군요

그래서 보통 lame으로 합니다

포트 번호는 8000번으로 두시고

아래의 퀄리티와 비트레이트는 둘 중 하나만 활성화합시다

퀄리티는 1~5 사이의 값으로 음질을 설정하는 부분이고

비트레이트는 스트리밍으로 쏠 mp3의 비트레이트 입니다

보통 우리가 아는 것 처럼 320kbps 까지 사용합니다

제 서버 같은 경우에는 성능이 좋지 않아 192kbps로 쏘는데

넷북의 우분투는 320kbps로 사용하고 있지요

포멧은 일단 활성화 시켜둡시다

그리고 닫는 괄호까지 확실하게!


f85c8b844f9e58ba11ec8dce6f2a50ee.png

믹서 부분입니다 믹서는 사용하지 않으므로

mixer_type "disable"

라인만 활성화 합니다


cee2feb715b9f18a13325c96299f68fe.png

마지막으로 버퍼 사이즈입니다

버퍼는 뭐... 하드웨어 성능에 따라 적절하게 설정해줍시다

이 아래에 스샷은 짤렸지만

얼마나 버퍼링 해올지 설정해주는 라인도 있으니

그 부분도 적당히 설정해줍시다 ㅎㅎ


그리고 나머지 설정 파일은 굳이 손대지 않아도 상관 없고

잘 읽어보시다가

접속자 제한이나 뭐 그런 부분은 적당히 손보시면 될듯 합니다


그리고 다 수정 하셨으면

esc -> : -> wq -> 엔터!

로 파일을 저장하고 종료합시다


우선 여기까지가 mpd 설정 방법의 기초이고

나머지는 좀 익숙해지시면 직접 읽어보고 손대시면 됩니다


이후에 할 일은 네트워크 설정이죠

우선 공유기 설정에서 포트부터 열어줍시다

포트를 열고 현재 진짜 ip 주소와 해당 pc 가 할당받은 ip 주소를 기억해둡시다

그리고 일단 리눅스는 재부팅을 해줍시다


자 리눅스가 재부팅이 되고

다시 터미널을 열어

~ $ sudo /etc/init.d/mpd restart

를 실행시켜보세요

만약

ok ~~

ok ~~

하고 이상 없이 끝나면 재대로 된 것이고

ok ~~

하고

fail ~~

이 뜨면 재대로 안된겁니다

근데 이건 좀 케바케라서... 해결법은 저도 자세히는 모를 수 있어요 ㅎㅎ 초보인지라


그럼 나머지는 음악 파일을

mpd 폴더에 링크해주는 일이 남았군요

일단 라즈비안이 경우 외장 저장장치를 마운트 해야 되는데

이 부분은 여기서 설명하기에는 너무 길어지기 때문에

우분투 기준으로 해볼게요 (급 귀차니즘은 아니....지 않은가...?)

우분투는 착해서

외장 저장장치를 연결하면 알아서 마운트 해줍니다

(참고로 저는 리눅스 시스템이 다 내장 저장공간이 아주 부족한지라

모든 데이터는 다 외장장치에 있어서 내장 장치에 저장된 파일들은 어디에 있는지 잘 모릅니다...?)

NAS와 같은 네트워크 저장장치는 제가 안써봐서 잘 모르겠군요

저장장치가 연결이 되었으면

우리 친구 터미널을 열어줍시다

반가운 커맨드 라인이 우릴 반겨주죠


~ $ sudo su -

를 실행시킵시다

이 명령은 관리자 계정으로 접속하는 초 강력 명령이죠

자주 쓰면 좋지 않아요


우선 관리자 권한을 얻었으면

cd .. 을 반복해서

루트까지 가줍시다


그리고 ls 를 눌러보면

루트에 있는 파일과 디렉터리가 표시되요

우분투에서 마운트 된 저장장치는

/media/ 폴더 안에 있으므로

cd media 로 media 폴더 안에 들어갑시다

들어가서 또 ls

하면 폴더가 표시되고

그 폴더(들)이 연결된 장치들입니다 ㅎㅎ

이 때 장치 이름은 영어로 설정해 놓는 편이 좋습니다

한글은 이상한 코드로 나와요 ㅎㅎ

그러면 그 장치 이름을 기억해두고

다시 루트로 돌아갑니다 (cd ..)


그럼 이제 링크를 시작해보죠


~ # ln -s /media/(저장장치 이름)/(음악폴더) /var/lib/mpd/music/(저장할 링크 이름)

를 입력하면

mpd의 라이브러리에 링크가 생성됩니다


이제 마무리 단계입니다


~ # exit

를 입력하여 관리자 계정에서 빠져 나오고

~ $ ncmpc

로 클라이언트를 실행합시다

만약 mpd 설정이 정상이라면

패스워드를 묻는 라인이 뜹니다(패스워드 설정시)

거기에 패스워드를 입력하고 엔터!

하면 텅 빈 검은 공간이 보이죠...


우선 키 설명

1을 누르면 help 입니다

설명서에요 ㅎㅎ

2를 누르면 재생 목록입니다

3을 누르면 라이브러리를 볼 수 있어요


지금 상태에서 3을 눌러도 아무것도 보이지 않지요

여기서 ctrl + U를 눌러주면

라이브러리를 읽어옵니다

그리고 다 읽어오면 3 창에 아까 저장한 링크의 이름이 보일겁니다

거기로 이동해서 엔터를 눌러주면 폴더 안을 볼 수 있고

음악이 저장된 폴더나 음악 파일 위에서 a를 눌러주면

재생 목록에 추가가 가능합니다

하지만!

이런 불편한 프로그램은 버리고(사실 ncmpc의 역할은 데이터베이스 로드 까지...?!)

리모컨을 사용해 봅시다


안드로이드는 mpdroid

아이폰(팟)은 mpod, 패드는 mpad

어플이 있습니다

요걸 받아와서...

아 힘들...ㅠㅠ

이건 나중에 하고


다시 터미널로

~ $ sudo apt-get install sonata

를 실행시킵시다

sonata 또한 mpd의 클라이언트이죠

그리고 GUI라서 편합니다

근데 데이터베이스 로드를 어떻게 하는지 몰라서 굳이 ncmpc를 쓰게 한거...

나쁜 가이드...


이제 끝입니다

sonata로 라이브러리에서 음악을 선택해서 즐감하면 끝!


스트리밍은 또한 모두 재대로 설정되있다는 가정 하에

http://실제ip주소:8000

으로 들을 수 있습니다

또 실제 ip 주소를 기억하기 힘들다면

ddns 기능을 사용할 수도 있습니다

저는 anygate에서 제공하는 ddns를 이용해서

ddn777.goanygate.com 이라는 도메인을 사용하고 있지요


여기까지 장황하고 쓸데없이 긴 가이드를 읽어주셔서 감사합니다 ㅎㅎ

문의는 쪽지나 댓글로...

얼마나 도움을 드릴 수 있을지는 저도 모르지만요 으잌ㅋㅋㅋ

profile

[클래식 좋당]

뜬금없는 창당

이념 : 폭 넓은 클래식을 즐기고 클래식의 대중화를 추구합니다

공약 : 가능한한 레코드 - 클래식 게시판을 풍성하게 만듭니다

이상!

엠블렘 그런거 아직 없...


[사용 기기]

스피커 : 와피데일 Evo 10 Signature

인티엠프 : 캠브릿지 오디오 Topaz AM10

DAC : 스타일오디오 캐럿 루비 Mk2

CDP : PS3

턴테이블 : 셔우드 PM-9905

스마트폰 : 갤럭시S3 LTE

MP3 : 아이팟 터치 5세대

Mini-PC : Raspberry Pi Model B + Wolfson Pi Audio Card


엔트리 (준) 레퍼런스


헤드폰 : AKG K420 / AKG K601

   (+ 1 네오디뮴 자석) Shure SRH840

    Sony MDR-MA100 Philips SHP9500


클립폰 : KOSS KSC75(고장) / Audeo-Technica ATH-EW9


이어폰

커널형 : Sony XBA-1 / Phonak Audeo PFE012 + 그레이 필터

            EtyKids5 / T-PEOS H-200(분실)

    EXS X10 + 저항 / Etymotic Research ER-4S

    T-PEOS Rich100

    T-PEOS DD200

오픈형 : AKG K315 / Creative Aurvana air

    Apple Earpods

    KOSS Clipper

    AKG K309

첨부
profile

이웅채

2013.05.04 16:51

으아니챠!!


그 짧은 시간에 어찌 이런 장문을.....

profile

[클]ddn777

2013.05.04 16:58

시험 보기 전에는 잉여력이 폭발합니다...!

profile

아무거나

2013.05.04 23:28
정말 잘 읽었습니다. 나중에 데스크탑에서 보면 추천 한방 눌러드리죠 ㅎㅎ
제가 헤메던 이유를 알았습니다....주석을 안지웠...다지요ㅠ
그런데 말입니다. 아직 시작은 하지 않았지만 읽다가 궁금한 점이 있는데요.
혹 flac파일로는 안되나요?!
Mp3파일과 flac파일 섞어 해놀 생각이였는데....flac파일 인코딩 다시 해야하는건 아니죠?
profile

[클]ddn777

2013.05.04 23:31

재생은 거의 모든 파일이 가능하고

스트리밍으로 쏘는 형식이 mp3로 되는거에요 ㅎㅎ

인터넷을 통해서 받는 데이터가 mp3인거죠 ㅎㅎ

List of Articles
번호 제목 글쓴이 날짜 조회 수
69 기타 BubbleUPnP(DLNA) 사용법 file + 2 burster 2013-11-21 21338
68 기타 안드로이드 스마트폰으로 푸바를 원격조종하는 법. file + 3 burster 2013-11-21 10415
67 기타 윈도우 전체에 파라메트릭 EQ를 걸어봅시다 + 9 모노쿠마 2013-11-14 11001
66 기타 제고 쓰고있는 유용한 푸바 컴포넌트 소개글 file + 3 찌상 2013-10-22 7090
65 제품 사용법 스피커 측정을 하고 eq 질을 해보자 측정편 file + 12 뽀라돌이 2013-09-06 9657
64 제품 사용법 스피커 측정을 하고 eq 질을 해보자 준비물편 file + 6 뽀라돌이 2013-09-06 9578
63 기타 서울시 주요 청음샵 소개 + 10 [Ety] 이웅채 2013-08-31 40505
62 기타 푸바 biography view 콤포로 앨범아트나 아티스트... + 2 찌상 2013-08-11 6468
61 기타 헤드폰 성능 측정 음원을 소개합니다. file + 3 제이모리아티 2013-07-05 10144
60 간단 개조법 쿼드비트 순정팁 활용하기 file + 2 pomdoro89 2013-06-25 6010
59 간단 개조법 쿼드비트에 개조안하고 착용감 증가시키기 + 5 bag 2013-06-24 6174
58 간단 개조법 에티키즈(등) 해상력 증가시키기 위한 방법. file + 18 [베이어당]고양이♥♥ 2013-06-10 13422
57 기타 3.5극 유럽식 4극 이어폰 변환젠더 TIP ( 갤럭시1... file WM8994 2013-06-05 10820
56 간단 개조법 5분만에 이물질로부터 헤드밴드 보호하기!! file + 25 [베이어당]고양이♥♥ 2013-06-01 4696
55 기타 몇 가지 헤드폰/이어폰(ER-4P/S, H850, HD 600) ... + 5 당근 2013-05-29 9514
54 간단 개조법 요다헤드폰의 지존중 하나인 Shure의 SRH-440, 84... file + 7 리카르도 2013-05-10 11474
53 기타 개인용 음악 스트리밍 서버를 만들어 봅시다! - M... file [클]ddn777 2013-05-04 8785
» 기타 개인용 음악 스트리밍 서버를 만들어 봅시다! - ... file + 4 [클]ddn777 2013-05-04 21212
51 기타 안드로이드 기반 커스텀 음장 ViPER4Android (거... file + 9 WhiteClover 2013-04-21 24728
50 제품 사용법 루팅된 안드로이드 폰 음악 재생 어플로 구글 뮤... + 17 虛雪 2013-03-11 9004