Home / Strands 음성 AI / 음성 AI 에이전트
Note

음성 AI 에이전트

Nova Sonic Speech-to-Speech, BidiAgent, WebRTC

⏱ 35분 102 / 189

음성 AI 에이전트

Nova Sonic Speech-to-Speech, BidiAgent, WebRTC

에이전트와 대화한다 — 목소리로

Speech-to-Speech 양방향 음성 에이전트 — 텍스트 변환 없는 직접 처리

음성 AI 개요

Speech-to-Speech · 파이프라인 비교 · 아키텍처

PART 1 · 음성 AI 개요

Speech-to-Speech

텍스트 변환 없이 음성을 직접 이해하고 음성으로 응답하는 네이티브 처리

Speech-to-Speech

음성 입력을 모델이 직접 이해하고 음성 토큰으로 응답합니다 — End-to-end 단일 모델

  • TTFA 평균 ~1.09초
  • 감정·억양 등 파라언어 정보 보존
  • 단일 API 호출로 전체 처리 완결
  • WebRTC 양방향 스트림 + 도구 결합
takeaway

STT → LLM → TTS 3단계는 레이턴시가 누적되고 톤·감정이 소실됩니다 — 네이티브 음성 모델이 두 문제를 동시에 해결합니다.

PART 1 · 음성 AI 개요

Speech-to-Speech vs 기존 파이프라인

3단계 변환의 레이턴시 누적·감정 소실 vs 단일 모델의 직접 처리 — 두 방식의 구조적 차이

STT → LLM → TTS

기존 3단계 파이프라인

  • 음성 → 텍스트 변환(STT) → LLM 추론 → 텍스트 → 음성 합성(TTS)
  • 각 단계마다 레이턴시가 수 초 누적 (OpenAI 구 Voice Mode 공표 평균 2.8~5.4초)
  • 비언어적 정보(톤, 감정, 억양) 소실
  • 각 컴포넌트를 개별 관리·비용 분리 필요

STT가 음성을 텍스트로 변환하면서 감정·톤 정보를 버립니다. LLM은 텍스트만 보고 추론하므로 "화난 목소리로 불만 접수"와 "차분한 질문"을 구분할 수 없습니다.

Speech-to-Speech

네이티브 음성 모델

  • 음성 입력 → 모델이 직접 이해 → 음성 출력
  • End-to-end 단일 모델 — TTFA 평균 ~1.09초
  • 감정·억양·속도 등 파라언어 정보 보존
  • 단일 API 호출로 전체 처리 완결

모델이 오디오 토큰을 직접 처리하므로 중간 변환 없이 음성의 모든 뉘앙스를 이해합니다. 응답도 음성 토큰으로 직접 생성하여 자연스러운 억양과 속도를 제어합니다.

PART 1 · 음성 AI 개요

Speech-to-Speech 성능 지표

TTFA 평균 ~1.09초 — 기존 파이프라인 대비 크게 단축된 응답 속도

~1.09s TTFA (Time-To-First-Audio) 평균
10 지원 로케일 수
24kHz 출력 오디오 샘플레이트 (입력 16kHz LPCM)
PART 1 · 음성 AI 개요

음성 에이전트 아키텍처

WebRTC 양방향 스트림 위에 Speech-to-Speech 모델과 도구를 결합

  1. 1
    오디오 입력

    마이크에서 16kHz LPCM 오디오를 캡처. WebRTC 또는 WebSocket을 통해 서버로 스트리밍 전송.

  2. 2
    Speech-to-Speech 모델

    오디오 토큰을 직접 이해하고 추론. 도구 호출이 필요하면 JSON으로 의도를 반환, 아니면 바로 음성 토큰 생성.

  3. 3
    도구 실행

    에이전틱 루프가 모델 결정에 따라 외부 도구를 호출. 실행 결과를 컨텍스트에 추가하고 모델에 반환.

  4. 4
    오디오 출력

    모델이 생성한 24kHz LPCM 음성 청크를 스피커로 실시간 재생. 스트리밍 방식으로 첫 음절부터 즉시 출력.

takeaway

입력·추론·도구·출력이 하나의 실시간 스트림 위에서 이어져 첫 음절부터 즉시 출력됩니다.

Nova Sonic

TTFA 평균 ~1.09초 · 양방향 스트리밍 · 턴 감지

PART 2 · Nova Sonic

Nova Sonic

Bedrock 네이티브 Speech-to-Speech 모델 — 양방향 실시간 음성 대화

Amazon Nova Sonic

HTTP/2 양방향 스트림 위에서 사용자 발화 중에도 처리를 시작하는 full-duplex 음성 모델

  • 양방향 스트리밍 — full-duplex
  • 자동 턴 감지 — VAD 내장
  • 10개 로케일 — 한국어 미지원
  • 도구 호출 — toolUse 이벤트
takeaway

사용자가 말하는 도중에도 모델이 처리를 시작합니다 — TTFA 평균 ~1.09초로 사람 간 대화에 가까운 응답 속도를 냅니다.

PART 2 · Nova Sonic

Amazon Nova Sonic 핵심 기능

양방향 스트리밍·자동 턴 감지·다국어·도구 호출 — 실시간 대화를 지탱하는 4가지 기능

양방향 스트리밍

입력과 출력이 동시에 흐르는 full-duplex 통신 — 끊김 없는 대화

자동 턴 감지

Voice Activity Detection으로 발화 시작·종료를 자동 인식

다국어 지원

10개 로케일 지원 — 영어, 스페인어, 프랑스어, 일본어 등

도구 호출 통합

음성 대화 중 에이전트 도구를 호출하고 결과를 음성으로 전달

takeaway

한국어는 아직 미지원입니다 — 한국어 서비스는 영어 로케일 우회 또는 STT+LLM+TTS 병행이 현재의 선택지입니다.

PART 2 · Nova Sonic

대화 장면 — barge-in의 순간

에이전트가 말하는 도중 사용자가 끼어들어도 이어지는 대화 — full-duplex 타임라인




실시간 대화 타임라인 — FULL-DUPLEX
0초 ──────────── 8초 · 발화는 영어 예시(한국어 로케일 미지원)




사용자
마이크 · 16kHz LPCM


"Find me a flight to Portland."

"Wait — afternoon only."




에이전트
스피커 · 24kHz LPCM


"I found three flights. The first…"

즉시 중단

"Two afternoon flights…"






VAD 턴 감지 — 발화 종료 인식
├ TTFA ~1.09s ┤
barge-in — 발화 중 끼어들기



입력과 출력이 동시에 흐르는 HTTP/2 양방향 스트림 — 끼어드는 순간 VAD가 새 발화를 감지해 응답을 중단하고, 새 턴으로 이어집니다. push-to-talk 버튼은 없습니다.


PART 2 · Nova Sonic

BidiNovaSonicModel 초기화

Strands SDK에서 Nova Sonic 모델을 양방향 스트리밍 모드로 연결

핵심 포인트

BidiNovaSonicModel
model_id와 client_config(region)로 초기화 — Nova 2 Sonic 양방향 연결
BidiAudioIO()
마이크+스피커 통합 I/O — 오디오 포맷은 모델 설정이 결정(LPCM)
BidiAgent(model=, tools=)
양방향 세션 전용 에이전트 — 도구는 기존 방식 그대로 장착
agent.run(inputs=, outputs=)
audio_io.input()·output()을 연결해 양방향 음성 세션 시작

코드

python
from strands.experimental.bidi import BidiAgent, BidiAudioIO
from strands.experimental.bidi.models import BidiNovaSonicModel

# Nova Sonic 양방향 모델 초기화
model = BidiNovaSonicModel(
    model_id="amazon.nova-2-sonic-v1:0",
    client_config={"region": "us-east-1"},
)
audio_io = BidiAudioIO()  # 마이크 + 스피커 — 포맷은 모델 설정이 결정 (LPCM)

# BidiAgent 구성
agent = BidiAgent(
    model=model,
    tools=[get_weather, search_db],
)
# 실행 — await agent.run(inputs=[audio_io.input()], outputs=[audio_io.output()])
PART 2 · Nova Sonic

Nova Sonic 스펙 비교

경쟁 Speech-to-Speech 모델 대비 Nova Sonic의 포지셔닝

항목Nova SonicGemini LiveOpenAI Realtime
TTFA평균 ~1.09초공식 미공개공식 미공개
컨텍스트공식 미공개128K (네이티브 오디오)32K 토큰
턴 감지VAD 내장VAD 내장VAD + Server VAD
로케일10개97개 언어공식 미공개
한국어✗ 미지원
과금토큰 기반토큰 기반토큰 기반 (텍스트·오디오 토큰 별도 단가)
takeaway

TTFA 공식 수치는 Nova Sonic만 공개(평균 ~1.09초)돼 있습니다 — 실제 선택을 가르는 것은 로케일(한국어) 지원·과금 방식·세션 제한입니다.

음성은 에이전트의 가장 자연스러운 인터페이스입니다.

Nova Sonic · BidiAgent · WebRTC — 음성으로 대화하는 에이전트