피드로 돌아가기
Add Telephony to a Gemini Live Agent with Twilio
Dev.toDev.to
AI/ML

Twilio-Gemini Live 연동을 통한 실시간 Full-duplex 음성 에이전트 구현

Add Telephony to a Gemini Live Agent with Twilio

Thor 雷神 Schaeff2026년 4월 21일12intermediate

Context

전화망(PSTN) 표준 코덱과 Gemini Live API의 오디오 규격 불일치로 인한 실시간 스트리밍 제약 발생. Twilio의 8kHz G.711 μ-law 포맷을 Gemini의 16kHz/24kHz PCM 포맷으로 변환하는 브리지 서버 설계 필요.

Technical Solution

  • FastAPI 기반의 WebSocket 서버를 구축하여 Twilio Media Stream과 Gemini Live API 간의 양방향 데이터 중계
  • audioop 라이브러리를 활용하여 G.711 μ-law 데이터를 16-bit Linear PCM으로 변환하는 ulaw2lin 로직 적용
  • 8kHz(Twilio) → 16kHz(Gemini Input) 및 24kHz(Gemini Output) → 8kHz(Twilio)의 다단계 Resampling 공정 설계
  • Gemini Live API의 turn_coverage 설정을 TURN_INCLUDES_ONLY_ACTIVITY로 지정하여 실제 음성 활동 기반의 턴 처리 및 비용 최적화
  • async queue와 callback 구조를 도입하여 트랜스포트 계층과 세션 관리 로직을 분리한 유연한 인터페이스 설계
  • Full-duplex 통신 구현을 통한 실시간 인터럽트 처리 및 자연스러운 대화 흐름 확보

1. 서로 다른 샘플링 레이트를 가진 오디오 시스템 연동 시 ratecv를 통한 정밀한 Resampling 단계 검증

2. 실시간 AI 음성 서비스 설계 시 API 비용 절감을 위해 Voice Activity Detection(VAD) 기반의 턴 제어 설정 검토

3. 외부 Webhook 노출 시 API Key 헤더 검증 또는 OAuth 도입을 통한 비인가 호출 차단 보안책 마련

4. 오디오 파이프라인의 지연 시간(Latency) 최소화를 위해 비동기 I/O 및 효율적인 버퍼 관리 전략 적용

원문 읽기