Este documento describe cómo usar el SDK de Java de DashScope para llamar al modelo de traducción de audio y video en tiempo real Qwen-LiveTranslate-Realtime.
Antes de comenzar
- Instalar DashScope SDK versión 2.22.5 o posterior.
- Obtener una clave de API.
- Configure la clave de API como una variable de entorno:
- Revise la descripción general del modelo Qwen-LiveTranslate para conocer los idiomas y voces admitidos.
Inicio rápido
Conectar, enviar audio y recibir texto traducido:
Parámetros de solicitud
OmniRealtimeParam
Construya estos con OmniRealtimeParam.builder() para establecer la conexión WebSocket.
Haga clic para ver el código de ejemplo
Haga clic para ver el código de ejemplo
Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
|
| Sí | Nombre del modelo. Recomendamos |
|
| Sí | Endpoint de WebSocket. Use Reemplace |
|
| No | Clave de API para autenticación. Si no se establece, configúrela mediante la variable de entorno |
OmniRealtimeConfig
Construya estos con OmniRealtimeConfig.builder() y luego llame a conversation.updateSession(config) después de conectarse.
Haga clic para ver el código de ejemplo
Haga clic para ver el código de ejemplo
Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
|
| No | Modalidades de salida. Predeterminado: |
|
| No | La voz para el habla sintetizada. La voz predeterminada para |
|
| No | Formato de audio de entrada. Predeterminado: |
|
| No | Formato de audio de salida. Predeterminado: |
|
| No | Modelo ASR para transcribir el habla original. Configure como |
|
| No | Configuración de traducción. Consulte OmniRealtimeTranslationParam a continuación. |
|
| No | Indica si se debe habilitar VAD (Detección de Actividad de Voz). Valor predeterminado: Configure como |
OmniRealtimeConfig.builder().parameters(Map). Las entradas del Map se escriben directamente en session. Por ejemplo, prepare estos parámetros para activar la clonación de voz en tiempo real:
.voice("default") y agregue .parameters(parameters). Mantenga los ajustes de idioma y audio y luego llame a conversation.updateSession(config). Consulte Clonación de voz para las combinaciones de frecuencia y voz.
OmniRealtimeTranslationParam
Construya el idioma objetivo y la terminología personalizada con OmniRealtimeTranslationParam.builder().
Haga clic para ver el código de ejemplo
Haga clic para ver el código de ejemplo
Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
|
| No | Código de idioma objetivo. Predeterminado: |
|
| No | Terminología personalizada para términos específicos del dominio. |
|
| No | Mapeo de términos: las claves son términos fuente y los valores son traducciones objetivo. Ejemplo: |
Interfaces clave
OmniRealtimeConversation
Gestiona la conexión WebSocket y el ciclo de vida de la transmisión de audio.
Importar: com.alibaba.dashscope.audio.omni.OmniRealtimeConversation
Método | Descripción |
|---|---|
| Crea una instancia de conversación con parámetros de conexión y una devolución de llamada de eventos. |
| Abre la conexión WebSocket. Activa los eventos session.created y session.updated. Lanza |
| Actualiza la configuración de la sesión después de conectarse. Activa el evento session.updated. Configure solo los parámetros que necesite; se aplican los valores predeterminados para los parámetros omitidos. |
| Envía un fragmento de audio codificado en Base64 al servidor. El servidor detecta automáticamente los límites del habla y activa la traducción. |
| En modo Manual, confirma el audio previamente agregado al búfer del servidor mediante el método |
| Borra los datos de audio no confirmados del búfer del servidor. Activa el evento input_audio_buffer.cleared. |
| Finaliza la sesión correctamente. El servidor completa la traducción en curso antes de enviar session.finished. Lanza |
| Detiene la tarea y cierra la conexión WebSocket. |
| Devuelve el ID de sesión. |
| Devuelve el ID de respuesta de la respuesta más reciente del servidor. |
| Devuelve la latencia del primer texto de la respuesta más reciente (milisegundos). |
| Devuelve la latencia del primer audio de la respuesta más reciente (milisegundos). |
OmniRealtimeCallback
Gestiona los eventos del servidor entregados a través de WebSocket. Extienda esta clase e implemente cada método para procesar eventos.
Importar: com.alibaba.dashscope.audio.omni.OmniRealtimeCallback
Método | Parámetros | Descripción |
|---|---|---|
| None | Se llama cuando se establece la conexión WebSocket. |
|
| Se llama para cada evento del servidor. Analice el campo |
|
| Se llama cuando se cierra la conexión WebSocket. |
onEvent:
Tipo de evento | Descripción |
|---|---|
| El servidor detectó habla en el flujo de audio. |
| El servidor detectó el final del segmento de habla. |
| La transcripción en el idioma fuente está lista. Lea |
| El texto traducido está listo. Lea |
| Un fragmento de audio traducido está disponible. Lea |
| Ocurrió un error. Lea |
Ejemplo completo
Este ejemplo captura audio del micrófono, lo traduce en tiempo real y reproduce el habla traducida a través del altavoz del sistema.
Qué hace:
- Se conecta a Qwen-LiveTranslate mediante WebSocket.
- Configura la traducción de español a inglés con terminología personalizada.
- Transmite audio del micrófono en fragmentos de 100 ms.
- Imprime la transcripción original y el texto traducido.
- Reproduce el audio traducido a través del altavoz.
Código de ejemplo para traducción de micrófono en tiempo real
Código de ejemplo para traducción de micrófono en tiempo real
Marcador de posición | Descripción | Ejemplo |
|---|---|---|
| Clave de API de Model Studio |
|
Temas relacionados
- Descripción general del modelo Qwen-LiveTranslate -- Idiomas, voces y capacidades admitidas
- Referencia de eventos del lado del servidor -- Tipos de eventos, esquemas JSON y códigos de error
- Instalar DashScope SDK -- Instalación y configuración de dependencias
- Obtener una clave de API -- Creación y gestión