AI2026-06-26· 20분 읽기

TEN Framework TTS 딥다이브 — Template Method 패턴, HTTP vs WebSocket, Chunk Size 트레이드오프

TEN Framework의 TTS 확장을 개발하면서 마주치는 핵심 설계 결정을 정리합니다. AsyncTTS2HttpExtension과 AsyncTTS2WSExtension이 Template Method 패턴으로 어떻게 복잡한 큐 관리·TTFB 계측·에러 핸들링을 숨기는지, HTTP와 WebSocket 각각의 TTFB 차이(~300ms vs ~50ms), 그리고 chunk_size 4096B 권장치의 근거를 인터랙티브하게 탐색합니다.

TEN FrameworkTTSAIAsyncTTS2HttpExtensionAsyncTTS2WSExtensionTemplate MethodWebSocketHTTP

관점 선택

Template Method 패턴 + 비동기 큐 아키텍처

프레임워크는 Template Method 패턴으로 골격을 고정하고 3개의 훅 메서드만 위임합니다. 내부적으로 asyncio.Queue로 합성 요청을 직렬화해 벤더 rate limit를 흡수하고, TTFB는 첫 바이트 도착 시점을 자동 계측합니다. HTTP 모드는 httpx HTTP/2 멀티플렉싱, WS 모드는 aiohttp 풀링으로 연결을 재사용합니다. chunk_size를 4096B(22050Hz 기준 ~92ms)로 설정하면 CPU 오버헤드와 버퍼 지연 사이의 균형을 잡습니다.

HTTP TTFB

~300ms

ElevenLabs 기준

WebSocket TTFB

~50ms

영구 연결 유지

구현 메서드 수

3개

나머지는 프레임워크