언어 및 음성 구성

이 문서에서는 Gemini Live API에서 합성 음성 응답과 음성 활동 감지를 구성하는 방법을 설명합니다. 다양한 HD 음성 및 언어로 대답을 구성할 수 있으며, 사용자가 모델을 중단할 수 있도록 음성 활동 감지 설정을 구성할 수도 있습니다.

언어 및 음성 설정

gemini-live-2.5-flash-native-audio와 같은 네이티브 오디오 모델은 대화 중에 자연스럽게 언어를 전환할 수 있습니다. 시스템 안내에 언어를 지정하여 사용할 수 있는 언어를 제한할 수도 있습니다.

gemini-live-2.5-flash와 같은 네이티브 오디오가 아닌 모델의 경우 speech_config.language_code에서 언어를 구성할 수 있습니다.

음성은 모든 모델의 voice_name 필드에 구성됩니다.

다음 코드 샘플은 언어와 음성을 구성하는 방법을 보여줍니다.

from google.genai.types import LiveConnectConfig, SpeechConfig, VoiceConfig, PrebuiltVoiceConfig

config = LiveConnectConfig(
  response_modalities=["AUDIO"],
  speech_config=SpeechConfig(
    voice_config=VoiceConfig(
        prebuilt_voice_config=PrebuiltVoiceConfig(
            voice_name=voice_name,
        )
    ),
    language_code="en-US",
  ),
)

지원되는 음성

Gemini Live API는 voice_name 필드에서 다음 30가지 음성 옵션을 지원합니다.

Zephyr -- 밝음
Kore -- 단호함
Orus -- 단호함
Autonoe -- 밝음
Umbriel -- 느긋함
Erinome -- 선명함
Laomedeia -- 명랑함
Schedar -- 고름
Achird -- 친근함
Sadachbia -- 활기참
Puck -- 명랑함
Fenrir -- 흥분하기 쉬움
Aoede -- 산뜻함
Enceladus -- 숨소리가 섞임
Algieba -- 매끄러움
Algenib -- 걸걸함
Achernar -- 부드러움
Gacrux -- 성숙함
Zubenelgenubi -- 태평함
Sadaltager -- 지식이 풍부함
Charon -- 정보 전달형
Leda -- 젊음
Callirrhoe -- 편안함
Iapetus -- 명료함
Despina -- 매끄러움
Rasalgethi -- 정보 전달형
Alnilam -- 단호함
Pulcherrima -- 선도적임
Vindemiatrix -- 온화함
Sulafat -- 따뜻함

지원 언어

Gemini Live API는 다음 24개 언어를 지원합니다.

언어 BCP-47 코드 언어 BCP-47 코드
아랍어(이집트) ar-EG 독일어(독일) de-DE
영어(미국) en-US 스페인어(미국) es-US
프랑스어(프랑스) fr-FR 힌디어(인도) hi-IN
인도네시아어(인도네시아) id-ID 이탈리아어(이탈리아) it-IT
일본어(일본) ja-JP 한국어(대한민국) ko-KR
포르투갈어(브라질) pt-BR 러시아어(러시아) ru-RU
네덜란드어(네덜란드) nl-NL 폴란드어(폴란드) pl-PL
태국어(태국) th-TH 터키어(터키) tr-TR
베트남어(베트남) vi-VN 루마니아어(루마니아) ro-RO
우크라이나어(우크라이나) uk-UA 벵골어(방글라데시) bn-BD
영어(인도) en-IN 및 hi-IN 번들 마라티어(인도) mr-IN
타밀어(인도) ta-IN 텔루구어(인도) te-IN

음성 활동 감지 구성

음성 활동 감지(VAD)를 사용하면 모델이 사람이 말하는 시점을 인식할 수 있습니다. 사용자가 언제든지 모델의 말을 끊고 끼어들 수 있어 자연스러운 대화를 위해 필수적입니다.

VAD가 중단을 감지하면 진행 중인 생성이 취소되고 삭제됩니다. 클라이언트에 이미 전송된 정보만 세션 기록에 보관됩니다. 그런 다음 서버는 BidiGenerateContentServerContent 메시지를 전송하여 중단을 보고합니다. 그런 다음 서버는 대기 중인 함수 호출을 삭제하고 취소된 호출의 ID가 포함된 BidiGenerateContentServerContent 메시지를 전송합니다.

Python

config = {
    "response_modalities": ["audio"],
    "realtime_input_config": {
        "automatic_activity_detection": {
            "disabled": False, # default
            "start_of_speech_sensitivity": "low",
            "end_of_speech_sensitivity": "low",
            "prefix_padding_ms": 20,
            "silence_duration_ms": 100,
        }
    }
}
      

다음 단계