El SDK de iOS para reconocimiento de voz no en tiempo real de 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
- Descargue el SDK y ejecute el código de ejemplo:
- Descargue el paquete más reciente del SDK.
- Extraiga el archivo ZIP y agregue nuisdk.framework al proyecto.
- Agregue nuisdk.xcframework en Build Phases → Link Binary With Libraries.
- En General → Frameworks, Libraries, and Embedded Content, configure nuisdk.xcframework en Embed & Sign.
- Abra el proyecto de ejemplo en Xcode. El código de ejemplo se encuentra en
DashFunAsrFlashFileTranscriberViewController.m. Reemplace la clave 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
nui_file_trans_startpara enviar una solicitud de reconocimiento de voz no en tiempo real. -
Utilice
onFileTransEventCallbackpara escuchar el eventoEVENT_FILE_TRANS_RESULTy obtener el resultado final del reconocimiento -
Llame a
nui_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 nui_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 surte efecto cuando llama a nui_initialize con |
max_log_file_size | int | No | El tamaño máximo del archivo de registro en bytes. Este parámetro solo surte efecto cuando llama a nui_initialize con |
log_track_level | int | No | El nivel de filtrado para los registros enviados a través del callback de registro (onFileTransLogTrackCallback). Valor predeterminado: 2. Valores válidos: - 0: LOG_LEVEL_VERBOSE - 1: LOG_LEVEL_DEBUG - 2: LOG_LEVEL_INFO - 3: LOG_LEVEL_WARNING - 4: LOG_LEVEL_ERROR - 5: LOG_LEVEL_NONE (deshabilita esta función). Nota: |
Parámetros de reconocimiento
Utilice nui_file_trans_start 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
NeoNui
nui_initialize
Inicialice la instancia del SDK de reconocimiento de voz. El SDK utiliza un singleton. No lo inicialice nuevamente antes de llamar a nui_release.
- (NuiResultCode) nui_initialize:(const char *)parameters
logLevel:(NuiSdkLogLevel)level
saveLog:(BOOL)save_log;
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
parameters | char* | Una cadena JSON que contiene parámetros de autenticación, conexión y depuración. Consulte Parámetros de conexión y control. |
level | NuiSdkLogLevel | El nivel de registros impresos por el SDK. |
save_log | BOOL | Indica si se deben guardar los registros localmente. Si se establece en |
nui_set_params
Utilice 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 nui_file_trans_start en una sola llamada.
- (NuiResultCode) nui_set_params:(const char *)params;
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
params | char* | Parámetros de reconocimiento en |
nui_file_trans_start
Iniciar el reconocimiento.
Firma del método- (NuiResultCode) nui_file_trans_start:(const char *)params
taskId:(char *)task_id;
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
params | char* | Parámetros de reconocimiento. Ejemplo: |
task_id | char* | Puede ignorar este parámetro y pasar null. |
nui_file_trans_query
Esta función de reconocimiento de voz no en tiempo real solo admite solicitudes síncronas. Puede ignorar este método.
Firma del método- (NuiResultCode) nui_file_trans_query:(const char *)task_id;
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
task_id | char* | El ID de la tarea a consultar, obtenido de EVENT_FILE_TRANS_UPLOADED. |
nui_file_trans_cancel
Cancelar inmediatamente la tarea actual.
Firma del método- (NuiResultCode) nui_file_trans_cancel:(const char *)task_id;
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
task_id | char* | El ID de la tarea a cancelar, obtenido de EVENT_FILE_TRANS_UPLOADED. |
nui_release
Libere todos los recursos internos del SDK y detenga forzosamente todas las tareas en curso. Después de esta llamada, la instancia del SDK deja de estar disponible. Para usarla nuevamente, llame a nui_initialize para inicializarla otra vez.
- (NuiResultCode) nui_release;
nui_get_version
Obtener la versión actual del SDK.
Firma del método- (const char*) nui_get_version;
Valor de retorno
La versión actual del SDK.
NeoNuiSdkDelegate: Callbacks
onFileTransEventCallback: Escuchar eventos y resultados de reconocimiento
Firma del método- (void) onFileTransEventCallback:(NuiCallbackEvent)nuiEvent
asrResult:(const char *)asr_result
taskId:(const char *)task_id
ifFinish:(BOOL)finish
retCode:(int)code;
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
nuiEvent | NuiCallbackEvent | El evento de devolución de llamada. |
asr_result | char* | El resultado del reconocimiento de voz. |
task_id | char* | El ID de la tarea. |
finish | BOOL | Si el reconocimiento para este turno ha finalizado. |
code | int | Válido solo cuando ocurre el evento |
onFileTransLogTrackCallback: Escuchar registros de rastreo
Este callback recibe registros internos detallados del SDK para resolución de problemas y depuración.
- (void)onFileTransLogTrackCallback:(NuiSdkLogLevel)level
logMessage:(const char *)log;
NuiCallbackEvent: 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. |