El SDK de Android para reconocimiento de voz no en tiempo real Qwen-Audio-3.x-ASR-Flash/Fun-ASR-Flash convierte el habla en texto.
Guía del usuario: Reconocimiento de voz no en tiempo real. Para formatos de audio admitidos, límites de tamaño de archivo, límites de duración y otros requisitos de entrada, consulte Especificaciones de audio.
Inicio rápido
- Obtener una clave API: Obtener una clave API. Por seguridad, recomendamos configurar la clave API en una variable de entorno.
- Descargue el SDK y ejecute el código de ejemplo:
- Descargue el paquete más reciente del SDK.
- Extraiga el archivo ZIP. Obtenga el SDK en formato AAR de
app/libsy agréguelo a las dependencias de su proyecto. Para la integración Android CPP, useandroid_libsyandroid_includeen el archivo ZIP para obtener las bibliotecas dinámicas y los archivos de encabezado. - Abra el proyecto en Android Studio. El código de ejemplo se encuentra en
DashFunAsrFlashFileTranscriberActivity.java. Reemplace la clave de API para probar la función.
Procedimiento de llamada
Modo síncrono
-
Inicializar el SDK
-
Configure los parámetros según sus requisitos comerciales
-
Llame a
startFileTranscriberpara enviar una solicitud de reconocimiento de voz no en tiempo real y esperar el resultado. -
Use
onFileTransEventCallbackpara escuchar el eventoEVENT_FILE_TRANS_RESULTy obtener el resultado final del reconocimiento. -
Llame a
releasepara liberar los recursos del SDK
Parámetros de solicitud
Parámetros de conexión y control
Pase una cadena JSON al parámetro parameters del método initialize para configurar estos ajustes.
Ejemplo de parámetro: La siguiente cadena JSON es un ejemplo y no enumera todos los parámetros. Agregue parámetros según sea necesario en su código:
{
"url": "wss://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation",
"apikey": "st-****",
"device_id": "my_device_id",
"service_mode": "1"
}
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
url | String | Sí | Endpoints de servicio:
Reemplace {WorkspaceId} con su ID de espacio de trabajo. |
apikey | String | Sí | Clave de API. |
service_mode | String | Sí | El modo de operación. Para el reconocimiento de voz no en tiempo real, establezca este parámetro en |
device_id | String | Sí | Una cadena única que identifica al usuario final. Puede usar un ID de usuario dentro de la aplicación o un identificador de dispositivo único generado por el cliente. Este ID se utiliza principalmente para el rastreo de registros y la resolución de problemas. |
debug_path | String | No | La ruta para los archivos de registro. Este parámetro solo tiene efecto cuando llama a initialize con |
max_log_file_size | int | No | El tamaño máximo del archivo de registro en bytes. Este parámetro solo tiene efecto cuando llama a initialize con |
log_track_level | int | No | El nivel de filtrado para los registros enviados a través del callback de registro ( |
Parámetros de reconocimiento
Use startFileTranscriber para configurar todos los parámetros de reconocimiento.
Ejemplo de parámetro: La siguiente cadena JSON es un ejemplo y no enumera todos los parámetros. Agregue parámetros según sea necesario en su código:
{
"apikey": "st-****",
"messages": [
{
"content": [
{
"input_audio": {
"data": "{YOUR_AUDIO_URL}"
},
"type": "input_audio"
}
],
"role": "user"
}
],
"nls_config": {
"format": "mp3",
"model": "qwen-audio-3.0-asr-flash"
}
}
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
apikey | string | No | Si Parámetros de conexión y control |
nls_config | object | Sí | El objeto de configuración principal de reconocimiento de voz, que incluye el modelo y los parámetros que controlan el reconocimiento. |
nls_config.model | string | Sí | El modelo utilizado en el ejemplo. Para información sobre modelos, consulte Modelos y regiones admitidos. |
nls_config.format | string | Sí | El formato de audio. Establezca este parámetro en el formato real. Los formatos admitidos incluyen |
nls_config.sample_rate | string | No | La frecuencia de muestreo de audio en Hz. Por ejemplo, |
nls_config.vocabulary_id | string | No | El ID de vocabulario precompilado. Cree un vocabulario con antelación y pase su ID durante el reconocimiento para usar sus palabras clave. Use esta opción cuando el vocabulario es conocido, relativamente estable y se reutiliza en varias solicitudes. Para instrucciones de uso, consulte Palabras clave precompiladas. |
nls_config.instant_vocabulary | object | No | Palabras clave instantáneas. ImportantePara los modelos y límites aplicables a palabras clave instantáneas, consulte Palabras clave instantáneas. |
nls_config.language_hints | array[string] | No | Los códigos de idioma para el reconocimiento. Si el idioma se desconoce de antemano, omita este parámetro para permitir que el modelo lo detecte automáticamente.
|
messages | array[object] | Sí | La lista de mensajes. Contiene el audio a reconocer y el contexto de conversación opcional para mejorar el reconocimiento. |
ImportanteEl contexto mejora la precisión del reconocimiento de términos especializados. Para instrucciones de uso, consulte Mejora de contexto.
Restricciones: Los mensajes de contexto (tipos input_text y text) están limitados a cinco cada uno. Si se excede el límite, solo se conservan los cinco mensajes más recientes. La longitud total del texto de contexto por turno (la suma de las longitudes de los campos user y assistant text) no debe exceder 400 caracteres. Cada carácter cuenta como uno. Los caracteres excedentes se truncan desde el final.
ImportanteCuando se incluye contexto, los mensajes de messages deben seguir un orden específico. Organice los mensajes de contexto por turno de conversación. Dentro de cada turno, user (tipo input_text) debe preceder al correspondiente assistant (tipo text). El mensaje input_audio user que contiene el audio de entrada debe colocarse al final de messages.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
role | string | Sí | El rol del mensaje. Valores válidos:
|
content | array[object] | Sí | La lista de contenido de mensajes. Consulte las siguientes descripciones. |
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
type | string | Sí | El tipo de contenido. Cada solicitud requiere al menos un mensaje
|
input_audio | object | No | Requerido cuando |
input_audio.data | string | Sí | Los datos de audio a reconocer. Para formatos de audio admitidos, límites de tamaño de archivo, límites de duración y otros requisitos de entrada, consulte Especificaciones de audio. Se admiten los siguientes dos métodos de entrada:
Ejemplo (URL): https://example.com/audio/sample.wavEjemplo (Base64): data:audio/wav;base64,{BASE64_ENCODED_DATA} |
text | string | No | Requerido cuando |
Interfaces clave
NativeNui
initialize
Inicialice la instancia del SDK de reconocimiento de voz. El SDK utiliza un singleton. No lo inicialice nuevamente antes de llamar a release.
Este método es bloqueante. Llámelo desde un hilo que no sea de UI.
Firma del métodopublic synchronized int initialize(final INativeFileTransCallback callback,
String parameters,
final Constants.LogLevel level,
final boolean save_log)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
callback | INativeFileTransCallback | La implementación de la interfaz de devolución de llamada de eventos y datos. |
parameters | String | Una cadena JSON que contiene parámetros de autenticación, conexión y depuración. Consulte Parámetros de conexión y control. |
level | Constants.LogLevel | El nivel de registros impresos por el SDK. |
save_log | boolean | Indica si se deben guardar los registros localmente. Si se establece en |
setParams
Use este método para establecer o actualizar nls_config por separado. No necesita llamar a este método si todos los parámetros se proporcionan en startFileTranscriber en una sola llamada.
public synchronized int setParams(String params);
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
params | String | Parámetros de reconocimiento en |
startFileTranscriber
Iniciar el reconocimiento.
Firma del métodopublic synchronized int startFileTranscriber(String params, byte[ ] task_id)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
params | String | Parámetros de reconocimiento. Ejemplo: |
task_id | byte[ ] | Puede ignorar este parámetro y pasar null. |
queryFileTranscriber
Esta función de reconocimiento de voz no en tiempo real solo admite solicitudes síncronas. Puede ignorar este método.
cancelFileTranscriber
Cancelar inmediatamente la tarea actual.
Firma del métodopublic synchronized int cancelFileTranscriber(String task_id)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
task_id | String | El ID de la tarea a cancelar, obtenido de EVENT_FILE_TRANS_UPLOADED. |
release
Libere todos los recursos internos del SDK. Después de esta llamada, la instancia del SDK deja de estar disponible. Para usarla nuevamente, llame a initialize para inicializarla de nuevo.
Firma del métodopublic synchronized int release();
GetVersion
Obtener la versión actual del SDK.
Firma del métodopublic synchronized String GetVersion();
Valor de retorno
La versión actual del SDK.
INativeFileTransCallback: Callbacks
onFileTransEventCallback: Escuchar eventos y resultados de reconocimiento
Firma del métodovoid onFileTransEventCallback(NuiEvent event, final int resultCode, final int arg2, AsrResult asrResult, String taskId);
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
event | NuiEvent | El evento de devolución de llamada. |
resultCode | int | Válido solo cuando ocurre el evento |
asrResult | AsrResult | El resultado del reconocimiento de voz. |
taskId | String | El ID de la tarea. |
arg2 | int | Reservado. |
onFileTransLogTrackCallback: Escuchar registros de rastreo
Este callback recibe registros internos detallados del SDK para resolución de problemas y depuración.
default void onFileTransLogTrackCallback(Constants.LogLevel level, String log)
Tipos de eventos
| Evento | Descripción |
|---|---|
EVENT_FILE_TRANS_CONNECTED | Conectado correctamente al servicio. |
EVENT_FILE_TRANS_UPLOADED | El archivo de audio se cargó correctamente. Puede obtener el task_id actual en este punto. |
EVENT_FILE_TRANS_RESULT | El resultado final del reconocimiento. |
EVENT_ASR_ERROR | Ocurrió un error durante el reconocimiento de voz. |