L'API ML Kit GenAI Speech Translation permet de traduire en temps réel et sur l'appareil des contenus audio parlés dans différentes langues. Grâce aux modèles vocaux d'IA générative de Google, l'API Speech Translation offre une traduction par reconnaissance vocale à faible latence, de haute qualité et axée sur la confidentialité, sans nécessiter de traitement audio dans le cloud.
Capacités clés
- Gérez l'ensemble du processus via une seule API, de la vérification de la disponibilité d'un modèle au lancement des téléchargements, en passant par l'exécution de la traduction proprement dite. Pour en savoir plus sur l'implémentation, consultez Intégrer l'API Speech Translation.
- Traitez l'audio en direct depuis le micro ou des fichiers, et recevez des résultats textuels intermédiaires et finaux à l'aide de Kotlin Flow pour des mises à jour en temps réel.
- Effectuer toutes les tâches d'analyse et de traduction audio sur l'appareil pour préserver la confidentialité des utilisateurs et assurer une fonctionnalité hors connexion complète.
Exemples de résultats
| Audio d'entrée | Langue source | Langue cible | Texte de sortie |
|---|---|---|---|
| Audio parlé : "Hello, how are you today?" | English (en-US) | Spanish (es-ES) | "Hola, ¿cómo estás hoy?" |
| Audio parlé : "こんにちは、はじめまして" | Japanese (ja-JP) | English (en-US) | "Bonjour, enchanté" |
Prérequis
Pour utiliser l'API Speech Translation, vous devez remplir les conditions suivantes :
- Vous devez disposer d'un appareil compatible.
- Votre appareil doit disposer de la dernière version bêta (
versionCode 210665810ou ultérieure) de l'application Reconnaissance et synthèse vocales (com.google.android.tts) de Google. - Votre appareil doit disposer d'au moins 4 Go d'espace de stockage disponible pour télécharger Gemini Nano V4.
Commencer
Pour commencer, ajoutez la dépendance ML Kit Speech Translation au fichier build.gradle.kts (ou build.gradle) au niveau du module :
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'
}
Intégrer l'API Speech Translation
Pour intégrer le SDK Speech Translation à votre application, procédez comme suit :
- Initialisez un client
SpeechTranslatoren créant un objet de configurationSpeechTranslatorOptions. - Utilisez l'API Kotlin Flow pour vérifier la disponibilité des fonctionnalités et gérer les téléchargements de modèles.
- Créez un objet
SpeechTranslatorRequestpour diffuser des paquets de donnéesTranslationAudioet observer les résultats de la traduction en temps réel. L'audio d'entrée doit être au format PCM 16 bits, 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()
Appareils compatibles
Pour utiliser l'API Speech Translation, votre appareil doit être équipé d'un accélérateur neuronal hautes performances (TPU/NPU) intégré à son chipset. Le tableau suivant liste certains des principaux modèles de téléphones compatibles, mais n'oubliez pas que pour vérifier la compatibilité, vous devez vérifier le chipset de votre appareil.
| Famille de chipsets | ID de chipset | Exemples d'appareils | Version minimale de l'OS |
|---|---|---|---|
| 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 |
Problèmes de configuration courants
Les API d'IA générative ML Kit s'appuient sur l'application Android AICore pour accéder à Gemini Nano. Lorsqu'un appareil vient d'être configuré (y compris réinitialisé) ou que l'application AICore vient d'être réinitialisée (par exemple, effacement des données, désinstallation puis réinstallation), l'application AICore peut ne pas avoir assez de temps pour terminer l'initialisation (y compris le téléchargement des dernières configurations depuis le serveur). Par conséquent, les API GenAI de ML Kit risquent de ne pas fonctionner comme prévu. Voici les messages d'erreur de configuration courants que vous pouvez rencontrer et comment les résoudre :
| Exemple de message d'erreur | Comment répondre à une telle objection |
| Échec d'AICore avec le type d'erreur 4-CONNECTION_ERROR et le code d'erreur 601-BINDING_FAILURE : échec de la liaison du service AICore. | Cela peut se produire lorsque vous installez l'application à l'aide des API GenAI de ML Kit immédiatement après la configuration de l'appareil ou lorsque AICore est désinstallé après l'installation de votre application. Mettre à jour l'application AICore, puis réinstaller votre application devrait résoudre le problème. |
| AICore a échoué avec le type d'erreur 3-PREPARATION_ERROR et le code d'erreur 606-FEATURE_NOT_FOUND : la fonctionnalité ... n'est pas disponible. |
Cela peut se produire lorsque AICore n'a pas fini de télécharger les dernières configurations. Lorsque l'appareil est connecté à Internet, la mise à jour prend généralement de quelques minutes à quelques heures. Redémarrer l'appareil peut accélérer la mise à jour.
Notez que si le bootloader de l'appareil est déverrouillé, vous verrez également cette erreur. Cette API n'est pas compatible avec les appareils dont le bootloader est déverrouillé. |
| AICore a échoué avec le type d'erreur 1-DOWNLOAD_ERROR et le code d'erreur 0-UNKNOWN : la fonctionnalité ... a échoué avec l'état d'échec 0 et l'erreur esz : UNAVAILABLE : Impossible de résoudre l'hôte ... | Maintenez la connexion réseau, patientez quelques minutes, puis réessayez. |