Die ML Kit GenAI Speech Translation API ermöglicht die Echtzeitübersetzung von gesprochenen Audioinhalten in verschiedene Sprachen auf dem Gerät. Die Speech Translation API nutzt die generativen KI-Sprachmodelle von Google, um eine hochwertige, datenschutzorientierte Übersetzung von Spracheingaben mit geringer Latenz zu ermöglichen, ohne dass eine cloudbasierte Audioverarbeitung erforderlich ist.
Hauptmerkmale
- Verwalten Sie den gesamten Prozess über eine einzige API – von der Überprüfung, ob ein Modell bereit ist, über das Initiieren von Downloads bis hin zur Ausführung der eigentlichen Übersetzung. Einzelheiten zur Implementierung finden Sie unter Speech Translation API einbinden.
- Verarbeiten Sie Live-Audio vom Mikrofon oder aus Dateien und erhalten Sie sowohl Zwischen- als auch Endergebnisse in Textform mit Kotlin Flow für Echtzeit-Updates.
- Führen Sie alle Audioanalyse- und Übersetzungsaufgaben auf dem Gerät aus, um den Datenschutz für Nutzer zu gewährleisten und die vollständige Offline-Funktionalität zu unterstützen.
Beispielergebnisse
| Eingabeaudio | Ausgangssprache | Zielsprache | Ausgabetext |
|---|---|---|---|
| Gesprochene Audioinhalte: „Hallo, wie geht es dir heute?“ | Englisch (en-US) | Spanisch (es-ES) | "Hola, ¿cómo estás hoy?" |
| Gesprochene Audioinhalte: „こんにちは、はじめまして“ | Japanisch (ja-JP) | Englisch (en-US) | „Hallo, schön, dich kennenzulernen.“ |
Vorbereitung
Wenn Sie die Speech Translation API verwenden möchten, müssen die folgenden Anforderungen erfüllt sein:
- Du benötigst ein unterstütztes Gerät.
- Auf deinem Gerät muss die aktuelle Betaversion (
versionCode 210665810oder höher) der App für Spracherkennung und -synthese (com.google.android.tts) von Google installiert sein. - Auf deinem Gerät müssen mindestens 4,0 GB freier Speicherplatz vorhanden sein, um Gemini Nano V4 herunterzuladen.
Jetzt starten
Fügen Sie zuerst die ML Kit-Abhängigkeit für die Sprachübersetzung der Datei build.gradle.kts (oder build.gradle) auf Modulebene hinzu:
Kotlin
dependencies {
// ML Kit Base Infrastructure
implementation("com.google.mlkit:common:18.10.0")
// ML Kit GenAI Speech Translation SDK
implementation("com.google.mlkit:genai-speech-translation:1.0.0-alpha1")
}
Groovy
dependencies {
// ML Kit Base Infrastructure
implementation 'com.google.mlkit:common:18.10.0'
// ML Kit GenAI Speech Translation SDK
implementation 'com.google.mlkit:genai-speech-translation:1.0.0-alpha1'
}
Speech Translation API einbinden
Führen Sie die folgenden Schritte aus, um das Speech Translation SDK in Ihre Anwendung einzubinden:
- Initialisieren Sie einen
SpeechTranslator-Client, indem Sie einSpeechTranslatorOptions-Konfigurationsobjekt erstellen. - Verwenden Sie die Kotlin Flow API, um die Verfügbarkeit von Funktionen zu prüfen und Modelldownloads zu verwalten.
- Erstellen Sie ein
SpeechTranslatorRequest-Objekt, umTranslationAudio-Datenpakete zu streamen und Übersetzungsergebnisse in Echtzeit zu beobachten. Die Audioeingabe muss im Format PCM 16-Bit, 16 kHz, Mono vorliegen.
// Initialize the client.
val options = SpeechTranslatorOptions.Builder(Locale.US, Locale.CHINESE).build()
val client = SpeechTranslation.getClient(options)
// Check and download the on-device model.
if (client.checkStatus() == FeatureStatus.DOWNLOADABLE) {
client.download().collect { status ->
println("Download progress: $status")
}
}
// Construct a streaming request with raw audio (PCM 16-bit, 16kHz, mono).
val audioFlow = flow {
emit(TranslationAudio(Locale.US, rawAudioBytes))
}
val request = SpeechTranslatorRequest.Builder(audioFlow).build()
// Start a session and collect translated responses.
client.startTranslation(request).collect { response ->
when (response) {
is SpeechTranslatorResponse.Text -> {
println("Translation (${response.locale}): ${response.translatedText}")
}
is SpeechTranslatorResponse.ErrorResponse -> {
println("Translation failed: ${response.e.message}")
}
is SpeechTranslatorResponse.CompletedResponse -> {
println("Session closed.")
}
}
}
// Close the client when done.
client.close()
Unterstützte Geräte
Damit Sie die Speech Translation API verwenden können, muss Ihr Gerät einen leistungsstarken neuronalen Beschleuniger (TPU/NPU) in seinem Chipsatz integriert haben. In der folgenden Tabelle sind einige wichtige unterstützte Smartphone-Modelle aufgeführt. Sie sollten jedoch den Chipsatz Ihres Geräts prüfen, um die Unterstützung zu bestätigen.
| Chipsatzfamilie | Chipsatz-IDs | Beispielgeräte | Mindestversion des Betriebssystems |
|---|---|---|---|
| Google Tensor | Google Tensor G5, G6+ |
|
Android 14 |
| Qualcomm Snapdragon | SM8650, SM8750, SM8850, SM8845, SM8975, SM8950, SM8735 |
|
Android 15 |
| MediaTek | Dimensity 9300, 9400+ |
|
Android 15 |
Häufig auftretende Probleme bei der Einrichtung
Die GenAI APIs des ML Kit greifen über die Android AICore-App auf Gemini Nano zu. Wenn ein Gerät gerade erst eingerichtet (oder zurückgesetzt) wurde oder die AICore App gerade zurückgesetzt wurde (z.B. durch Löschen von Daten, Deinstallieren und Neuinstallieren), hat die AICore App möglicherweise nicht genügend Zeit, um die Initialisierung abzuschließen (einschließlich des Herunterladens der neuesten Konfigurationen vom Server). Daher funktionieren die ML Kit GenAI APIs möglicherweise nicht wie erwartet. Hier sind die häufigsten Fehlermeldungen bei der Einrichtung und wie du sie beheben kannst:
| Beispiel für Fehlermeldung | Vorgehensweise |
| AICore ist mit dem Fehlertyp 4-CONNECTION_ERROR und dem Fehlercode 601-BINDING_FAILURE fehlgeschlagen: Der AICore-Dienst konnte nicht gebunden werden. | Das kann passieren, wenn Sie die App mit ML Kit GenAI APIs direkt nach der Geräteeinrichtung installieren oder wenn AICore nach der Installation Ihrer App deinstalliert wird. Das Problem sollte behoben sein, wenn du die AICore App aktualisierst und deine App dann neu installierst. |
| AICore ist mit dem Fehlertyp 3-PREPARATION_ERROR und dem Fehlercode 606-FEATURE_NOT_FOUND fehlgeschlagen: Die Funktion ... ist nicht verfügbar. |
Das kann passieren, wenn AICore die neuesten Konfigurationen noch nicht heruntergeladen hat. Wenn das Gerät mit dem Internet verbunden ist, dauert die Aktualisierung in der Regel einige Minuten bis einige Stunden. Ein Neustart des Geräts kann das Update beschleunigen.
Wenn der Bootloader des Geräts entsperrt ist, wird dieser Fehler ebenfalls angezeigt. Diese API unterstützt keine Geräte mit entsperrten Bootloadern. |
| AICore ist mit dem Fehlertyp 1-DOWNLOAD_ERROR und dem Fehlercode 0-UNKNOWN fehlgeschlagen: Die Funktion ... ist mit dem Fehlerstatus 0 und dem Fehler esz: UNAVAILABLE: Unable to resolve host ... fehlgeschlagen. | Behalte die Netzwerkverbindung bei, warte einige Minuten und versuche es dann noch einmal. |