Overview
공중전화망(PSTN) 위에서 양방향 LLM 음성 번역을 수행하는 서버사이드 릴레이. 발신자는 브라우저에서 말하거나 타이핑하고, 수신자는 일반 전화를 받기만 하면 됩니다 — 앱 설치, 통신사 연동, 전용 하드웨어가 모두 불필요합니다.
Highlights
- OpenAI Realtime 듀얼 세션 + 3단계 에코 게이팅(Echo Gate → RMS Energy → Silero VAD)으로 147건 PSTN 통화에서 자기 강화 번역 루프 0건 달성
- Session A E2E 중앙값 555ms (P95 1,169ms) — 인터랙티브 통신 임계값 내
- 분당 비용 USD 0.28 (통화당 USD 0.41), 전문 전화 통역 서비스(USD 1–3/min) 대비 약 10배 저렴
- Echo Gate 활성화 1,046회(avg 7.1/call), Gate Break 354회로 자연스러운 turn-taking 보존, Settling Breakthrough 17회
- Voice→Voice / Text→Voice / Full-Agent 3개 모드를 Strategy 패턴으로 분기 — 콜포비아·언어 장애·외국인 등 다중 페르소나 커버
- Silero VAD 비대칭 히스테리시스(onset 96ms / offset 480ms)로 speech_stopped 레이턴시 15–72초 → 480ms 단축
- 15-pattern Whisper hallucination blocklist로 broadcast-style artifacts 100건 차단 (148 instrumented calls 기준)
- OpenAI Realtime 세션 끊김 대비 30초 링 버퍼 + Whisper 일괄 재주입 기반 복구, 10초 실패 시 Degraded 모드(STT+Chat) 폴백
- Translation Quality (vs. Gemini 2.5 Flash offline ref): en→ko COMET 0.7078 / BLEU 15.9, ko→en COMET 0.6242 / BLEU 17.4
- 430+ pytest 테스트(단위/통합/E2E) — Twilio 전화 자동 발신 시나리오 포함
Architecture
Dual-Session 아키텍처와 3-Stage Echo Gate — 발신용(Session A)과 수신용(Session B) OpenAI Realtime 세션을 완전히 분리하고, Session B 입력 경로에 Echo Gate → RMS Energy Gate → Silero VAD를 직렬 배치해 PSTN의 echo-induced 번역 루프를 근본 차단합니다.
WIGVO의 핵심은 Dual-Session 아키텍처와 3-Stage Echo Gate입니다. 광대역 오디오와 클라이언트측 AEC를 전제로 한 기존 음성 번역 시스템(SeamlessM4T, Moshi 등)이 PSTN 환경에서 무너지는 두 가지 원인 — 자기 강화 번역 루프와 가변 80–600ms 지연 — 을 해결하기 위해, 시스템을 Directional Separation · Deterministic Silence Injection · Energy + Neural Gating 세 축으로 분리해 각 단계마다 가장 적합한 결정 메커니즘을 배치했습니다.
Directional Separation — Session A / Session B 분리. 발신자용(Session A)과 수신자용(Session B)으로 OpenAI Realtime API 세션을 두 개 독립 운영합니다. Session A는 브라우저 PCM16(16kHz)을 G.711 μ-law(8kHz)로 변환해 Twilio Media Stream으로 송출하고, Session B는 PSTN G.711(8kHz)을 받아 번역된 오디오/자막을 브라우저로 돌려보냅니다. AudioRouter가 Strategy 패턴으로 V2V·T2V·Full-Agent 파이프라인을 분기하며, T2V/Agent 모드 번역은 GPT-4o-mini Chat Completion(temperature=0)에 위임해 Realtime API의 생성적 hallucination을 차단합니다. 단일 세션 설계에서는 echo loop가 10건 중 8건에서 발생했지만, 방향성 분리만으로 루프의 토대가 사라집니다.
Deterministic Silence Injection — Stage 0 Echo Gate. Session A의 TTS 재생 동안 Session B 입력 오디오를 G.711 μ-law 무음 신호(0xFF)로 적극 대체합니다. 단순히 audio를 drop하면 Realtime API의 server-side VAD가 silence-to-speech transition을 관측하지 못해 "speaking" 상태에 무한정 갇히는데, 무음 신호를 결정론적으로 주입함으로써 VAD가 정상적으로 음성 감지를 재개합니다. 초기 프로토타입의 Pearson-correlation echo detector는 μ-law 비선형 양자화와 가변 지연 때문에 10건 중 3건에서 루프가 재발해 폐기했습니다.
Energy + Neural Gating — Stage 1 RMS / Stage 2 Silero VAD. Stage 0를 통과한 잔여 신호는 RMS Energy Gate(echo window ≥400 RMS, callee > caller > AI TTS 3-tier interrupt priority)로 일반적 echo 에너지 대역(100–400 RMS)을 차단한 뒤, Silero VAD가 8kHz PSTN audio를 zero-order hold로 16kHz upsampling해 신경망 기반 최종 판별합니다. 비대칭 히스테리시스(onset 96ms / offset 480ms)로 server VAD의 speech_stopped 레이턴시를 15–72초 → 480ms로 단축하고, 147건 completed call에서 echo loop 0건 · gate break 354회로 자연스러운 turn-taking을 보존했습니다. 이 3단계 결합으로 분당 USD 0.28에 P50 555ms를 달성해 ACL 2026 System Demonstrations에 채택되었습니다.
Deep Dive
기존 스트리밍 음성 번역 시스템(SeamlessM4T, Moshi 등)은 광대역 오디오와 클라이언트측 음향 에코 제거(AEC)를 전제합니다. 그러나 PSTN은 여전히 병원·식당·관공서의 주요 인바운드 채널이며 G.711 μ-law 8kHz 코덱, 80–600ms 지연, AEC 부재라는 제약을 가집니다. 재한 외국인 220만, 콜포비아 Gen-Z 약 400만 등 명확한 수요가 있음에도 소프트웨어만으로 이 문제를 해결한 시스템은 존재하지 않았습니다.
WIGVO는 두 개의 독립적인 OpenAI Realtime 세션을 운영합니다. Session A는 브라우저 PCM16 오디오를 G.711로 변환해 Twilio에 송출하고, Session B는 PSTN G.711 8kHz를 받아 번역된 오디오/자막을 브라우저로 돌려보냅니다. AudioRouter가 Strategy 패턴으로 V2V·T2V·Full-Agent 파이프라인에 이벤트를 분기하며, T2V/Agent 모드의 번역은 GPT-4o-mini Chat Completion(temperature=0)에 위임해 생성적 할루시네이션을 차단합니다.
단순 단일 세션 설계에서 가장 치명적이었던 문제는 자기 강화 번역 루프였습니다. 수신자에게 재생된 TTS가 80–600ms 후 PSTN을 타고 다시 들어와 번역 사이클을 무한 반복하는 현상으로, 게이팅 없이 테스트 통화 10건 중 8건에서 발생했고 Pearson-correlation echo detector를 적용해도 10건 중 3건에서 루프가 재발했습니다(μ-law 비선형 양자화와 가변 지연 때문). Echo Gate는 Session A가 TTS 스트리밍을 시작하면 동적 쿨다운(TTS 길이 + 0.3초 마진) 동안 수신 PSTN 오디오를 μ-law 무음(0xFF)으로 적극 주입해 Realtime API의 server-side VAD가 silence-to-speech transition을 정상 관측하도록 유지합니다. 뒤이은 RMS Energy Gate(에코 윈도우 ≥400 RMS만 통과)와 Silero VAD가 잔여 잡음을 걸러 147건 completed PSTN 통화에서 에코 루프 0건을 달성했습니다.
또한 3단계 가드레일(L1 통과 / L2 반말 백그라운드 교정 / L3 욕설·유해 콘텐츠 차단 + 필러 음성)로 95%+ 케이스에서 추가 지연 0ms를 유지했습니다. 평가는 2026.02.23–27 5일간 155건 PSTN 통화(148 instrumented, 147 completed)에서 수행되었으며 — Session A E2E P50 555ms(P95 1,169ms)로 인터랙티브 통신 임계값 내, Session B는 STT(Whisper)가 평균 3,544ms를 차지해 P50 2,684ms(전문 동시통역 ear-voice span 2–5초의 하한)였습니다. 220.2분 통화에서 1,870,657 tokens / USD 61.26을 소비해 분당 USD 0.28, 통화당 USD 0.41로 전문 통역 서비스(USD 1–3/min) 대비 약 10배 저렴합니다. ACL 2026 System Demonstrations에 'WIGVO: Real-Time Bidirectional Speech Translation over Legacy PSTN Calls via Dual-Session Echo Gating'으로 채택되었습니다.