Die Funktion „Sprache-zu-Sprache-Übersetzung“ nutzt KI, um Sprache zu interpretieren und so Unterhaltungen zwischen Personen und Systemen zu ermöglichen, die unterschiedliche Sprachen sprechen. Ihre Anwendung kann diese Funktion verwenden, um einen Audiostream mit Sprache in einer Sprache zu verarbeiten und in Echtzeit in eine andere Sprache zu übersetzen.
Im Gegensatz zu anderen Live API-Funktionen, die auf abwechselnden Gesprächen basieren, verarbeitet die Sprach-zu-Sprach-Übersetzung Audioeingaben kontinuierlich und streamt die folgenden Ausgaben, sobald sie verfügbar sind:
- Transkription:Der erkannte Text aus dem Audio-Eingabestream in der Originalsprache.
- Übersetzung:Der übersetzte Text in der Zielsprache.
- Synthetisiertes Audio:Ein Audiostream des übersetzten Texts, der in der Zielsprache gesprochen wird und der Stimme des ursprünglichen Sprechers entspricht.
Unterstützte Modelle
Sie können die Sprach-zu-Sprach-Übersetzung mit dem folgenden Modell verwenden:
| Modellversion | Verfügbarkeitsstufe |
|---|---|
gemini-2.5-flash-s2st-exp-11-2025 |
Privat (Test) |
Anforderungen an Eingabeaudio
Die Sprachübersetzung unterstützt nur Audioeingaben. Informationen zu unterstützten Audioformaten, Codecs und Spezifikationen wie der Abtastrate finden Sie unter Unterstützte Audioformate.
Sprachübersetzung verwenden
Wenn Sie die Sprach-zu-Sprach-Übersetzung verwenden möchten, sehen Sie sich die folgenden Codebeispiele an:
Python
# Set language_code to your desired language, in this case, Mandarin Chinese. speech_config = SpeechConfig(language_code="cmn") config = LiveConnectConfig( response_modalities=["AUDIO"], speech_config=speech_config, input_audio_transcription=input_transcription, output_audio_transcription=output_transcription, ) audio_file = Part.from_uri(file_uri=audio_url, mime_type="audio/mpeg") contents = [audio_file] response = client.models.generate_content(model=MODEL_ID, contents=contents) display(Markdown(response.text))
Python
import asyncio # Set model generation_config CONFIG = { "response_modalities": ["AUDIO"], "speech_config": { "language_code": "cmn", }, } headers = { "Content-Type": "application/json", "Authorization": f"Bearer {bearer_token[0]}", } # Connect to the server async with connect(SERVICE_URL, additional_headers=headers) as ws: # Setup the session await ws.send( json.dumps( { "setup": { "model": MODEL, "generation_config": CONFIG, "input_audio_transcription": {}, "output_audio_transcription": {}, "enable_speech_to_speech_translation": True, } } ) ) # Receive setup response raw_response = await ws.recv(decode=False) setup_response = json.loads(raw_response.decode("ascii")) print(setup_response) msg = { "realtime_input": { "audio": { "mime_type": "audio/pcm", "data": base64.b64encode(wav_data).decode('utf-8'), } } } await ws.send(json.dumps(msg)) overall_responses = [] timeout_seconds = 10 # Set timeout to 3 seconds # Receive chucks of server response with a timeout try: while True: try: raw_response = await asyncio.wait_for(ws.recv(decode=False), timeout_seconds) response = json.loads(raw_response.decode()) server_content = response.pop("serverContent", None) if server_content is None: break # Input Transcription. input_transcription = server_content.pop("inputTranscription", None) if input_transcription is not None: raw_text = input_transcription.pop("text", None) if raw_text is not None: display(Markdown(f"**Input >** {raw_text}")) # Output Transcription. output_transcription = server_content.pop("outputTranscription", None) if output_transcription is not None: raw_text = output_transcription.pop("text", None) if raw_text is not None: display(Markdown(f"**Response >** {raw_text}")) model_turn = server_content.pop("modelTurn", None) if model_turn is not None: parts = model_turn.pop("parts", None) if parts is not None: for part in parts: pcm_data = base64.b64decode(part["inlineData"]["data"]) overall_responses.append(np.frombuffer(pcm_data, dtype=np.int16)) # End of turn # turn_complete = server_content.pop("turnComplete", None) # if turn_complete: # break except asyncio.TimeoutError: print(f"Timeout: No response received from the websocket within {timeout_seconds} seconds.") if overall_responses: display(Audio(np.concatenate(overall_responses), rate=24000, autoplay=True)) break # Exit the loop on timeout except websockets.exceptions.ConnectionClosed as e: print(f"Connection closed by exception, code: {e.code}, reason: {e.reason}") if overall_responses: display(Audio(np.concatenate(overall_responses), rate=24000, autoplay=True)) break # Exit the loop on connection closed except Exception as e: print(f"An unexpected error occurred: {e}") if overall_responses: display(Audio(np.concatenate(overall_responses), rate=24000, autoplay=True)) break # Exit the loop on other exceptions finally: try: await ws.close(code=1000, reason="Normal closure") #example close except websockets.exceptions.ConnectionClosed as e: print(f"Connection closed by exception, code: {e.code}, reason: {e.reason}") except Exception as e: print(f"An unexpected error occurred: {e}")
Unterstützte Sprachen
| Sprachcode | Sprache |
|---|---|
| aa | Afar |
| ab | Abchasisch |
| ace | Achinesisch |
| ach | Acoli |
| af | Afrikaans |
| ak | Akan |
| alz | Alur |
| vormittags | Amharisch |
| eine | Aragonesisch |
| ar | Arabisch |
| as | Assamesisch |
| av | Awarisch |
| awa | Awadhi |
| ay | Aymara |
| az | Aserbaidschanisch |
| ba | Baschkirisch |
| bal | Baluchi-Schaf |
| sperren | Balinesisch |
| bbc | Batak Toba |
| bci | Baoulé |
| be | Belarussisch |
| bem | Bemba |
| ber | Berber |
| bew | Betawi |
| bg | Bulgarisch |
| bgc | Haryanvi |
| bho | Bhojpuri |
| bi | Bislama |
| bm | Bambara |
| bn | Bengalisch |
| bo | Tibetisch |
| br | Bretonisch |
| bs | Bosnisch |
| bts | Batak Simalungun |
| btx | Batak Karo |
| Zertifizierungsstelle | Katalanisch |
| ce | Tschetschenisch |
| ceb | Cebuano |
| cgg | Chiga |
| ch | Chamorro |
| chk | Chuukesisch |
| cmn | Mandarin |
| cnh | Hakha Chin |
| co | Korsisch |
| cr | Cree |
| crh | Krimtatarisch |
| crs | Seychellenkreol |
| cs | Tschechisch |
| cv | Tschuwaschisch |
| cy | Walisisch |
| da | Dänisch |
| de | Deutsch |
| din | Dinka |
| doi | Dogri |
| dov | Dombe |
| dv | Dhivehi |
| dyu | Dioula |
| dz | Dzongkha |
| ee | Ewe |
| el | Griechisch |
| de | Englisch |
| eo | Esperanto |
| es | Spanisch |
| et | Estnisch |
| eu | Baskisch |
| fa | Farsi |
| ff | Fulfulde |
| fi | Finnisch |
| fil | Filipino |
| fj | Fidschianisch |
| fo | Färöisch |
| fon | Fon |
| fr | Französisch |
| Fell | Furlanisch |
| fy | Westfriesisch |
| ga | Irisch |
| gaa | Ga |
| gd | Gälisch |
| gl | Galizisch |
| gn | Guarani |
| gu | Gujarati |
| gv | Manx |
| ha | Hausa |
| haw | Hawaiisch |
| er | Hebräisch |
| hi | Hindi |
| hil | Hiligaynon |
| hmn | Hmong |
| ho | Hiri Motu |
| Std. | Kroatisch |
| hrx | Hunsrückisch |
| ht | Haitianisch |
| hu | Ungarisch |
| hy | Armenisch |
| hz | Herero |
| iba | Iban |
| id | Indonesisch |
| ig | Igbo |
| ilo | Ilokano |
| ist | Isländisch |
| it | Italienisch |
| iu | Inuktitut |
| ja | Japanisch |
| Jam | Jamaikanisches Kreol-Englisch |
| jv | Javanisch |
| ka | Georgisch |
| kac | Kachin |
| kek | Kekchí |
| kg | Kongo |
| kha | Khasi |
| ki | Kikuyu |
| kj | Kuanyama |
| kk | Kasachisch |
| kl | Grönländisch |
| km | Zentral-Khmer |
| kn | Kannada |
| ko | Koreanisch |
| kok | Konkani |
| kr | Kanuri |
| kri | Krio |
| ks | Kashmiri |
| ktu | Kituba |
| ku | Kurdisch |
| kv | Komi |
| kw | Cornish |
| ky | Kirgisisch |
| la | Latein |
| lb | Luxemburgisch |
| lg | Ganda |
| li | Limburgisch |
| lij | Ligurisch |
| lmo | Lombardisch |
| ln | Lingala |
| lo | Lao |
| lt | Litauisch |
| lu | Luba-Katanga |
| lua | Tschiluba |
| luo | Dholuo |
| lus | Mizo |
| lv | Lettisch |
| mad | Maduresisch |
| mai | Maithili |
| mak | Makasar |
| mam | Mam |
| mfe | Morisyen |
| mg | Malagasy |
| mh | Marshallesisch |
| Min. | Minangkabauisch |
| mk | Mazedonisch |
| ml | Malayalam |
| mn | Mongolisch |
| mr | Marathi |
| ms | Malaiisch |
| mt | Maltesisch |
| mwr | Marwari |
| my | Burmesisch |
| na | Nauru |
| nb | Norwegisch Bokmål |
| nd | Nord-Ndebele |
| ndc | Ndau |
| ne | Nepalesisch |
| neu | Newari |
| ng | Ndonga |
| nhe | Eastern Huasteca Nahuatl |
| nl | Niederländisch |
| nn | Norwegisch (Nynorsk) |
| nr | Süd-Ndebele |
| nso | Pedi |
| nus | Nuer |
| nv | Navajo |
| ny | Chichewa |
| oc | Okzitanisch |
| oj | Ojibwa |
| om | Oromo |
| oder | Oriya |
| os | Ossetisch |
| pa | Punjabi |
| pag | Pangasinensisch |
| pam | Pampanga |
| pap | Papiamento |
| pl | Polnisch |
| ps | Paschtu |
| pt | Portugiesisch |
| qu | Quechua |
| rm | Rätoromanisch |
| rn | Kirundi |
| ro | Rumänisch |
| ru | Russisch |
| rw | Kinyarwanda |
| sa | Sanskrit |
| sah | Jakutisch |
| Sa. | Santali |
| sc | Sardisch |
| scn | Sizilianisch |
| sd | Sindhi |
| se | Nordsamisch |
| sg | Sango |
| shn | Shan |
| si | Singhalesisch |
| sk | Slowakisch |
| sl | Slowenisch |
| sm | Samoanisch |
| sn | Shona |
| so | Somali |
| sq | Albanisch |
| sr | Serbisch |
| ss | Siswati |
| st | Süd-Sotho |
| su | Sundanesisch |
| sv | Schwedisch |
| sw | Suaheli |
| szl | Schlesisch |
| ta | Tamil |
| tcy | Tulu |
| te | Telugu |
| tet | Tetum |
| tg | Tadschikisch |
| th | Thailändisch |
| ti | Tigrinya |
| tiv | Tiv |
| tk | Turkmenisch |
| tl | Tagalog |
| tn | Setswana |
| bis | Tonga |
| tpi | Tok Pisin |
| tr | Türkisch |
| trp | Kokborok |
| ts | Tsonga |
| tt | Tatarisch |
| tum | Tumbuka |
| tw | Twi |
| ty | Tahitianisch |
| tyv | Tuwinisch |
| udm | Udmurtisch |
| ug | Uighur |
| uk | Ukrainisch |
| ur | Urdu |
| uz | Usbekisch |
| ve | Venda |
| vec | Venetisch |
| vi | Vietnamesisch |
| wa | Wallonisch |
| Krieg | Wáray-Wáray |
| wo | Wolof |
| xh | Xhosa |
| yi | Jiddisch |
| yo | Yoruba |
| yua | Mayathan |
| yue | Kantonesisch |
| za | Zhuang |
| zh | Chinesisch |
| zu | Zulu |
Abrechnung
Da es sich um eine experimentelle Funktion handelt, wird Ihnen die Sprach-zu-Sprach-Übersetzung nicht in Rechnung gestellt.
Weitere Informationen zu Preisen und Abrechnung finden Sie unter Vertex AI-Preise.