집에 있는 스피커에 음악을 무선으로 재생하고 싶어서 라즈베리파이 4B (8GB)를 구입하였습니다.
집에 아이폰과 안드로이드가 다 있어서 크롬캐스트가 되면 제일 좋을거 같은데 크롬캐스트를 받아주는 소프트웨어는 찾질 못했습니다.
에어플레이랑 블루투스를 받아주는 제품을 이것 저것 시도해봤는데요...
1. balenaSound https://github.com/balenalabs/balena-sound
- 블루투스: 연결이 불안정하고 다시 붙을때 볼륨이 최대로 바뀌네요
- 에어플레이: 소리가 안남 (지금 생각해보면 작아서 못 들은것 같기도 합니다)
2. Volumio https://volumio.org
- 블루투스: 유료... 심지어 구독형
- 에어플레이: 소리가 매우 작음
3. shairport-sync https://github.com/mikebrady/shairport-sync
balenaSound나 Volumio도 에어플레이를 위해서는 이걸 쓰고 있더군요.
다시 라즈베리 OS를 설치하고 shairport-sync를 docker로 실행하였습니다.
그런데 이렇게 해도 에어플레이를 통한 볼륨은 너무 작더군요.
문서를 읽어보니 라즈베리 파이에서는 volume_range_db를 조절하라는 말이 있었습니다.
그래서 설정 파일을 직접 변경해 보았습니다.
일단 아래와 같이 설정 파일을 만들고 현재 디렉토리에 shairport-sync.conf 이름으로 저장합니다.
general = { name = "pi"; volume_range_db = 30; }; alsa = { output_device = "hw:Headphones"; mixer_control_name = "PCM"; };
위 설정파일을 사용하도록 다음과 같이 docker를 실행합니다.
docker run --name airplay -d --restart unless-stopped --net host --device /dev/snd -v $PWD/shairport-sync.conf:/etc/shairport-sync.conf mikebrady/shairport-sync
- volume_range_db 값이 상위 30만큼의 볼륨 대역을 사용하라는 말이니 볼륨을 더 크게 하고 싶으시면 값을 더 줄이면 됩니다. (낮추고 싶으면 늘리면 됩니다)
- alsamixer로 전체 볼륨을 조절할 수 있습니다.
- hdmi가 연결되어 있어도 항상 헤드폰잭으로 출력되게 하기 위해 hw:Headphones 를 사용하였습니다.
이제 블루투스 연결을 받아들이면 될 것 같은데... balenaSound를 다시 시도해봐야 할까요.
블루투스 입력만 잘 받아들이면 구글 홈이랑 연결해서 크롬캐스트도 가능할 것 같은데요 ㅎㅎ
조금 더 찾아보니 sportifyd를 서비스로 띄우면 다른 스포티파이 클라이언트에서 제어가 가능한 옵션이 있군요.
https://medium.com/swlh/how-to-get-spotify-in-your-terminal-f99ec5d7e2b
아쉬운 점은 스포티파이 프리미엄만 가능하다고...
에구... 블루투스는 결국 그냥 기성품이 제일 낫더군요... 소노스나 홈팟 같은...;;