모듬‎ > ‎

Jukebox

무선 공유기홈서버를 운용하면서 음악을 들을 때 연결되어야 하는 부분품 사이를 선 없이 연결할 수 있는 방법을 많이 시도해보았다.

대강 구분하면
  1. 음원 파일의 저장소 구축
  2. 음원 목록을 만들고 앨범 정보 등을 추출
  3. 목록과 재생상태 등을 확보 및 제어
  4. 재생 중인 소리를 스피커로 출력
정도로 단계별·기능별 구분을 할 수 있다.

특히 음악 산업에 일가견이 있는 애플은 iTunes로 저장소를 구축하고 목록 추출에 대해 DAAP를 제시했고, 여기에 제어까지를 포함해 DACP를 사용하고 있으며, 출력까지도 무선으로 처리하는 AirPlay를 발전시키고 있다. 모든 부분에 대해 무선화와 전문화가 가능한 것이다.

리눅스 진영에서도 다양한 노력이 있었다.
  • 대표적으로 출력 면에서 esd나 pulseaudio는 네트워크 상으로 신호를 주고 받을 수 있게 해 단순히 자체 컴퓨터에서만이 아니라 네트워크로 연결된 컴퓨터의 스피커로도 출력을 할 수 있게 했다. 이것으로 AirPlay와 같은 동작을 하도록 구축하는 것이 가능하며, 아예 AirPlay의 프로토콜에 호환되는 출력 모듈(raop)도 나와 있다.
    • esd나 pulseaudio를 통해 원격 스피커로 출력하는 것도 가능하다.
    • pulseaudio의 경우 raop 모듈을 활성화하고 pacmd list-sinks 명령에서 나오는 name 값을 audio_output 설정의 sink에 적어서 AirPlay로 직접 재생할 수 있다.
  • MPD는 자체적으로 파일관리 및 음원재생을 담당하는 쪽과 재생을 관리하는 쪽 그리고 실제로 음원을 듣는 쪽을 분리할 수 있는 구조를 마련해두고 있다.
  • Rhytmbox의 경우 프로젝트가 성숙기에 이르러, 다양한 플러그인을 통해 MPD처럼 동작하거나, DAAP에 대한 인식 및 제공을 하고, 0.13.2에서는 DACP까지도 지원한다. 다만 DACP는 이를 구현한 Apple Remote.app의 버전이 바뀌면서 기존 DACP 호환 프로그램들의 호환성이 깨져서 인식만 되고 실제 동작을 하지 못하고 있다.

Last.fm은 iTunes와 같이 덜 개방적인 경우 외에는 대체로 그에 맞는 플러그인이 개발되어 있다.
Comments