Parlor, Apple Silicon에서 돌아가는 실시간 멀티모달 음성 AI Show HN

최근 Show HN 글로 소개된 Parlor는 브라우저의 microphone audio와 camera frames를 받아 음성으로 응답하는 on-device multimodal AI 프로젝트다. 핵심은 cloud API를 끼우지 않고 로컬 머신에서 전체 루프를 돌린다는 점이다. 저장소에 따르면 speech와 vision 이해는 Gemma 4 E2B가 맡고, text-to-speech는 Kokoro가 담당한다.

구성은 비교적 명확하다. 브라우저가 audio PCM과 JPEG frames를 WebSocket으로 FastAPI 서버에 보내면, Gemma 4 E2B가 LiteRT-LM을 통해 GPU에서 입력을 해석하고, Kokoro가 응답을 음성으로 바꾼다. 그 결과는 다시 브라우저로 stream되어 재생된다. README는 browser-side Voice Activity Detection, 사용자가 말로 AI를 중단시키는 barge-in, 그리고 전체 답변이 완성되기 전에 재생을 시작하는 sentence-level TTS streaming까지 명시하고 있다.

흥미로운 점은 요구 사양이 생각보다 낮다는 것이다. 문서에는 Python 3.12+, Apple Silicon 기반 macOS 또는 지원 GPU가 있는 Linux, 약 3 GB의 free RAM이 적혀 있다. 첫 실행 시 Gemma 4 E2B 약 2.6 GB와 TTS 모델이 자동 다운로드된다. 작성자는 이 프로젝트를 research preview라고 부르면서도, 몇 달 전만 해도 비슷한 실시간 음성 파이프라인에 훨씬 더 큰 GPU 예산이 필요했다고 설명한다.

왜 의미가 있나

Parlor가 흥미로운 이유는, 보통 hosted assistant에서만 보던 UX를 로컬 스택으로 묶어 누구나 검토하고 실행할 수 있게 했기 때문이다. README에 실린 Apple M3 Pro 기준 수치는 speech+vision understanding 약 1.8~2.2초, 짧은 response generation 약 0.3초, TTS 약 0.3~0.7초, 전체 end-to-end latency 약 2.5~3.0초다.

이해 모델은 Gemma 4 E2B via LiteRT-LM이다.

음성 출력은 Kokoro를 사용하며, Mac에서는 MLX, Linux에서는 ONNX 경로를 쓴다.

Apple M3 Pro에서 공개된 decode speed는 약 83 tokens/sec다.

이 프로젝트가 보여주는 더 큰 흐름은 멀티모달 voice interface가 더 이상 거대한 데모 장비의 전유물이 아니라는 점이다. 아직 early experiment 단계이지만, Parlor는 laptop-scale AI 스택이 얼마나 빠르게 현실적인 개발자 프로젝트로 내려오고 있는지 보여주는 사례다.