멀티룸 오디오는 막상 제대로 해보려 하면 생각보다 훨씬 까다롭습니다. 대부분의 솔루션은 재생을 원격 기기에 넘겨버리고 잘 되길 바랄 뿐입니다. 트랙 전환은 끊기고, Gapless playback은 깨지고, Crossfades는 아예 사라집니다. 동기화도 조금씩 틀어집니다.
Zenteek 1.4.0는 다른 방식을 택했습니다.
Output Routing은 오디오를 AirPlay 2와 DLNA/UPnP 수신기로 병렬 스트리밍합니다. 원격 기기에는 Zenteek이 신호에 더한 모든 요소를 포함한, 하나의 연속된 완성 신호가 전달됩니다. 트랙을 따로 로드하는 플레이어가 아니라, 엔드포인트인 셈입니다. 말하자면 브로드캐스트입니다. 내 취향대로 운영하는 개인 라디오 스테이션에 더 가깝죠. 단순한 트랙 분배가 아닙니다.
Routing을 사용하면 디바이스별 delay 보정과 gain 조절이 가능한 믹서를 쓰는 것처럼 동기화를 직접 맞출 수 있습니다. "Local output mute"로는 책상 앞에서는 소리를 끄고, 거실에서는 계속 재생할 수도 있습니다. 연속적인 transport bus 덕분에 Crossfades와 gapless 전환이 눈앞의 한 기기뿐 아니라 연결된 모든 기기에서 자연스럽게 이어집니다.

여기서 하나 솔직히 말씀드리면, 단점도 있습니다. 스피커나 리시버에서 스트림을 직접 제어할 수는 없습니다. 현재 재생 중인 트랙이 표시되지 않을 수도 있고요. 다만 이 부분은 어떤 브라우저에서든 실행할 수 있는 Zenteek의 내장 원격 제어 인터페이스가 보완해줍니다. Zenteek은 어떤 기기, 입력, 출력과도 연결하려고 하지만, 사실상 집 안 전체를 위한 오디오 시스템으로 움직이도록 설계되어 있습니다.
What's next
이번 버전은 시작점입니다. 하나의 그룹, 그리고 모든 기기. Beta가 끝나고 실제 사용자들이 가진 다양한 하드웨어 환경에서 연결성이 충분히 검증되면, 이 아키텍처는 훨씬 더 흥미로워집니다. 이미 여러 그룹을 염두에 두고 설계되어 있기 때문입니다.
DLNA 구현은 제조사마다 차이가 정말 큽니다. 제가 테스트할 수 있는 기기에도 한계가 있고요. AirPlay도 종종 제 멋대로 움직입니다. 가능한 한 잘 지원해보겠습니다. 사용 중 문제가 생기면 Help 메뉴의 지원 양식을 통해 메시지를 남겨주세요. 확인해보겠습니다.