API de Speech Translation de IA generativa

La API de traducción de voz de IA generativa de ML Kit permite la traducción en tiempo real e integrada en el dispositivo de audio hablado en varios idiomas. Con los modelos de voz de IA generativa de Google, la API de Speech Translation ofrece traducción de voz a texto de baja latencia, alta calidad y centrada en la privacidad sin necesidad de procesamiento de audio basado en la nube.

Funciones clave

  • Administra todo el proceso a través de una sola API, desde verificar si un modelo está listo, iniciar las descargas y ejecutar la traducción real. Consulta Integra la API de Speech Translation para obtener detalles de la implementación.
  • Procesa audio en vivo desde el micrófono o archivos, y recibe resultados de texto intermedios y finales con Kotlin Flow para obtener actualizaciones en tiempo real.
  • Realizar todas las tareas de análisis y traducción de audio integrado en el dispositivo para mantener la privacidad del usuario y admitir la funcionalidad sin conexión completa.

Resultados de ejemplo

Audio de entrada Idioma de origen Idioma de destino Texto de salida
Audio hablado: "Hola, ¿cómo estás?" Inglés (en-US) Español (es-ES) "Hola, ¿cómo estás hoy?"
Audio hablado: "こんにちは、はじめまして" Japonés (ja-JP) Inglés (en-US) "Hola, un gusto conocerte"

Requisitos previos

Para usar la API de Speech Translation, debes cumplir con los siguientes requisitos:

  • Debes tener un dispositivo compatible.
  • Tu dispositivo debe tener la versión beta más reciente (versionCode 210665810 o posterior) de la app de Reconocimiento y síntesis de voz (com.google.android.tts) de Google.
  • Tu dispositivo debe tener al menos 4.0 GB de almacenamiento libre para descargar Gemini Nano V4.

Comenzar

Para comenzar, agrega la dependencia de la traducción de voz del ML Kit al archivo build.gradle.kts (o build.gradle) de nivel de módulo:

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 la API de Speech Translation

Para integrar el SDK de Speech Translation en tu app, completa los siguientes pasos:

  1. Inicializa un cliente SpeechTranslator compilando un objeto de configuración SpeechTranslatorOptions.
  2. Usa la API de Kotlin Flow para verificar la disponibilidad de las funciones y administrar las descargas de modelos.
  3. Crea un objeto SpeechTranslatorRequest para transmitir paquetes de datos TranslationAudio y observar los resultados de la traducción en tiempo real. El audio de entrada debe estar en formato PCM de 16 bits, 16 kHz y 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()

Dispositivos compatibles

Para usar la API de Speech Translation, tu dispositivo debe tener un acelerador neuronal de alto rendimiento (TPU o NPU) integrado en su chipset. En la siguiente tabla, se enumeran algunos de los principales modelos de teléfonos compatibles, pero ten en cuenta que, para verificar la compatibilidad, debes consultar el chipset de tu dispositivo.

Familia de chipsets IDs de chipsets Ejemplo de dispositivos Versión mínima del SO
Google Tensor Google Tensor G5, G6 y versiones posteriores
  • Google Pixel 10, 11
Android 14
Qualcomm Snapdragon SM8650, SM8750, SM8850, SM8845, SM8975, SM8950, SM8735
  • Samsung Galaxy S25, S25+ y S25 Ultra
  • Samsung Galaxy S26, S26+ y S26 Ultra
  • Samsung Galaxy Z Fold7
  • Xiaomi 15
  • OnePlus 13
  • Motorola Razr 60 Ultra
Android 15
MediaTek Dimensity 9300, 9400+
  • OPPO Find X10, X10 Pro
  • Samsung Galaxy Tab S12
Android 15

Problemas comunes de configuración

Las APIs de IA generativa de ML Kit dependen de la app de AICore de Android para acceder a Gemini Nano. Cuando un dispositivo se acaba de configurar (incluido el restablecimiento) o la app de AICore se acaba de restablecer (p.ej., se borraron los datos, se desinstaló y se reinstaló), es posible que la app de AICore no tenga suficiente tiempo para finalizar la inicialización (incluida la descarga de las configuraciones más recientes del servidor). Como resultado, es posible que las APIs de IA generativa de ML Kit no funcionen como se espera. Estos son los mensajes de error de configuración comunes que podrías ver y cómo solucionarlos:

Ejemplo de mensaje de error Cómo manejar esta situación
AICore falló con el tipo de error 4-CONNECTION_ERROR y el código de error 601-BINDING_FAILURE: No se pudo vincular el servicio de AICore. Esto puede suceder cuando instalas la app con las APIs de IA generativa de ML Kit inmediatamente después de configurar el dispositivo o cuando se desinstala AICore después de instalar la app. Actualizar la app de AICore y, luego, reinstalar tu app debería solucionar el problema.
AICore falló con el tipo de error 3-PREPARATION_ERROR y el código de error 606-FEATURE_NOT_FOUND: La función ... no está disponible. Esto puede suceder cuando AICore no terminó de descargar los parámetros de configuración más recientes. Cuando el dispositivo está conectado a Internet, suele tardar entre unos minutos y unas horas en actualizarse. Reiniciar el dispositivo puede acelerar la actualización.

Ten en cuenta que, si el bootloader del dispositivo está desbloqueado, también verás este error, ya que esta API no admite dispositivos con bootloaders desbloqueados.
AICore falló con el tipo de error 1-DOWNLOAD_ERROR y el código de error 0-UNKNOWN: La función ... falló con el estado de error 0 y el error esz: UNAVAILABLE: No se puede resolver el host ... Mantén la conexión de red, espera unos minutos y vuelve a intentarlo.