상세 컨텐츠

본문 제목

라즈베리파이 CD 플레이어 만들기 (번외편): 아이폰을 위한 무선 스피커, AirPlay 해방구 구축! 🍎

IT & 모바일

by 무상인생 작성일: 2025. 10. 26. 10:21

본문

반응형

🎧 프롤로그: 음악 덕후의 '스트리밍 욕심'

4편에서 우리는 MPD를 설치해 스마트폰으로 FLAC 라이브러리를 원격 제어하는 오디오 서버를 완성했습니다. 하지만 문득 이런 생각이 듭니다.

"내가 리핑하지 않은, 애플 뮤직이나 유튜브 뮤직 같은 스트리밍 서비스도 이 고음질 서버로 듣고 싶은데?"

애플 기기 사용자라면 이 문제는 AirPlay로 해결됩니다. 이번 번외편에서는 라즈베리파이에 **shairport-sync**라는 마법의 프로그램을 설치하여, 라즈베리파이를 우리 집에서 가장 품질 좋은 AirPlay 스피커로 만들어 봅시다! 이 기능을 추가하면 **리핑한 음원 재생(MPD)**과 **스트리밍 서비스 재생(AirPlay)**을 모두 즐길 수 있습니다.


1. 🎵 shairport-sync: AirPlay의 비밀 집사, 그리고 'Sync'의 중요성

shairport-sync는 라즈베리파이가 애플의 AirPlay 프로토콜을 이해하고 받아들일 수 있도록 해주는 핵심 소프트웨어입니다. 이 프로그램에서 **'sync'**가 붙은 이유가 있습니다.

이름 역할 중요성
Shairport AirPlay 프로토콜 수신 아이폰의 음성 데이터를 받아옵니다.
Sync (동기화) 정밀한 클럭 조정 여러 AirPlay 스피커와 동시에 재생해도 소리가 밀리거나 어긋나지 않도록 시간을 초 단위로 보정합니다.

이 동기화 기능 덕분에 라즈베리파이가 단순한 블루투스 스피커보다 훨씬 안정적인 무선 환경을 구축할 수 있는 것입니다.

(곁다리) 사용자들은 어떻게 평가할까? (성능)

  • 음질 만족도: 오디오 DIY 커뮤니티에서는 shairport-sync의 음질이 매우 훌륭하다는 평가가 지배적입니다. 이는 AirPlay가 비압축 또는 무손실 압축(ALAC) 방식으로 데이터를 전송하고, 라즈베리파이가 오디오 처리 외에 다른 작업을 거의 하지 않아 음질 열화가 적기 때문입니다.
  • 안정성: 구형 AirPlay 에뮬레이터에 비해 재생 끊김이 거의 없고 동기화 기능이 뛰어나 멀티룸 환경에서도 안정적이라는 점이 가장 큰 장점으로 꼽힙니다. MPD와 함께 오디오 서버의 핵심 기능으로 인정받고 있습니다.

2. ⚙️ AirPlay 서버 프로그램 설치

터미널 창에서 다음 명령어를 순서대로 입력하여 shairport-sync를 설치합니다.

sudo apt update
sudo apt install shairport-sync -y

팁: 이 프로그램이 설치되면 라즈베리파이는 자동으로 네트워크에서 AirPlay 수신 대기 모드에 들어갑니다. MPD와 마찬가지로 백그라운드 서비스로 구동되므로, 재생 중에 터미널을 꺼도 서비스는 계속 유지됩니다.


반응형

3. 📝 설정 파일 수정: 서버 이름 바꾸기 및 오디오 출력 확인

기본적으로 AirPlay 목록에는 라즈베리파이의 네트워크 이름이 뜹니다. 스마트폰에서 쉽게 찾을 수 있도록 이름을 바꾸고, 오디오 출력 장치를 확인합시다.

sudo nano /etc/shairport-sync.conf

A. 서버 이름 설정 (필수)

general = { ... } 섹션을 찾아 name 항목을 수정합니다. 주석(//)을 제거하고 원하는 이름을 입력하세요.

general =
{
    name = "My HIFI RPi Server"; 
    // 기본 이름을 "My HIFI RPi Server"로 설정합니다. 아이폰에 뜰 이름입니다.
};

B. 오디오 출력 확인 (선택/중요)

AirPlay 소리가 HDMI나 3.5mm 잭이 아닌, USB DAC으로 나가도록 명시할 수 있습니다.

  • 만약 소리가 엉뚱한 곳으로 나간다면 aplay -l 명령으로 DAC 장치명을 확인하여 설정 파일의 alsa = { ... } 섹션에 output_device = "hw:X,Y"; 형태로 추가해야 합니다.
  • 4편에서 MPD 설정 시 DAC를 잡았다면, 대부분의 경우 shairport-sync도 자동으로 DAC로 출력되므로 생략 가능합니다.

4. 🚀 서비스 재시작 및 AirPlay 테스트

설정 파일 수정을 마쳤다면, 서비스를 재시작하여 변경된 이름과 설정이 반영되도록 합니다.

sudo systemctl restart shairport-sync

이제 아이폰(또는 아이패드)을 꺼내서 테스트할 차례입니다!

A. 아이폰에서 AirPlay 연결 확인

  1. 아이폰의 제어 센터를 엽니다.
  2. 음악 재생 위젯의 우측 상단에 있는 AirPlay 아이콘을 누릅니다.
  3. 목록에 방금 설정한 **"My HIFI RPi Server"**라는 이름이 나타납니다.
  4. 선택 후 음악을 재생하면, 라즈베리파이에 연결된 DAC(또는 스피커)에서 소리가 나옵니다.

💡 곁다리: MPD와 AirPlay는 싸우지 않아요!

MPD와 shairport-sync는 기본적으로 서로 독립되어 작동합니다. AirPlay로 음악을 듣는 도중에 MPD를 제어해도 충돌이 일어나지 않습니다. 다만, 두 서비스가 동시에 소리를 출력하려고 하면 소리가 섞이거나 한쪽이 멈출 수 있으니, 하나만 선택해서 사용하세요!


5. ⚠️ 문제가 발생했을 때 확인 사항

대부분의 설치는 한 번에 성공하지만, 소리가 나지 않거나 장치가 보이지 않을 때 체크할 사항입니다.

문제 증상 🔧 해결 방법 (핵심 체크리스트)
AirPlay 장치가 목록에 안 보임 1. 라즈베리파이와 아이폰이 같은 Wi-Fi에 연결되었는지 확인. 2. shairport-sync 서비스가 실행 중인지 확인 (sudo systemctl status shairport-sync).
장치는 뜨는데 소리가 안 나옴 1. 오디오 출력 장치(DAC)가 올바르게 연결되었는지 확인. 2. shairport-sync.conf 파일에서 오디오 출력이 명시되었는지 확인 (4편의 MPD 설정 재확인).
방화벽 사용 중 AirPlay 필수 포트 **5353/udp**와 **5000/tcp**가 열려 있는지 확인.

⏭️ 에필로그 및 다음 단계

모든 설정이 성공적으로 완료되었지만, 안타깝게도 최종 테스트 과정에서 음악이 지속적으로 끊어지는 현상이 나타났습니다. 😭

이는 shairport-sync의 문제라기보다, 라즈베리파이 OS가 CPU 성능을 유동적으로 관리하면서 발생하는 아주 짧은 오디오 처리 지연 때문인 것으로 진단하고 있습니다. 특히 고음질 스트리밍은 시스템의 미세한 지연에도 민감하게 반응합니다.

완벽한 오디오 서버를 향한 여정은 아직 끝나지 않았습니다. 다음 글에서는 이 끊김 현상을 완벽하게 해결하기 위해 **CPU Governor(성능 관리 모드)**를 강제로 고정하는 등 시스템 깊숙한 곳의 설정을 튜닝하는 과정을 다룰 예정입니다.

최종적으로 끊김 없는 AirPlay 환경을 구축하는 방법을 다음 편에서 공개하겠습니다! 많은 기대 부탁드립니다.


📖 시리즈 목록 (라즈베리파이 CD 플레이어 만들기)

2025.10.16 - [IT & 모바일] - 라즈베리파이 CD 플레이어 만들기 (1편) : USB CD-ROM 인식 그냥 되는게 아냐?

 

라즈베리파이 CD 플레이어 만들기 (1편) : USB CD-ROM 인식 그냥 되는게 아냐?

🎧 프롤로그: 오디오 노마드의 최종 귀결지, CD의 아날로그 감성요즘 세상에 누가 CD를 듣느냐고요? 그쵸? 스트리밍이 대세죠. 하지만 진정한 오디오 마니아라면 CD 음질 특유의 깊이와 질감을 포

lovory100.tistory.com

2025.10.18 - [IT & 모바일] - 라즈베리파이 CD 플레이어 만들기 (2편): 낭만적인 음악, 왜 자꾸 끊기니? (재생 끊김 문제 완벽 해결)

 

라즈베리파이 CD 플레이어 만들기 (2편): 낭만적인 음악, 왜 자꾸 끊기니? (재생 끊김 문제 완벽 해

🎧 프롤로그: 하드웨어의 벽을 넘었더니 소프트웨어가 기다리네지난 1편에서는 ‘헝그리파이’ 정신으로 10년 묵은 골동품 USB 허브를 살려내 CD-ROM 전력 문제를 해결했습니다. 드디어 CD-ROM이 제

lovory100.tistory.com

2025.10.19 - [IT & 모바일] - 라즈베리파이 CD 플레이어 만들기 (3편): 끊김 없는 낭만, 이제 파일로 영구 보존하자 (CD 리핑 & 저장소 해킹)

 

라즈베리파이 CD 플레이어 만들기 (3편): 끊김 없는 낭만, 이제 파일로 영구 보존하자 (CD 리핑 & 저

🎧 프롤로그: '재채기 CD'와 영원히 이별하는 법지난 대장정에서 우리는 라즈베리파이로 CD 낭만을 찾기 위해 온갖 삽질을 했습니다. 1편: 10년 묵은 골동품 허브로 CD-ROM 인식 전원 문제를 때려잡

lovory100.tistory.com

2025.10.20 - [IT & 모바일] - 라즈베리파이 CD 플레이어 만들기 (4편): 드디어 완성! 손 안의 오디오 서버 📱

 

라즈베리파이 CD 플레이어 만들기 (4편): 드디어 완성! 손 안의 오디오 서버 📱

🎧 프롤로그: 오디오 서버, 이제 스마트하게 즐겨야죠?지난 3편에서 우리는 **CD의 음원을 디지털 파일(FLAC)**로 안전하게 변환하고 넉넉한 USB/NAS 저장 공간에 저장하는 데 성공했습니다. 이제 우

lovory100.tistory.com

 

반응형

관련글 더보기

댓글 영역