Clone y administre voces de Qwen-Audio y CosyVoice con el SDK de Java de DashScope.
Endpoint de servicio
El SDK utiliza el endpoint de China (Beijing) de forma predeterminada. Para cambiar a una región diferente, modifique Constants.baseHttpApiUrl antes de la inicialización.
- Las API keys varían por región. Use la API key de la región de destino.
- La configuración de región es global y afecta a todas las llamadas de API del SDK de DashScope.
- Singapore
- China (Beijing)
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1Reemplace {WorkspaceId} con su ID de espacio de trabajo real.Clase VoiceEnrollmentService
Paquete: com.alibaba.dashscope.audio.ttsv2.enrollment.VoiceEnrollmentService
Propósito: Administra el ciclo de vida de las voces clonadas de Qwen-Audio-TTS, Qwen-Audio-Realtime y CosyVoice (crear, consultar, actualizar y eliminar).
Constructor
| Parámetro | Tipo | Descripción |
|---|---|---|
| apiKey | String | Clave de API |
createVoice() - Crear una voz
Firma del método:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| targetModel | String | Sí | Modelo de destino que usa la voz. Debe coincidir con el modelo usado en las solicitudes posteriores con esta voz; de lo contrario, las solicitudes fallan. |
| prefix | String | Sí | Un prefijo para el nombre de la voz. Solo se permiten caracteres alfanuméricos, con una longitud máxima de 10 caracteres. El nombre de voz resultante sigue este formato: {target_model}-{prefix}-{unique_id}. |
| url | String | Sí | Audio de referencia para la clonación de voz. Acepta una URL de acceso público o un Data URI codificado en Base64, por ejemplo, data:audio/wav;base64,.... |
| customParam | VoiceEnrollmentParam | No | Parámetros personalizados como languageHints y maxPromptAudioLength. |
Voice. Llame a getVoiceId() para recuperar el ID de la voz.
listVoice() - Listar voces
Firma del método:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| prefix | String | No | Filtra las voces por prefijo de nombre. |
| pageIndex | int | No | Índice de página, comenzando desde 0. |
| pageSize | int | No | Número de registros por página. |
Voice[].
queryVoice() - Recuperar detalles de la voz
Firma del método:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| voiceId | String | Sí | El ID de la voz a recuperar. |
Voice que contiene los detalles de la voz.
updateVoice() - Actualizar una voz
Firmas de métodos:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| voiceId | String | Sí | El ID de voz a actualizar. |
| url | String | Sí | Nuevo audio de referencia. Acepta una URL de acceso público o un Data URI codificado en Base64, por ejemplo, data:audio/wav;base64,.... |
| customParam | VoiceEnrollmentParam | No | Parámetros personalizados. |
deleteVoice() - Eliminar una voz
Firma del método:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| voiceId | String | Sí | El ID de voz a eliminar. |
Clase VoiceEnrollmentParam
Paquete: com.alibaba.dashscope.audio.ttsv2.enrollment.VoiceEnrollmentParam
Construya objetos de parámetros utilizando el patrón builder.
| Método | Tipo | Descripción |
|---|---|---|
| model(String) | String | El modelo de clonación de voz. El valor debe ser "voice-enrollment". |
languageHints(List<String>) | List<String> | Ayuda al modelo a identificar el idioma del audio de muestra para extraer características de voz con mayor precisión y mejorar la calidad de la clonación. Si el idioma especificado no coincide con el idioma real del audio (por ejemplo, establecer en cuando el audio está en chino), el sistema ignora este valor y detecta el idioma automáticamente.Este parámetro es una matriz y debe contener exactamente un elemento.Se aplica a qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash, qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash, qwen-audio-3.1-realtime-plus, qwen-audio-3.0-realtime-plus, qwen-audio-3.0-realtime-flash, cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-plus, cosyvoice-v3-flash.
Haga clic para ver los idiomas compatibles por modelo
|
| maxPromptAudioLength(Float) | Float | La duración máxima (en segundos) del audio de referencia después del preprocesamiento. Valores válidos: [3.0, 30.0].Predeterminado: 10.0. Se aplica a qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash, qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash, qwen-audio-3.1-realtime-plus, qwen-audio-3.0-realtime-plus, qwen-audio-3.0-realtime-flash, cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-flash. |
| parameter(String, Object) | Object | Establece parámetros personalizados, como parameter("language_hints", Arrays.asList("en")), parameter("max_prompt_audio_length", 10.0f), parameter("enable_preprocess", false) y parameter("enable_volume_normalization", "false"). |
Parámetros adicionales
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| enable_preprocess | boolean | No | Indica si se debe habilitar el preprocesamiento de audio (reducción de ruido, mejora de audio y normalización de volumen). Habilite esta opción para grabaciones con ruido de fondo. Desactívela para grabaciones en entornos silenciosos para preservar las características originales de la voz.Predeterminado: false. Se aplica a qwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash, qwen-audio-3.0-tts-plus, qwen-audio-3.0-tts-flash, qwen-audio-3.1-realtime-plus, qwen-audio-3.0-realtime-plus, qwen-audio-3.0-realtime-flash, cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-flash. |
| enable_volume_normalization | String | No | Indica si se debe normalizar el volumen del audio de muestra utilizado para la clonación de voz. Los valores válidos son "true" y "false". Cuando está habilitado, el audio sintetizado con la voz creada puede tener un volumen diferente al del audio sintetizado con una voz creada con este parámetro deshabilitado. Valor predeterminado: "false". |
Código de ejemplo
Crear una voz
try anterior, antes de llamar a createVoice. Para actualizar una voz, pase también el Data URI mediante el parámetro url de updateVoice. Sustituya sample.wav por la ruta de su archivo de audio local.
Listar voces
Este ejemplo requiere la biblioteca de terceros com.google.gson.Gson.
Recuperar una voz específica
Este ejemplo requiere la biblioteca de terceros com.google.gson.Gson.