L'API ML Kit GenAI Speech Translation consente la traduzione on-device in tempo reale dell'audio parlato in varie lingue. Utilizzando i modelli vocali di AI generativa di Google, l'API Speech Translation offre una trascrizione tradotta a bassa latenza, di alta qualità e incentrata sulla privacy, senza richiedere l'elaborazione audio basata su cloud.
Funzionalità chiave
- Gestisci l'intero processo tramite un'unica API, dalla verifica della disponibilità di un modello all'avvio dei download, fino all'esecuzione della traduzione effettiva. Per i dettagli sull'implementazione, consulta Integra l'API Speech Translation.
- Elabora l'audio in tempo reale dal microfono o dai file e ricevi risultati di testo sia intermedi che finali utilizzando Kotlin Flow per gli aggiornamenti in tempo reale.
- Eseguire tutte le attività di analisi e traduzione audio on-device per mantenere la privacy dell'utente e supportare la funzionalità offline completa.
Risultati di esempio
| Audio di input | Lingua di origine | Lingua di destinazione | Testo di output |
|---|---|---|---|
| Audio parlato: "Ciao, come stai oggi?" | Inglese (en-US) | Spagnolo (es-ES) | "Hola, ¿cómo estás hoy?" |
| Audio parlato: "こんにちは、はじめまして" | Giapponese (ja-JP) | Inglese (en-US) | "Ciao, piacere di conoscerti" |
Prerequisiti
Per utilizzare l'API Speech Translation, devi soddisfare i seguenti requisiti:
- Devi avere un dispositivo supportato.
- Sul tuo dispositivo deve essere installata l'ultima versione beta (
versionCode 210665810o versioni successive) dell'app Riconoscimento e sintesi vocale (com.google.android.tts) di Google. - Il dispositivo deve avere almeno 4,0 GB di spazio di archiviazione libero per scaricare Gemini Nano V4.
Inizia
Per iniziare, aggiungi la dipendenza di ML Kit Speech Translation al file build.gradle.kts (o build.gradle) a livello di modulo:
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'
}
Integra l'API Speech Translation
Per integrare l'SDK Speech Translation nella tua app, completa i seguenti passaggi:
- Inizializza un client
SpeechTranslatorcreando un oggetto di configurazioneSpeechTranslatorOptions. - Utilizza l'API Kotlin Flow per verificare la disponibilità delle funzionalità e gestire i download dei modelli.
- Crea un oggetto
SpeechTranslatorRequestper trasmettere pacchetti di datiTranslationAudioe osserva i risultati della traduzione in tempo reale. L'audio di input deve essere in formato PCM a 16 bit, 16 kHz, mono.
// 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()
Dispositivi supportati
Per utilizzare l'API Speech Translation, il dispositivo deve avere un acceleratore neurale (TPU/NPU) ad alte prestazioni integrato nel chipset. La tabella seguente elenca alcuni dei principali modelli di smartphone supportati, ma tieni presente che per verificare il supporto devi controllare il chipset del tuo dispositivo.
| Famiglia di chipset | ID chipset | Dispositivi di esempio | Versione minima del sistema operativo |
|---|---|---|---|
| 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 |
Problemi di configurazione comuni
Le API GenAI di ML Kit si basano sull'app Android AICore per accedere a Gemini Nano. Quando un dispositivo viene appena configurato (incluso il reset) o l'app AICore viene appena resettata (ad es. cancellazione dei dati, disinstallazione e reinstallazione), l'app AICore potrebbe non avere abbastanza tempo per completare l'inizializzazione (incluso il download delle configurazioni più recenti dal server). Di conseguenza, le API GenAI di ML Kit potrebbero non funzionare come previsto. Di seguito sono riportati i messaggi di errore di configurazione comuni che potresti visualizzare e come gestirli:
| Esempio di messaggio di errore | Come gestirla |
| AICore non è riuscito con il tipo di errore 4-CONNECTION_ERROR e il codice di errore 601-BINDING_FAILURE: impossibile associare il servizio AICore. | Ciò potrebbe accadere quando installi l'app utilizzando le API GenAI di ML Kit immediatamente dopo la configurazione del dispositivo o quando AICore viene disinstallato dopo l'installazione dell'app. Il problema dovrebbe risolversi aggiornando l'app AICore e reinstallando la tua app. |
| AICore non è riuscito con il tipo di errore 3-PREPARATION_ERROR e il codice di errore 606-FEATURE_NOT_FOUND: la funzionalità … non è disponibile. |
Ciò potrebbe accadere quando AICore non ha terminato il download delle configurazioni più recenti. Quando il dispositivo è connesso a internet, l'aggiornamento richiede in genere da alcuni minuti ad alcune ore. Il riavvio del dispositivo può velocizzare l'aggiornamento.
Tieni presente che se il bootloader del dispositivo è sbloccato, vedrai anche questo errore: questa API non supporta i dispositivi con bootloader sbloccati. |
| AICore non è riuscito con il tipo di errore 1-DOWNLOAD_ERROR e il codice di errore 0-UNKNOWN: la funzionalità … non è riuscita con lo stato di errore 0 e l'errore esz: UNAVAILABLE: impossibile risolvere l'host … | Mantieni la connessione di rete, attendi qualche minuto e riprova. |