CC_EAL_1-Declaración de Seguridad -1.2 - Enigmedia App SDK v1 ...
Referencia de las funciones del Library SDK - Verbio · 2019-10-17 · desarrollos es aconsejable...
Transcript of Referencia de las funciones del Library SDK - Verbio · 2019-10-17 · desarrollos es aconsejable...
Verbio Software Reference
Referencia de las funciones del Library SDK
Verbio Technologies, S.L.
Verbio Software Reference: Referencia de las funciones delLibrary SDKVerbio Technologies, S.L.
publicado Septiembre de 2011Copyright © 2011 Verbio Technologies, S.L.
Tabla de contenidos1. Introducción ..................................................................................................................... 12. Descripción de las funciones ................................................................................................ 3
1. vox_activatevcb ........................................................................................................ 42. vox_ApplyDictionary ................................................................................................. 63. vox_asr_init .............................................................................................................. 84. vox_asv_addfile .......................................................................................................115. vox_asv_init ............................................................................................................136. vox_asv_spkinfo .......................................................................................................147. vox_asv_train ..........................................................................................................168. vox_asv_verify .........................................................................................................199. ATVOX_BUILTIN ...................................................................................................2110. vox_chkwrd ...........................................................................................................2211. vox_clrrsp .............................................................................................................2312. vox_clrvad .............................................................................................................2413. vox_deactivatevcb ...................................................................................................2514. vox_devclose .........................................................................................................2715. vox_dtmf_close ......................................................................................................2816. vox_dtmf_open .......................................................................................................2917. vox_dtmf_word ......................................................................................................3018. vox_dtmf_write ......................................................................................................3119. ATVOX_ERRMSGP ...............................................................................................3220. vox_getasrlic ..........................................................................................................3321. vox_GetDllVersion .................................................................................................3522. vox_getparm ..........................................................................................................3623. vox_getttslic ..........................................................................................................3724. vox_getusedasrlic ....................................................................................................3925. vox_getusedttslic ....................................................................................................4026. ATVOX_IVCB ......................................................................................................4127. ATVOX_LASTERR ................................................................................................4228. vox_libclose ...........................................................................................................4329. vox_libinit .............................................................................................................4430. vox_loadcd ............................................................................................................4631. vox_loadvcb ..........................................................................................................4732. vox_nbest ..............................................................................................................4933. ATVOX_NIND ......................................................................................................5134. vox_playstr ............................................................................................................5235. vox_playstr_close ...................................................................................................5436. vox_playstr_open ....................................................................................................5537. vox_playstr_read .....................................................................................................5638. vox_playstr_release .................................................................................................5739. vox_playstr_wait .....................................................................................................5840. vox_prevcb ............................................................................................................5941. vox_prevcbdev .......................................................................................................6142. vox_prevcbex .........................................................................................................6443. vox_prevcbex2 .......................................................................................................6644. vox_reccfg_release ..................................................................................................6945. vox_reccfg_wait .....................................................................................................7146. vox_recind .............................................................................................................7347. vox_recstr ..............................................................................................................7548. vox_recstrm ...........................................................................................................7749. vox_recstr_close .....................................................................................................7950. vox_recstr_open .....................................................................................................8051. vox_recstr_release ...................................................................................................8152. vox_recstr_wait ......................................................................................................8253. vox_recstr_write .....................................................................................................8354. vox_RegisterVVICallback ........................................................................................8455. vox_regsrvclose ......................................................................................................8556. vox_SapiClose .......................................................................................................85
57. vox_SapiOpen ........................................................................................................8758. vox_SapiOpenEx ....................................................................................................8959. vox_SapiSelect .......................................................................................................9060. vox_SerialNumber ..................................................................................................9161. vox_SetAbbreviations ..............................................................................................9262. vox_setcd ..............................................................................................................9463. vox_SetDictionary ..................................................................................................9564. vox_setparm ..........................................................................................................9765. vox_setvcb ............................................................................................................9866. vox_srvclose ........................................................................................................ 10067. vox_termplaystr .................................................................................................... 10168. vox_termrecstr ..................................................................................................... 10269. vox_thclose .......................................................................................................... 10370. vox_tts_init .......................................................................................................... 10471. vox_ttsSetAbbreviations ......................................................................................... 10672. vox_ttsSetDictionary ............................................................................................. 10873. vox_unloadvcb ..................................................................................................... 11074. vox_vsd_close ...................................................................................................... 11275. vox_vsd_open ...................................................................................................... 11376. vox_vsd_write ...................................................................................................... 11577. vox_word ............................................................................................................ 11678. vox_wordex ......................................................................................................... 11779. vox_wordrule ....................................................................................................... 118
3. Estructuras de datos y parámetros ...................................................................................... 1211. VX_RSP - Recognize String Parameter ....................................................................... 1222. VAD_PRM - Voice Activity Detection Parameters ....................................................... 1233. ASV_SPKINFO - ASV Speaker Information ............................................................... 1274. MODEATTRIBUTES - SAPI Speaker Id .................................................................... 1285. Definición de parámetros para vox_getparm() y vox_setparm() ....................................... 1296. Obtención de información adicional mediante vox_word o vox_wordex ............................ 137
4. Código de ejemplos en C/C++ ........................................................................................... 1391. Ejemplo Síncrono ................................................................................................... 1402. Ejemplo de Detección de voz y de tonos DTMF ........................................................... 1453. Ejemplo de uso del reconocimiento natural basado en modelos estadísticos (SLM) .............. 1464. Ejemplo de ASV ..................................................................................................... 148
A. Ficheros utilizados por los ejemplos .................................................................................. 149Índice .............................................................................................................................. 151
Verbio Software Reference
vi Referencia de las funciones del Library SDK Verbio Technologies
Lista de tablas3.1. Parámetros globales en el Library SDK ............................................................................ 1293.2. Parámetros de canal en el Library SDK ............................................................................ 1323.3. Elementos de un vocabulario o gramática ABNF ................................................................ 137
Lista de ejemplos3.1. Información devuelta por el servidor de reconocimiento ...................................................... 1384.1. Ejemplo síncrono de Verbio Library ................................................................................ 1404.2. Ejemplo de Detección de voz y de tonos DTMF ................................................................. 1454.3. Ejemplo de reconocimiento SLM .................................................................................... 1464.4. Ejemplo de Verbio Library para verificación del locutor ...................................................... 148
Capítulo 1. IntroducciónEl objectivo de este documento es describir el conjunto de funciones que constituyen el Library SDKproporcionado en Verbio. Este SDK está diseñado pensando en aquellos integradores que trabajan en entornos deprogramación C/C++ sobre dispositivos de audio genéricos (tanto tarjetas CTI como tarjetas de sonido).
Es compatible con las versiones antiguas de Verbio (IberVox 6.41 y anteriores), aunque en nuevosdesarrollos es aconsejable utilizar la Advanced SDK, puesto que ésta facilita el uso de las nuevasfuncionalidades incorporadas en Verbio (aunque este SDK sólo está disponible en entornos de programaciónMicrosoft Visual Studio).
En el Capítulo 2. Descripción de las funciones se describen todas las funciones disponibles en el SDK.
En el Capítulo 3. Estructuras de datos y parámetros se describen las estructuras y parámetros comunes a lasfunciones del SDK.
En el Capítulo 4. Código de ejemplos en C/C++ se incluyen 2 ejemplos de utilización de este SDK: un ejemplode programación síncrona y otro de detección de voz (VAD) y de tonos DTMF.
Capítulo 2. Descripción de lasfunciones
1. vox_activatevcb
FUNCION int vox_activatevcb(int chdev, int vcbhandle, unsigned int mode)
int chdev descriptor de un canal válido
int vcbhandle descriptor de un vocabulario o gramática ABNF previamentecargado
unsigned int mode por compatibilidad con versiones anteriores, úsese 0
RETORNA >=0 indicando el descriptor del vocabulario si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
1.1. Descripción
La función vox_activatevcb() activa el vocabulario previamente cargado en el canal especificado. El descriptordel vocabulario cargado se obtiene invocando a la función vox_loadvcb(). Cuando no deba utilizarse en elsiguente proceso de reconocimiento, debe ser desactivado mediante la función vox_deactivatevcb().
1.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
vcbhandle descriptor de un vocabulario o gramática ABNF previamente cargado mediante la funciónvox_loadvcb().
mode por compatibilidad con versiones anteriores, úsese 0
1.3. Precauciones
En cualquier momento, pueden estar activos varios vocabularios y gramáticas. El descriptor utilizado en lafunción vox_activatevcb() debe ser el valor retornado por la función vox_loadvcb(). La funciónATVOX_IVCB() retorna el descriptor asociado al vocabulario que contiene la locución reconocida.
Si se establece el vocabulario o la gramática activa mediante la función vox_setvcb() o vox_setcd(), sedescargarán automáticamente todos los vocabularios y gramáticas cargados hasta ese momento.
1.4. Errores
Si la función retorna -1 indicando que se ha producido un error, la función ATVOX_LASTERR() devolveráalguno de los siguientes motivos:
EVX_NOMEM OUT OF MEMORY
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID. Check the vocabulary filename and path writing permission.
EVX_INVWORD THE VOCABULARY TRANSCRIPTION WAS NOT FOUND
EVX_SYSTEM SYSTEM ERROR. Check errno.
Capítulo 2. Descripción de las funciones
4 Referencia de las funciones del Library SDK Verbio Technologies
1.5. Elementos relacionados
vox_setvcb, vox_loadvcb, vox_deactivatevcb, vox_unloadvcb, ATVOX_IVCB
1.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 5
2. vox_ApplyDictionary
FUNCION int vox_ApplyDictionary(const char *inVcbName, const char *outVcbName,const char *Dictionary)
const char*inVcbName
nombre del fichero que contiene el vocabulario que debeprocesarse
const char*outVcbName
nombre del fichero bajo el que se almacenará el fichero devocabulario procesado
const char*Dictionary
nombre del fichero que contiene el vocabulario deexcepciones
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
2.1. Descripción
La función vox_ApplyDictionary() genera un fichero de vocabulario a partir de otro original incluyendo lasexcepciones y acrónimos contenidos en el diccionario especificado.
2.2. Descripción de los parámetros
inVcbName nombre del fichero de vocabulario original que debe ser procesado. Cada línea debecontener una palabra del vocabulario formado por una o más palabras.
outVcbName nombre del fichero que contendrá el nuevo vocabulario. Cada línea contendrá unapalabra del vocabulario formada por las palabras originales o bien poraquellas que hayan sido modificadas siguiendo las pautas del diccionario deexcepciones.
Dictionary nombre del fichero de texto que contiene las excepciones que deben considerarse.Consulte Verbio Software Reference: Guía del usuario para más información delformato que debe tener este un fichero de excepciones.
2.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funcionesATVOX_LASTERR(-1) y ATVOX_ERRMSGP(-1) obtendrá alguno de los siguientes motivos de error:
EVX_NOMEM OUT OF MEMORY
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID. Check the vocabulary filename and path writing permission.
EVX_DICFILE THE DICTIONARY FILE NAME IS NOT VALID. Check the dictionary file name.
2.4. Elementos relacionados
vox_prevcb, vox_prevcbex, vox_prevcbex2, vox_prevcbdev, vox_chkwrd
Capítulo 2. Descripción de las funciones
6 Referencia de las funciones del Library SDK Verbio Technologies
2.5. Códigos de ejemploConsulte el ejemplo asíncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 7
3. vox_asr_init
FUNCION int vox_asr_init(const char *configuration, const char *defasrlng)
const char*configuration
identificador de la configuración de reconocimiento pordefecto
const char*defasrlng
identificador del idioma de reconocimiento por defecto
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
3.1. Descripción
La función vox_asr_init() inicializa la librería de reconocimiento del habla de Verbio. En nuevos desarrolloses recomendable utilizar esta función (conjuntamente con la función vox_tts_init en caso de que también serequiera síntesis del habla) en lugar de la función vox_libinit, puesto que permite indicar al servidor losparámetros de inicialización de una manera mucho más concreta.
3.2. Descripción de los parámetros
configuration especifica la configuración por defecto con la que arrancará el servidor dereconocimiento. Por configuración de reconocimiento se entiende el idioma oidiomas soportados (en caso de configuraciones multilingües) por el servidor dereconocimiento. Cualquier proceso de reconocimiento invocado usará los modelosde reconocimiento asociados con la configuración activa en ese momento, por loque únicamente podrá reconocerse en alguno de los idiomas contenidos en dichaconfiguración. Para más información, puede consultarse el documento VerbioSoftware Reference: Guía del Usuario.
CFG_SPANISH Español castellano
CFG_SPANISH_CATALAN Español castellano +catalán
CFG_SPANISH_BASQUE Español castellano +euskera
CFG_SPANISH_GALICIAN Español castellano +gallego
CFG_SPANISH_CATALAN_BASQUE_GALICIAN Español castellano +catalán + euskera + gallego
CFG_PORTUGUESE Portugués
CFG_PORTUGUESE_BRAZILIAN Portugués brasileño
CFG_SPANISH_ARGENTINIAN Español argentino
CFG_SPANISH_CHILEAN Español chileno
CFG_SPANISH_COLOMBIAN Español colombiano
Capítulo 2. Descripción de las funciones
8 Referencia de las funciones del Library SDK Verbio Technologies
CFG_SPANISH_MEXICAN Español mexicano
CFG_SPANISH_VENEZUELAN Español venezolano
CFG_FRENCH Francés
CFG_ENGLISH Inglés
defasrlng especifica el idioma por defecto con el que trabaja la configuración por defecto.En el caso de configuraciones monolingües es redundante, aunque sí esimprescindible cuando se activa una configuración multilingüe.
LNG_SPANISH Español castellano
LNG_CATALAN Catalán
LNG_BASQUE Euskera
LNG_GALICIAN Gallego
LNG_PORTUGUESE Portugués
LNG_PORTUGUESE_BRAZILIAN Portugués brasileño
LNG_SPANISH_ARGENTINIAN Español argentino
LNG_SPANISH_CHILEAN Español chileno
LNG_SPANISH_COLOMBIAN Español colombiano
LNG_SPANISH_MEXICAN Español mexicano
LNG_SPANISH_VENEZUELAN Español venezolano
LNG_FRENCH Francés
LNG_ENGLISH Inglés
3.3. Precauciones
La función vox_asr_init() debe invocarse antes que ninguna otra de las funciones del Library SDKrelacionadas con el reconocimiento del habla, a excepción de aquella destinada a establecer el servidor detrabajo por defecto en configuraciones cliente-servidor (vox_setparm).
3.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funcionesATVOX_LASTERR(-1) y ATVOX_ERRMSGP(-1) obtendrá alguno de los siguientes motivos de error:
EVX_INVSETUP VERBIO INTERNAL ERROR. Files may be corrupted. Check disk and repeatSetup.
EVX_NOMEM OUT OF MEMORY.
EVX_NOLICFILE NO LICENSE FILE WAS FOUND. Run CheckOut to obtain a license file.
EVX_INVLIC THE LICENSE FILE IS NOT VALID. Run CheckOut to obtain a valid licensefile.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 9
EVX_SYSTEM SYSTEM ERROR.Check errno.
3.5. Elementos relacionados
vox_libinit, vox_tts_init, vox_libclose
3.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
10 Referencia de las funciones del Library SDK Verbio Technologies
4. vox_asv_addfile
FUNCION int vox_asv_addfile(int chdev, const char* id, const char* filename, const char*transcription, unsigned int mode)
int chdev descriptor de canal válido
const char *id identificador del usuario
const char *filename nombre del fichero de audio a incorporar al usuario
const char*transcription
transcripción del contenido del fichero
unsigned int mode formato de las muestras de audio
RETORNA 0 si el resultado es satisfactorio
<0 en caso de error
INCLUDES voxlib.h
MODO síncrono
4.1. Descripción
La función vox_asv_addfile() almacena un fichero de audio en la base de datos de usuarios para ser utilizado enel momento de crear la huella vocal del usuario indicado, mediante la invocación de la función vox_asv_train.Adicionalmente, utilizando la capacidad de reconocimiento de Verbio ASR, comprueba también que elcontenido del fichero coincide con la transcripción, de modo que pueda certificarse que el usuario hapronunciado exactamente aquello que se le ha solicitado.
4.2. Descripción de los parámetros
chdev especifica un descriptor de canal válido.
id identificador del usuario del que se ha obtenido un nuevo fichero de audio para elentrenamiento de su huella vocal.
El identificador de un usuario es una cadena alfanumérica (dígitos o caracteresa-z,A-Z) elegida por el desarrollador de la aplicación. Debe ser única para cadausuario, siendo habitual que el identificador coincida con el identificadornumérico (cadena de dígitos) que se le solicitará al usuario para identificarse en elsistema.
filename nombre completo del fichero que contiene la locución del usuario indicado,destinado a ser utilizado en el proceso de creación de su huella vocal.
transcription transcripción del contenido del fichero de audio, para certificar que el contenidocoincide con la secuencia de dígitos solicitada.
mode especifica el formato de las muestras de audio del fichero.
MC_ALAW fichero sin cabecera, muestras de audio en formato Ley A (8bits, 8 KHz).
MC_MULAW fichero sin cabecera, muestras de audio en formato Ley Mu (8bits, 8 KHz).
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 11
MC_LIN16 fichero sin cabecera, muestras de audio en formato lineal (16bits, 8 KHz).
MC_WAVE fichero WAVE, muestras de audio en cualquiera de losformatos anteriores.
4.3. Precauciones
El contenido de los ficheros de entrenamiento debe ser, exclusivamente, cadenas de dígitos (de longitudvariable). Por lo tanto, las transcripciones proporcionadas deben ser cadenas numéricas, del tipo 12345678,952611232, etcétera. Se aconseja que las cadenas de entrenamiento tengan una longitud mínima de 8 dígitos yque se proporcionen, al menos, 20 de ellas, obtenidas en diferentes días (mínimo dos) y franjas horarias(mañana/tarde).
Alternativamente a utilizar la función vox_asv_addfile para cada nuevo fichero, también es posible invocardirectamente la función vox_asv_train especificando un listado de ficheros de audio a utilizar en elentrenamiento de la huella vocal del usuario. No obstante, se aconseja el uso de la función vox_asv_addfile amedida que se adquieren los ficheros de audio, ya que de este modo podrán tomarse acciones correctivas en casode que el proceso de validación indique que la transcripción no coincide con el contenido real del fichero.
4.4. Errores
En caso de error, la función retorna un valor negativo. Los posibles códigos de error retornados por esta funciónson:
-1 El canal especificado no es válido.
-4 Error interno de Verbio. La estructura de la base de datos está corrupta.
-6 Error al lanzar el proceso de reconocimiento del contenido del fichero de audio.
-18 Algún parámetro no ha sido especificado o bien es incorrecto.
-27 El contenido del fichero no coincide con la transcripción proporcionada, o bien no se ha podidocomprobar.
4.5. Elementos relacionados
vox_asv_init, vox_asv_spkinfo, vox_asv_train, vox_asv_verify
4.6. Códigos de ejemploConsulte el ejemplo anexo
Capítulo 2. Descripción de las funciones
12 Referencia de las funciones del Library SDK Verbio Technologies
5. vox_asv_init
FUNCION int vox_asv_init()
RETORNA 0 si el resultado es satisfactorio
<0 en caso de error
INCLUDES voxlib.h
MODO síncrono
5.1. Descripción
La función vox_asv_init() inicializa la librería Verbio, preparándola para poder recibir peticiones deverificación de locutor.
5.2. Precauciones
La función vox_asv_init() debe invocarse previamente a cualquier invocación del resto de funciones asociadas ala verificación de locutor, tales como: vox_asv_addfile, vox_asv_train, vox_asv_verify y vox_asv_spkinfo.
5.3. Errores
En caso de error, la función retorna un valor negativo. Los posibles códigos de error retornados por esta funciónson:
-13 Error interno de Verbio. Probablemente la instalación de los componentes de ASV no se ha realizado ose ha hecho de forma incorrecta.
-14 No se dispone de licencias de ASV o bien éstas han caducado.
5.4. Elementos relacionados
vox_asv_addfile, vox_asv_train, vox_asv_verify, vox_asv_spkinfo
5.5. Códigos de ejemploConsulte el ejemplo anexo
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 13
6. vox_asv_spkinfo
FUNCION int vox_asv_spkinfo(int chdev, const char* id, ASV_SPKINFO* info)
int chdev descriptor de canal válido
const char *id identificador del usuario
ASV_SPKINFO* info puntero a una estructura del tipo ASV SpeakerInformation
RETORNA 2 si el usuario está registrado y dispone de huella vocal
1 si el usuario está registrado y no dispone de huella vocal
0 si el usuario no está registrado
<0 en caso de error
INCLUDES voxlib.h
MODO síncrono
6.1. Descripción
La función vox_asv_spkinfo() permite conocer el estado del usuario indicado, es decir, si está registrado (se harealizado alguna operación sobre él) y si está listo para que se realicen sobre él operaciones de verificación (seha generado su huella vocal). Además, a través de la estructura ASV Speaker Information(ASV_SPKINFO), permite obtener información adicional acerca de las locuciones de que dispone actualmenteel usuario para el entrenamiento de su huella vocal.
6.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
id identificador del usuario del que se desea obtener información.
el identificador de un usuario es una cadena alfanumérica (dígitos o caracteres a-z,A-Z) elegida porel desarrollador de la aplicación. Debe ser única para cada usuario, siendo habitual que elidentificador coincida con el identificador numérico (cadena de dígitos) que se le solicitará alusuario para identificarse en el sistema.
info NULL si no se requiere información adicional.
puntero a una estructura de tipo ASV Speaker Information (ASV_SPKINFO) en la querecibir información acerca de las locuciones de que dispone actualmente el usuario para elentrenamiento de su huella vocal. Para más información acerca de esta estructura, consulte Capítulo3. Estructuras de datos y parámetros.
6.3. Errores
Si la función retorna -1 indicando que se ha producido un error, debe comprobarse que el canal especificadocomo primer parámetro es válido.
6.4. Elementos relacionados
vox_asv_init, vox_asv_addfile, vox_asv_train, vox_asv_verify
Capítulo 2. Descripción de las funciones
14 Referencia de las funciones del Library SDK Verbio Technologies
6.5. Códigos de ejemploConsulte el ejemplo anexo
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 15
7. vox_asv_train
FUNCION int vox_asv_train(int chdev, const char* id, const char* filename, int*lpiword, unsigned int mode)
int chdev descriptor de canal válido
const char *id identificador del usuario
const char *filename listado de ficheros de audio a utilizar durante el proceso deentrenamiento
int *lpiword puntero a un entero que, en caso de error en alguno de losficheros, almacenará la línea que contiene el fichero erróneo
unsigned int mode formato de las muestras de audio de los ficheros
RETORNA 0 si el resultado es satisfactorio
<0 en caso de error
INCLUDES voxlib.h
MODO síncrono
7.1. Descripción
La función vox_asv_train() lanza el proceso de generación de la huella vocal del usuario indicado. Laslocuciones del usuario que se utilizarán para este proceso serán las especificadas mediante el parámetrofilename junto con todas aquellas asignadas al usuario anteriormente mediante llamadas a las funcionesvox_asv_addfile y/o vox_asv_train().
Una vez completada correctamente la función vox_asv_train(), el usuario ya estará listo para que se realicensobre él operaciones de verificación mediante la función vox_asv_verify().
En caso de que el usuario ya dispusiera de huella vocal, se generará una nueva huella vocal que reemplazará a laya existente.
7.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
id identificador del usuario al que entrenar su huella vocal.
El identificador de un usuario es una cadena alfanumérica (dígitos o caracteres a-z,A-Z)elegida por el desarrollador de la aplicación. Debe ser única para cada usuario, siendohabitual que el identificador coincida con el identificador numérico (cadena de dígitos) quese le solicitará al usuario para identificarse en el sistema.
filename NULL si todos los ficheros de audio y sus respectivas transcripciones se han proporcionadopreviamente invocando las funciones vox_asv_addfile y/o vox_asv_train().
En caso contrario, nombre completo del fichero de texto que contiene el listado de ficherosde audio a utilizar para la generación de la huella vocal, junto con sus respectivastranscripciones. El formato de este fichero debe ser el siguiente (una línea, acabada enretorno de carro, para cada fichero de audio a utilizar):
nombre_fichero_audio TAB transcripcion_cadena_digitos RC
RC = Retorno de Carro, TAB = Tabulador
Capítulo 2. Descripción de las funciones
16 Referencia de las funciones del Library SDK Verbio Technologies
lpiword en caso de haber especificado un listado de ficheros mediante el parámetro filename,puntero a un entero que, en caso de error en alguno de los ficheros, recibirá el número de lalínea que contiene el fichero erróneo. Debe consultarse este valor si la función retorna elerror -27.
NULL en caso contrario.
mode en caso de haber especificado un listado de ficheros mediante el parámetro filename,indica el formato de las muestras de audio de los ficheros.
MC_ALAW fichero sin cabecera, muestras de audio en formato Ley A (8 bits, 8KHz).
MC_MULAW fichero sin cabecera, muestras de audio en formato Ley Mu (8 bits, 8KHz).
MC_LIN16 fichero sin cabecera, muestras de audio en formato lineal (16 bits, 8KHz).
MC_WAVE fichero WAVE, muestras de audio en cualquiera de los formatosanteriores.
7.3. Precauciones
El contenido de los ficheros de entrenamiento debe ser, exclusivamente, cadenas de dígitos (de longitudvariable). Por lo tanto, las transcripciones proporcionadas deben ser cadenas numéricas, del tipo 12345678,952611232, etcétera. Se aconseja que las cadenas de entrenamiento tengan una longitud mínima de 8 dígitos yque se proporcionen, al menos, 20 de ellas, obtenidas en diferentes días (mínimo dos) y franjas horarias(mañana/tarde).
En lugar de especificar conjuntamente el listado de ficheros y sus transcripciones mediante la funciónvox_asv_train, es preferible utilizar la función vox_asv_addfile individualmente para cada fichero según sevayan obteniendo las locuciones del usuario. De este modo, podrán tomarse acciones correctivas en caso de queel proceso de validación interno indique que el contenido de algún fichero no coincide con la transcripciónproporcionada.
7.4. Errores
En caso de error, la función retorna un valor negativo. Los posibles códigos de error retornados por esta funciónson:
-1 El canal especificado no es válido.
-4 Error interno de Verbio. La estructura de la base de datos está corrupta.
-5 No se dispone de suficiente memoria disponible para ejecutar la función.
-6 Error al lanzar el proceso de reconocimiento del contenido del fichero de audio.
-10 Error al lanzar el proceso de verificación del locutor.
-18 Algún parámetro no ha sido especificado o bien es incorrecto.
-21 El fichero especificado como parámetro no está disponible.
-27 El contenido de algún fichero no coincide con la transcripción proporcionada, o bien no se ha podidocomprobar.
-28 No se dispone de suficiente material para entrenar. Es necesario proporcionar más locuciones numéricas
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 17
del usuario a entrenar.
7.5. Elementos relacionados
vox_asv_init, vox_asv_spkinfo, vox_asv_addfile, vox_asv_verify
7.6. Códigos de ejemploConsulte el ejemplo anexo
Capítulo 2. Descripción de las funciones
18 Referencia de las funciones del Library SDK Verbio Technologies
8. vox_asv_verify
FUNCION int vox_asv_verify(int chdev, const char* id, const char* filename, const char*transcription, float* score, unsigned int mode)
int chdev descriptor de canal válido
const char *id identificador del usuario
const char *filename nombre del fichero de audio utilizado para verificar laidentidad del usuario
const char*transcription
transcripción del contenido del fichero de audio
float* score índice de confianza de la veracidad de la identidad del usuario
unsigned int mode formato de las muestras de audio
RETORNA 1 si el usario SÍ es quien dice ser
0 si el usario NO es quien dice ser
<0 en caso de error
INCLUDES voxlib.h
MODO síncrono
8.1. Descripción
La función vox_asv_verify() lanza el proceso de verificación para determinar si la locución proporcionadapertenece realmente al usuario indicado. Para ello, se deberá haber generado previamente la huella vocal dedicho usuario mediante la función vox_asv_train.
8.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
id identificador del usuario cuya identidad pretende verificarse.
el identificador de un usuario es una cadena alfanumérica (dígitos o caracteresa-z,A-Z) elegida por el desarrollador de la aplicación. Debe ser única para cadausuario, siendo habitual que el identificador coincida con el identificadornumérico (cadena de dígitos) que se le solicitará al usuario para identificarse en elsistema.
filename nombre completo del fichero de audio que será utilizado en el proceso deverificación.
transcription transcripción del contenido del fichero de audio, para certificar que el contenidocoincide con la secuencia de dígitos solicitada.
score puntero a float que, tras el proceso de verificación, almacenará el índice deconfianza de la veracidad de la identidad del usuario.
mode especifica el formato de las muestras de audio del fichero.
MC_ALAW fichero sin cabecera, muestras de audio en formato Ley A (8
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 19
bits, 8 KHz).
MC_MULAW fichero sin cabecera, muestras de audio en formato Ley Mu (8bits, 8 KHz).
MC_LIN16 fichero sin cabecera, muestras de audio en formato lineal (16bits, 8 KHz).
MC_WAVE fichero WAVE, muestras de audio en cualquiera de losformatos anteriores.
8.3. Precauciones
El contenido de los ficheros de verificación debe ser, exclusivamente, cadenas de dígitos (de longitud variable).Por lo tanto, las transcripciones proporcionadas deben ser cadenas numéricas, del tipo 12345678,952611232, etcétera. Se aconseja que las cadenas de verificación tengan una longitud de entre 6 y 8 dígitos(cuanto más larga, mayor fiablidad en el proceso de verificación).
En general, la decisión de si el usuario ha sido verificado o no deberá tomarse del valor devuelto por la función,y no del valor de índice de confianza (parámetro score), el cual se proporciona principalmente a efectosestadísticos.
8.4. Errores
En caso de error, la función retorna un valor negativo. Los posibles códigos de error retornados por esta funciónson:
-1 El canal especificado no es válido.
-4 Error interno de Verbio. La estructura de la base de datos está corrupta.
-5 No se dispone de suficiente memoria disponible para ejecutar la función.
-6 Error al lanzar el proceso de reconocimiento del contenido del fichero de audio.
-10 Error al lanzar el proceso de verificación del locutor.
-18 Algún parámetro no ha sido especificado o bien es incorrecto.
-21 El fichero especificado como parámetro no está disponible.
-27 El contenido del fichero no coincide con la transcripción proporcionada, o bien no se ha podidocomprobar.
8.5. Elementos relacionados
vox_asv_init, vox_asv_spkinfo, vox_asv_train, vox_asv_addfile
8.6. Códigos de ejemploConsulte el ejemplo anexo
Capítulo 2. Descripción de las funciones
20 Referencia de las funciones del Library SDK Verbio Technologies
9. ATVOX_BUILTIN
FUNCION int ATVOX_BUILTIN(int chdev)
int chdev descriptor de un canal válido
RETORNA 0 para indicar que el resultado del reconocimiento no procede de una gramática built-in
1 para indicar que el resultado del reconocimiento sí procede de una gramática built-in
INCLUDES voxlib.h
MODO síncrono
9.1. Descripción
La función ATVOX_BUILTIN() indica si la gramática que ha devuelto el resultado de reconocimiento alfinalizar la llamada a la función vox_recind() o vox_nbest() es una gramática interna (built-in) o no.
9.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
9.3. Precauciones
El valor devuelto por la función ATVOX_BUILTIN() únicamente es válido después de la correcta finalizaciónde la función vox_recind() o vox_nbest().
9.4. Elementos relacionados
vox_recind, vox_nbest
9.5. Códigos de ejemploConsulte el ejemplo asíncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 21
10. vox_chkwrd
FUNCION int vox_chkwrd(const char *word, int language)
const char *word puntero a la palabra del vocabulario que desea verificarse
unsigned int language idioma del vocabulario
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
10.1. Descripción
La función vox_chkwrd() chequea la palabra del vocabulario especificada para garantizar que la funciónvox_prevcb() (o vox_prevcbex() o vox_prevcbex2() o vox_prevcbdev()) realizará la transcripción de texto afonema de forma correcta. Esta función es independiente del canal, por lo que únicamente debe ser llamada unavez para cada nueva palabra de los vocabularios, independientemente de si, con posterioridad, el vocabulario seusará en varios canales.
10.2. Descripción de los parámetros
word puntero a la palabra del vocabulario (formada por una o más palabras) que deseaverificarse.
language especifica el idioma con el que se preparará el vocabulario que contiene la palabra aanalizar.
LVX_SPANISH Español
LVX_CATALAN Catalán
10.3. Precauciones
Esta función realiza una verificación más exhaustiva que la utilizada por la función vox_prevcb(). Por lo tanto,es posible que la función vox_prevcb() (o vox_prevcbex() o vox_prevcbex2() o vox_prevcbdev()) realice unacorrecta transcripción a pesar de que la función vox_chkwrd() devuelva error. No obstante, es aconsejablecorregir aquellas palabras incorrectas para conseguir una transcripción más precisa.
Esta función únicamente está disponible para los idiomas castellano y catalán.
10.4. Elementos relacionados
vox_prevcb, vox_prevcbex, vox_prevcbex2, vox_prevcbdev, vox_ApplyDictionary
10.5. Códigos de ejemploConsulte el ejemplo asíncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
22 Referencia de las funciones del Library SDK Verbio Technologies
11. vox_clrrsp
FUNCION void vox_clrrsp(VX_RSP *rspp)
VX_RSP *rspp puntero a una estructura de tipo Recognition StringParameter
RETORNA Nada
INCLUDES voxlib.h
MODO síncrono
11.1. Descripción
La función vox_clrrsp() resetea todos los campos de la estructura VX_RSP asignándoles sus valores pordefecto. Es aconsejable utilizar esta función para inicializar cualquier estructura VX_RSP antes de ser utilizadapor otras funciones.
11.2. Descripción de los parámetros
rspp puntero a la estructura de tipo Recognition String Parameter que desea inicializarse. Estaestructura especifica parámetros y condiciones de terminación adicionales para el proceso dereconocimiento. Consulte Capítulo 3. Estructuras de datos y parámetros para obtener mésinformación acerca de las estructuras VX_RSP.
11.3. Precauciones
La estructura RSP debe ser reseteada mediante la función vox_clrrsp() antes de modificar cualquiera de suscampos.
11.4. Elementos relacionados
vox_recstr, vox_recstr_open
11.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 23
12. vox_clrvad
FUNCION void vox_clrvad(VAD_PRM *prm)
VAD_PRM *prm puntero a una estructura de tipo Voice ActivityDetection Parameter
RETORNA Nada
INCLUDES voxlib.h
MODO síncrono
12.1. Descripción
La función vox_clrvad() resetea todos los campos de la estructura VAD_PRM asignándoles sus valores pordefecto. Es aconsejable utilizar esta función para inicializar cualquier estructura VAD_PRM antes de ser utilizadapor otras funciones. Para conocer el contenido de la estructura y los valores por defecto que les asigna estafunción, consulte el Capítulo 3. Estructuras de datos y parámetros.
12.2. Descripción de los parámetros
prm puntero a la estructura de tipo Voice Activity Detection Parameter que desea inicializarse.Esta estructura especifica parámetros y condiciones de contorno para el proceso de detección de laactividad vocal. Consulte el Capítulo 3. Estructuras de datos y parámetros para obtener més informaciónacerca de la estructura VAD_PRM.
12.3. Precauciones
La estructura VAD_PRM debe ser reseteada mediante la función vox_clrvad antes de modificar cualquiera desus campos.
12.4. Elementos relacionados
vox_vsd_open
12.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
24 Referencia de las funciones del Library SDK Verbio Technologies
13. vox_deactivatevcb
FUNCION int vox_deactivatevcb(int chdev, int vcbhandle, unsigned int mode)
int chdev descriptor de un canal válido
int vcbhandle descriptor de un vocabulario o gramática ABNF previamentecargado y activado
unsigned int mode por compatibilidad con versiones anteriores, úsese 0
RETORNA >=0 indicando el descriptor del vocabulario si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
13.1. Descripción
La función vox_deactivatevcb() desactiva un vocabulario o gramática ABNF previamente cargado y activado enel canal especificado. El descriptor del vocabulario se obtiene al cargarlo mediante la función vox_loadvcb() ytambién debe usarse para activarlo mediante la función vox_activatevcb() o para descargarlo mediante lafunción vox_unloadvcb().
13.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
vcbhandle descriptor de un vocabulario o gramática ABNF previamente cargado mediante la funciónvox_loadvcb() y activado mediante la función vox_activatevcb().
mode por compatibilidad con versiones anteriores, úsese 0
13.3. Precauciones
En cualquier momento, pueden estar activos varios vocabularios y gramáticas. El descriptor utilizado en lafunción vox_deactivatevcb() debe ser el valor retornado por la función vox_loadvcb().
Si se establece el vocabulario o la gramática activa mediante la función vox_setvcb() o vox_setcd(), sedescargarán automáticamente todos los vocabularios y gramáticas cargados hasta ese momento.
13.4. Errores
Si la función retorna -1 indicando que se ha producido un error, la función ATVOX_LASTERR() devolveráalguno de los siguientes motivos:
EVX_NOMEM OUT OF MEMORY
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID.
EVX_INVWORD THE VOCABULARY TRANSCRIPTION WAS OT FOUND
EVX_SYSTEM SYSTEM ERROR. Check errno.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 25
13.5. Elementos relacionados
vox_setvcb, vox_loadvcb, vox_loadcd, vox_activatevcb, vox_unloadvcb, ATVOX_IVCB
13.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
26 Referencia de las funciones del Library SDK Verbio Technologies
14. vox_devclose
FUNCION int vox_devclose(int chdev)
int chdev descriptor de un canal válido
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
14.1. Descripción
La función vox_devclose() libera los recursos consumidos por el canal especificado. Es aconsejable invocarlacuando la aplicación no deba hacer uso de recursos de reconocimiento ni de síntesis por el canal indicado.
14.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
14.3. Precauciones
En aplicaciones cuyos descriptores de canal se creen y destruyan de forma permanente (es decir, que no sonutilizados a lo largo de todo el tiempo de vida de la aplicación) es muy recomandable invocar a esta función alfinalizar el uso del cada canal. De este modo, se liberaran recursos (memoria, procesos, etc.) que pueden serrequeridos por los nuevos canales a utilizar.
14.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_NOLINE NO MORE LINES ARE AVAILABLE FOR THE SPECIFIED CHANNEL DEVICE
14.5. Elementos relacionados
vox_libclose, vox_srvclose, vox_thclose
14.6. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 27
15. vox_dtmf_close
FUNCION int vox_dtmf_close(int chdev, DTMF_REG* dtmfdev)
int chdev descriptor de un canal válido
DTMF_REG*dtmfdev
descriptor de detección de tonos DTMF válido
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
15.1. Descripción
La función vox_dtmf_close() cierra el desciptor de detección de tonos DTMF abierto mediante la funciónvox_dtmf_open y libera los recursos utilizados durante el proceso de detección de tonos DTMF.
15.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
dtmfdev especifica el descriptor de detección de tonos DTMF válido obtenido mediante la funciónvox_dtmf_open.
15.3. Elementos relacionados
vox_dtmf_open, vox_dtmf_write
15.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
28 Referencia de las funciones del Library SDK Verbio Technologies
16. vox_dtmf_open
FUNCION DTMF_REG* vox_dtmf_open(int chdev, unsigned int mode)
int chdev descriptor de un canal válido
unsigned int mode formato de las muestras (Ley A, Ley Mu o lineal)
RETORNA != -1 para indicar el descriptor de detección de tonos DTMF
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
16.1. Descripción
La función vox_dtmf_open() inicializa el detector de tonos DTMF en el canal especificado, de modo que estépreparado para empezar a recibir las muestras de audio mediante la función vox_dtmf_write(). El valordevuelto por la función es requerido por las funciones vox_dtmf_write() y vox_dtmf_close().
16.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
mode especifica el formato de las muestras de audio pasadas al detector de voz.
MC_ALAW formato PCM (Ley A) a 8 KHz.
MC_MULAW formato PCM (Ley Mu) a 8 KHz.
MC_LIN16 formato PCM (lineal 16 bits) a 8 KHz.
16.3. Precauciones
Una vez finalizado el proceso de detección de tonos DTMF, es imprescindible invocar a la funciónvox_dtmf_close para liberar los recursos de memoria utilizados durante el proceso de detección.
16.4. Elementos relacionados
vox_dtmf_write, vox_dtmf_close
16.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 29
17. vox_dtmf_word
FUNCION char* vox_dtmf_word(int chdev, const char *sequence)
int chdev descriptor de un canal válido
const char* sequence cadena de tonos DTMF recibida en el canal.
RETORNA puntero a un vector de caracteres con el contenido de la palabra del vocabulario retornadapor la gramática, cuando se cumple una de sus alternativas.
puntero nulo si la secuencia no cumple ninguna de las opciones contempladas por lagramática DTMF.
INCLUDES voxlib.h
MODO síncrono
17.1. Descripción
La función vox_dtmfword() devuelve un puntero a un vector de caracteres ASCIIZ con el contenido asociado ala secuencia de tonos DTMF recibido por el canal y contenidos en el vocabulario o gramática activa en el canal.
17.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
sequence cadena de tonos DTMF recibida mediante las funciones vox_dtmf_open, vox_dtmf_write yvox_dtmf_close y de la que se desea saber si cumple la gramática DTMF cargada en el canalespecificado.
17.3. Elementos relacionados
vox_wordex, vox_recstr
17.4. Códigos de ejemploConsulte el ejemplo síncrono.
Capítulo 2. Descripción de las funciones
30 Referencia de las funciones del Library SDK Verbio Technologies
18. vox_dtmf_write
FUNCION const char* vox_dtmf_write(DTMF_REG* dtmfdev, const void *buffer, unsignedint n)
DTMF_REG*dtmfdev
descriptor de detección de tonos DTMF válido
const void *buffer vector en el que se encuentran las muestras de audio que debeprocesar el detector de tonos DTMF
unsigned int n tamaño del vector de muestras (en bytes)
RETORNA puntero a un vector de caracteres con los tonos DTMF reconocidos en el vector de muestrasacabado de procesar
0 (NULL) en caso de que no se haya detectado ningún tono DTMF en el vector de muestrasacabado de procesar
INCLUDES voxlib.h
MODO síncrono
18.1. Descripción
La función vox_dtmf_write() envía las muestras recibidas hacia el detector de tonos DTMF para serprocesadas.
La función retorna los identificadores de los tonos DTMF detectados dentro de la última trama de muestrasprocesada. Los posibles identificadores son: 1 2 3 4 5 6 7 8 9 0 * # A B C D.
18.2. Descripción de los parámetros
dtmfdev especifica el descriptor de detección de tonos DTMF válido obtenido mediante la funciónvox_dtmf_open.
buffer vector en el que se encuentran las muestras de audio que debe procesar el detector de tonosDTMF.
n tamaño del vector de muestras.
18.3. Precauciones
El vector de caracteres retornado es volátil, de modo que en las sucesivas invocaciones a esta función o a lasfunciones vox_dtmf_open y vox_dtmf_close su valor se verá modificado, siendo necesario su almacenamientosi se requiere un procesado posterior del resultado retornado.
18.4. Elementos relacionados
vox_dtmf_open, vox_dtmf_close
18.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 31
19. ATVOX_ERRMSGP
FUNCION char * ATVOX_ERRMSGP(int dev)
int dev descriptor de un canal o -1 para funciones independientes del canal
RETORNA vector de caracteres con una descripción del error ocurrido en la última llamada a unafunción del SDK
INCLUDES voxlib.h
MODO síncrono
19.1. Descripción
La función ATVOX_ERRMSGP() devuelve un puntero a un vector ASCIIZ que describe el motivo del errorproducido durante la última llamada a una función de la librería Verbio. Este puntero es válido a lo largo de laejecución de la aplicación. Si no se ha producido ningún error durante la última llamada a una función, el vectorcontiene el valor "NO ERROR".
Si el error se ha producido durante la llamada a una función dependiente del canal (vox_setvcb(), vox_recstr(),...) el parámetro de entrada dev especifica el descriptor de canal válido. Si el error se ha producido durante lallamada a una función independiente del canal (vox_libinit(), vox_prevcb(), vox_ApplyDictionary(), ...) debeutilizarse -1 como valor del parámetro dev.
19.2. Descripción de los parámetros
dev especifica el descriptor de canal válido o -1 para funciones independientes del canal.
19.3. Elementos relacionados
ATVOX_LASTERR
19.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
32 Referencia de las funciones del Library SDK Verbio Technologies
20. vox_getasrlic
FUNCION int vox_getasrlic(const char *configuration)
const char*configuration
identificador de la configuración de reconocimiento de la quese desean consultar las licencias disponibles
RETORNA Número de licencias máximas disponibles (adquiridas)
INCLUDES voxlib.h
MODO síncrono
20.1. Descripción
La función vox_getasrlic() consulta el número de licencias de la configuración especificada disponibles en total(adquiridas) en el servidor utilizado (aquél especificado antes de invocar a la función vox_libinit ovox_asr_init).
20.2. Descripción de los parámetros
configuration especifica la configuración de reconocimiento de la que se desea conocer elnúmero de licencias disponibles. Para más información, puede consultarse eldocumento Verbio Software Reference: Guía del Usuario.
CFG_SPANISH Español castellano
CFG_SPANISH_CATALAN Español castellano +catalán
CFG_SPANISH_BASQUE Español castellano +euskera
CFG_SPANISH_GALICIAN Español castellano +gallego
CFG_SPANISH_CATALAN_BASQUE_GALICIAN Español castellano +catalán + euskera + gallego
CFG_PORTUGUESE Portugués
CFG_PORTUGUESE_BRAZILIAN Portugués brasileño
CFG_SPANISH_ARGENTINIAN Español argentino
CFG_SPANISH_CHILEAN Español chileno
CFG_SPANISH_COLOMBIAN Español colombiano
CFG_SPANISH_MEXICAN Español mexicano
CFG_SPANISH_VENEZUELAN Español venezolano
CFG_FRENCH Francés
CFG_ENGLISH Inglés
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 33
20.3. Precauciones
La función vox_getasrlic() debe invocarse una vez establecida la comunicación con el servidor dereconocimiento al que se le solicita el número de licencias disponibles, entendiendo por disponibles el númeromáximo de peticiones de reconocimiento simultáneas que pueden realizarse, en ese servidor, para laconfiguración especificada.
20.4. Elementos relacionados
vox_getusedasrlic, vox_getttslic, vox_getusedttslic, vox_libinit, vox_asr_init
20.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
34 Referencia de las funciones del Library SDK Verbio Technologies
21. vox_GetDllVersion
FUNCION int vox_GetDllVersion(unsigned long *fileverp, unsigned long *prodverp)
unsigned long*fileverp
número de versión del fichero DLL de VERBIO
unsigned long*prodverp
número de versión del producto
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
21.1. Descripción
La función vox_GetDllVersion() retorna el número de versión de la DLL de VERBIO tanto del fichero comodel producto.
21.2. Descripción de los parámetros
fileverp puntero en el que se guardará la información referente a la versión del fichero.
prodverp puntero en el que se guardará la información referente a la versión del producto.
21.3. Elementos relacionados
vox_SerialNumber
21.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 35
22. vox_getparm
FUNCION int vox_getparm(int dev, unsigned long parm, void *valuep)
int dev descriptor de un canal o -1 para parámetros globales deVERBIO (independientes del canal)
unsigned long parm parámetro del que se desea obtener el valor
void *valuep puntero a la variable en la que se almacenará el valor delparámetro solicitado
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
22.1. Descripción
La función vox_getparm() obtiene los valores actuales de los parámetros globales o dependientes del canal deVERBIO. Esta función puede obtener el valor de un único parámetro en cada invocación.
22.2. Descripción de los parámetros
dev especifica el descriptor de canal válido. Use -1 para obtener el valor de parámetros globales deVERBIO.
parm especifica el identificador del parámetro del que se desea recuperar el valor en la variableapuntada por valuep. Los identificadores de los parámetros pueden consultarse en Capítulo 3.Estructuras de datos y parámetros.
valuep puntero a la variable en la que se almacenará el valor del parámetro solicitado.
22.3. Elementos relacionados
vox_setparm
22.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
36 Referencia de las funciones del Library SDK Verbio Technologies
23. vox_getttslic
FUNCION int vox_getttslic(const char *language)
const char *language identificador del idioma de síntesis del que se deseanconsultar las licencias disponibles
RETORNA Número de licencias máximas disponibles (adquiridas)
INCLUDES voxlib.h
MODO síncrono
23.1. Descripción
La función vox_getttslic() consulta el número de licencias del idioma especificado disponibles en total(adquiridas) en el servidor utilizado (aquél especificado antes de invocar a la función vox_libinit ovox_tts_init).
23.2. Descripción de los parámetros
language especifica el idioma de síntesis del que se desea conocer el número de licencias disponibles.Para más información, puede consultarse el documento Verbio SoftwareReference: Guía del Usuario.
LNG_SPANISH Español castellano
LNG_CATALAN Catalán
LNG_BASQUE Euskera
LNG_GALICIAN Gallego
LNG_PORTUGUESE Portugués
LNG_PORTUGUESE_BRAZILIAN Portugués brasileño
LNG_SPANISH_ARGENTINIAN Español argentino
LNG_SPANISH_MEXICAN Español mexicano
LNG_FRENCH Francés
LNG_ENGLISH Inglés
23.3. Precauciones
La función vox_getttslic() debe invocarse una vez establecida la comunicación con el servidor de síntesis al quese le solicita el número de licencias disponibles, entendiendo por disponibles el número máximo de peticionesde síntesis simultáneas que pueden realizarse, en ese servidor, para el idioma especificado.
23.4. Elementos relacionados
vox_getusedttslic, vox_getasrlic, vox_getusedasrlic, vox_libinit, vox_tts_init
23.5. Códigos de ejemplo
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 37
Consulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
38 Referencia de las funciones del Library SDK Verbio Technologies
24. vox_getusedasrlic
FUNCION int vox_getusedasrlic()
RETORNA Número de licencias disponibles en el momento de la invocación
INCLUDES voxlib.h
MODO síncrono
24.1. Descripción
La función vox_getusedasrlic() consulta el número de licencias de la configuración especificada disponibles enun momento determinado (libres) en el servidor utilizado (aquél especificado antes de invocar a la funciónvox_libinit o vox_asr_init).
24.2. Precauciones
La función vox_getusedasrlic() devuelve el número de licencias disponibles en un momento determinado, paracontrolar la disponibilidad de las mismas antes de realizar una petición. Puede combinarse también con lasfunciones vox_recstr_wait y vox_recstr_release.
24.3. Elementos relacionados
vox_getttslic, vox_recstr_wait, vox_recstr_release
24.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 39
25. vox_getusedttslic
FUNCION int vox_getusedttslic()
RETORNA Número de licencias disponibles en el momento de la invocación
INCLUDES voxlib.h
MODO síncrono
25.1. Descripción
La función vox_getusedttslic() consulta el número de licencias de la configuración especificada disponibles enun momento determinado (libres) en el servidor utilizado (aquél especificado antes de invocar a la funciónvox_libinit o vox_tts_init).
25.2. Precauciones
La función vox_getusedttslic() devuelve el número de licencias disponibles en un momento determinado, paracontrolar la disponibilidad de las mismas antes de realizar una petición. Puede combinarse también con lasfunciones vox_playstr_wait y vox_playstr_release.
25.3. Elementos relacionados
vox_getusedasrlic, vox_playstr_wait, vox_playstr_release
25.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
40 Referencia de las funciones del Library SDK Verbio Technologies
26. ATVOX_IVCB
FUNCION int ATVOX_IVCB(int chdev)
int chdev descriptor de un canal válido
RETORNA >=0 indicando el descriptor del vocabulario afectado por el último resultado dereconocimiento
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
26.1. Descripción
La función ATVOX_IVCB() retorna el descriptor del vocabulario del que se ha reconocido una secuenciadurante el último proceso de reconocimiento. Este valor está disponible después de la finalización de unallamada a las funciones vox_recind() o vox_nbest().
26.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
26.3. Precauciones
El valor devuelto por la función ATVOX_IVCB() sólo es válido tras la correcta finalización de la funciónvox_recind() o vox_nbest().
26.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_NORECIND NO RECIND. Call vox_recind() before calling ATVOX_IVCB().
26.5. Elementos relacionados
vox_recind, vox_nbest
26.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 41
27. ATVOX_LASTERR
FUNCION long ATVOX_LASTERR(int dev)
int dev descriptor de un canal válido o -1 para funciones independientes del canal
RETORNA número del error
INCLUDES voxlib.h
MODO síncrono
27.1. Descripción
La función ATVOX_LASTERR() retorna un valor long que identifica el error que se ha producido durante laúltima llamada a una función del SDK de Verbio. Los errores están definidos en voxlib.h. Si no se haproducido ningún error durante la última llamada a una función, el valor devuelto es 0.
Si el error se ha producido durante la llamada a una función dependiente del canal (vox_setvcb(), vox_recstr(),...) el parámetro de entrada dev especifica el descriptor de canal válido. Si el error se ha producido durante lallamada a una función independiente del canal (vox_libinit(), vox_prevcb(), vox_ApplyDictionary(), ...) debeutilizarse -1 como valor del parámetro dev.
27.2. Descripción de los parámetros
dev especifica el descriptor de canal válido o -1 para funciones independientes del canal.
27.3. Elementos relacionados
ATVOX_ERRMSGP
27.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
42 Referencia de las funciones del Library SDK Verbio Technologies
28. vox_libclose
FUNCION int vox_libclose()
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
28.1. Descripción
La función vox_libclose libera las conexiones con el motor de síntesis y o reconocimiento del habla iniciadasmediante la función vox_libinit, vox_asr_init o vox_tts_init y libera todos los recursos utilizados por el clientede Verbio. Una vez finalizada la función vox_libclose, no pueden invocarse otras funciones del SDK deVerbio desde el cliente afectado, exceptuando aquellas destinadas a establecer de nuevo la conexión con elservidor.
28.2. Elementos relacionados
vox_libinit, vox_asr_init, vox_tts_init
28.3. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 43
29. vox_libinit
FUNCION int vox_libinit(int options)
int options identificador del idioma por defecto
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
29.1. Descripción
La función vox_libinit() inicializa la librería Verbio. El parámetro options especifica el idioma por defectoque utilizarán el servidor de reconocimiento y el servidor de síntesis.
Esta función está incluida por compatibilidad con versiones anteriores, aunque en nuevos desarrollos es muyrecomendable utilizar las nuevas funciones equivalentes vox_asr_init y/o vox_tts_init, según las necesidadesconcretas.
29.2. Descripción de los parámetros
options especifica el idioma de trabajo por defecto y si deben inicializarse los servidores dereconocimiento y de síntesis (por defecto, ambos se inicializan).
LVX_SPANISH Español
LVX_CATALAN Catalán
LVX_BASQUE Euskera
LVX_GALICIAN Gallego
LVX_PORTUGUESE Portugués
LVX_BRAZILIAN Portugués brasileño
OVX_NORECSTR no se inicializa el servidor de reconocimiento
OVX_NOPLAYSTR no se inicializa el servidor de síntesis
OVX_TTSLITE inicialización rápida (menores prestaciones) del sintetizador(depuración)
29.3. Precauciones
La función vox_libinit() debe invocarse antes que ninguna otra de las funciones del Library SDK, aexcepción de aquella destinada a establecer el servidor de trabajo por defecto en configuracionescliente-servidor (vox_setparm).
29.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funcionesATVOX_LASTERR(-1) y ATVOX_ERRMSGP(-1) obtendrá alguno de los siguientes motivos de error:
Capítulo 2. Descripción de las funciones
44 Referencia de las funciones del Library SDK Verbio Technologies
EVX_INVSETUP VERBIO INTERNAL ERROR. Files may be corrupted. Check disk and repeatSetup.
EVX_NOMEM OUT OF MEMORY.
EVX_NOLICFILE NO LICENSE FILE WAS FOUND. Run CheckOut to obtain a license file.
EVX_INVLIC THE LICENSE FILE IS NOT VALID. Run CheckOut to obtain a valid licensefile.
EVX_SYSTEM SYSTEM ERROR.Check errno.
29.5. Elementos relacionados
vox_libclose, vox_asr_init, vox_tts_init
29.6. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 45
30. vox_loadcd
FUNCION int vox_loadcd(int chdev, unsigned int mode)
int chdev descriptor de un canal válido
unsigned int mode por compatibilidad con versiones anteriores, úsese 0
RETORNA >=0 indicando el descriptor del vocabulario si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
30.1. Descripción
La función vox_loadcd() carga el vocabulario de dígitos conectados (consulte Sección 62 para másinformación) en el canal especificado. En caso satisfactorio, retorna un descriptor asociado con el vocabulariocargado para que éste pueda ser activado, desactivado y descargado mediante las funciones vox_activatevcb(),vox_deactivatevcb() y vox_unloadvcb() respectivamente.
30.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
mode por compatibilidad con versiones anteriores, úsese 0
30.3. Precauciones
Si se establece el vocabulario o la gramática activa mediante la función vox_setvcb() o vox_setcd(), sedescargarán automáticamente todos los vocabularios y gramáticas cargados hasta ese momento.
30.4. Errores
Si la función retorna -1 indicando que se ha producido un error, la función ATVOX_LASTERR() devolveráalguno de los siguientes motivos:
EVX_NOMEM OUT OF MEMORY
EVX_SYSTEM SYSTEM ERROR. Check errno.
30.5. Elementos relacionados
vox_setcd, vox_loadvcb, vox_activatevcb, vox_deactivatevcb, vox_unloadvcb, ATVOX_IVCB
Capítulo 2. Descripción de las funciones
46 Referencia de las funciones del Library SDK Verbio Technologies
31. vox_loadvcb
FUNCION int vox_loadvcb(int chdev, const char *filename, unsigned int mode)
int chdev descriptor de un canal válido
const char *filename nombre del vocabulario o de la gramática ABNF/DTMF quedebe cargarse
unsigned int mode vocabulario o gramática ABNF o DTMF
RETORNA >=0 indicando el descriptor del vocabulario si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
31.1. Descripción
La función vox_loadvcb() carga el vocabulario o la gramática ABNF o DTMF en el canal especificado. En casosatisfactorio, retorna un descriptor asociado con el vocabulario cargado para que éste pueda ser activado,desactivado y descargado mediante las funciones vox_activatevcb(), vox_deactivatevcb() y vox_unloadvcb()respectivamente.
31.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
filename puntero al nombre del fichero de texto que contiene el vocabulario (cada línea contiene unapalabra del vocabulario formada por una o más palabras) o la gramática ABNF.
mode indica el tipo de vocabulario o gramática
GVX_ISOLATED Palabras aisladas. El reconocedor espera reconocer una únicapalabra del vocabulario de este vocabulario.
GVX_CONNECTED Palabras conectadas (valor por defecto). El reconocedorespera reconocer una o más palabras delvocabulario de este vocabulario.
GVX_ABNF gramática ABNF. El reconocedor espera reconocer una o máspalabras de la gramática.
GVX_DTMF gramática DTMF. El reconocedor espera recibir uno o mástonos DTMF.
31.3. Precauciones
Sin la opción GVX_ABNF habilitada, la función vox_loadvcb() requiere el fichero de definiciones y el ficherode transcripciones generados mediante la función vox_prevcb() (o vox_prevcbex() o vox_prevcbex2() ovox_prevcbdev()). Si estos ficheros existen y el fichero de vocabulario correspondiente no ha sido modificadodesde que se llamó a la función vox_prevcb() (o vox_prevcbex() o vox_prevcbex2() o vox_prevcbdev()), noes necesario volver a invocarlas antes de cargar el vocabulario mediante la función vox_loadvcb().
Con la opción GVX_ABNF habilitada, la función vox_loadvcb() requiere el fichero de estados de la gramática,
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 47
el fichero de definiciones y el fichero de transcripciones generado mediante la función vox_prevcb() (ovox_prevcbex() o vox_prevcbex2() o vox_prevcbdev()). Si estos ficheros existen y la gramática ABNFcorrespondiente no ha sido modificado desde que se llamó a la función vox_prevcb() (o vox_prevcbex() ovox_prevcbex2() o vox_prevcbdev()), no es necesario volver a invocarlas antes de cargar la gramáticamediante la función vox_loadvcb().
Con la opción GVX_DTMF la gramática no crea ficheros adicionales resultados de la compilación.
Si se establece el vocabulario o la gramática activa mediante la función vox_setvcb() o vox_setcd(), sedescargarán automáticamente todos los vocabularios y gramáticas cargados hasta ese momento.
La configuración de reconocimiento activa en el momento de cargar la gramática debe ser la misma que laexistente en el momento de su preparación. En caso contrario, aparecerá el error THE VOCABULARYCONTAINS AN INVALID WORD. Check and correct invalid words.
31.4. Errores
Si la función retorna -1 indicando que se ha producido un error, la función ATVOX_LASTERR() devolveráalguno de los siguientes motivos:
EVX_NOMEM OUT OF MEMORY.
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID.
EVX_INVWORD THE VOCABULARY TRANSCRIPTION WAS NOT FOUND.
EVX_SYSTEM SYSTEM ERROR. Check errno.
31.5. Elementos relacionados
vox_setcd, vox_loadcd, vox_activatevcb, vox_deactivatevcb, vox_unloadvcb, ATVOX_IVCB
31.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
48 Referencia de las funciones del Library SDK Verbio Technologies
32. vox_nbest
FUNCION int vox_nbest(int chdev, int maxind, int *index, float *score, int ibest, unsignedint mode)
int chdev descriptor de un canal válido
int maxind número máximo de palabras del vocabularioconectadas o de palabras de la gramática
int *index vector de enteros en el que se recibirán los índices de laspalabras reconocidas
float *score vector de float en el que se recibirán los índices deconfianza de las palabras reconocidas
int ibest número de la hipótesis de interés
unsigned int mode por compatibilidad con versiones anteriores, úsese 0
RETORNA >=0 para indicar la cantidad de palabras reconocidas
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
32.1. Descripción
La función vox_nbest() debe ser llamada al finalizar las funciones vox_recstr() (o vox_recstr_open() +vox_recstr_write() + vox_recstr_close()) para obtener los índices y niveles de confianza de las palabrasreconocidas correspondientes a la hipótesis ibest-ésima. La función vox_nbest() es una extensión de lafunción vox_recind() para permitir la obtención de múltiples hipótesis de reconocimiento de una mismalocución.
El número máximo de hipótesis devuelto por el servidor de reconocimiento depende del parámetroVXCH_ACTIVE_NBEST (y VXCH_NBEST). Estos parámetros son dependientes del canal y deben serespecificados mediante la función vox_setparm() antes de iniciar el reconocimiento mediante las funcionesvox_recstr() o vox_recstr_open(). El valor por defecto de ambos parámetros es 1.
Si el número de palabras reconocidas es cero, index[0] contiene uno de los siguientes índices especiales:
IND_NOVOICE No se ha detectado voz.
IND_NOWORD No se ha reconocido ninguna palabra del vocabulario ni de la gramática.
IND_EARLY_START No se ha detectado silencio inicial.
32.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
maxind especifica el número máximo de palabras del vocabulario conectadas o palabras de lagramática que pueden reconocerse. En reconocimiento de palabras aisladas, el valor de estaparámetro debe fijarse a 1.
index puntero a un vector de enteros que recibirá los índices de las palabras reconocidas. El tamaño de
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 49
este vector debe ser mayor o igual a maxind.
score puntero a un vector de float que recibirá los niveles de confianza de las palabras reconocidas.El nivel de confianza de cada índice proporciona una medida de fiabilidad del reconocimiento,que puede ser utilizada para rechazar o pedir confirmación de las palabras reconocidas. Eltamaño de este vector debe ser mayor o igual a maxind.
ibest número de la hipótesis de interés. El valor de este parámetro puede estar entre 0 (hipótesis másfiable) y NBest-1, donde NBest es el máximo número de hipótesis activo en un canalespecificado mediante la función vox_setparm() (parámetro VXCH_ACTIVE_NBEST).
32.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_NORECSTR NO RECOGNITION. Use vox_recstr() to start recognition.
32.4. Elementos relacionados
vox_recstr, vox_recstr_open, vox_recind, ATVOX_NIND
32.5. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
50 Referencia de las funciones del Library SDK Verbio Technologies
33. ATVOX_NIND
FUNCION int ATVOX_NIND(int chdev)
int chdev descriptor de un canal válido
RETORNA >=0 para indicar el número de palabras del vocabulario o de la gramáticareconocidas
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
33.1. Descripción
La función ATVOX_NIND() retorna el número de palabras del vocabulario o de la gramáticareconocidas después de la finalización de la llamada a la función vox_recind() o vox_nbest().
33.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
33.3. Precauciones
El valor devuelto por la función ATVOX_NIND() únicamente es válido después de la correcta finalización dela función vox_recind() o vox_nbest().
33.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_NORECIND NO RECIND. Call vox_recind() before calling ATVOX_NIND().
33.5. Elementos relacionados
vox_recind, vox_nbest
33.6. Códigos de ejemploConsulte el ejemplo asíncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 51
34. vox_playstr
FUNCION int vox_playstr(int chdev, const char *filename, const char *string, unsigned intmode)
int chdev descriptor de un canal válido
const char *filename vector ASCIIZ con el nombre del fichero de audio en el que sealmacenará la voz sintética
const char *string vector ASCIIZ con el texto que debe ser sintetizado
unsigned int mode formato de las muestras de audio
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
34.1. Descripción
La función vox_playstr() inicia la conversión de texto a voz del texto especificado. Una vez la función esinvocada, la conversión continua hasta el final del texto.
34.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
filename vector ASCIIZ con el nombre del fichero de audio en el que se almacenarán las muestras deaudio de voz sintética procedentes del servidor de síntesis.
string vector ASCIIZ con el texto que debe ser sintetizado. Para una óptima síntesis, esimprescindible que el texto esté bien puntuado, acentuado, etc.
mode especifica el formato de las muestras de audio generadas por el motor de síntesis
MC_ALAW Muestras de audio en formato de Ley A (8 bits, 8 KHz)
MC_MULAW Muestras de audio en formato de Ley Mu (8 bits, 8 KHz)
MC_LIN16 Muestras de audio en formato lineal (16 bits, 8 KHz). (valor pordefecto)
34.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_SYSTEM SYSTEM ERROR. Check errno.
34.4. Elementos relacionados
Capítulo 2. Descripción de las funciones
52 Referencia de las funciones del Library SDK Verbio Technologies
vox_playstr_open
34.5. Códigos de ejemplo
Consulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 53
35. vox_playstr_close
FUNCION int vox_playstr_close(int chdev, int playdev)
int chdev descriptor de un canal válido
int playdev descriptor de reproducción válido
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
35.1. Descripción
La función vox_playstr_close() cierra el descriptor de reproducción abierto mediante la funciónvox_playstr_open y libera los recursos utilizados durante el proceso de síntesis.
35.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
playdev especifica el descriptor de reproducción válido obtenido mediante la funciónvox_playstr_open.
35.3. Elementos relacionados
vox_playstr_open, vox_playstr_read
35.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
54 Referencia de las funciones del Library SDK Verbio Technologies
36. vox_playstr_open
FUNCION int vox_playstr_open(int chdev, char *string, unsigned int mode)
int chdev descriptor de un canal válido
char *string vector ASCIIZ que contiene el texto a sintetizar
unsigned int mode formato de las muestras (Ley A o Ley Mu)
RETORNA != -1 para indicar el descriptor de reproducción
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
36.1. Descripción
La función vox_playstr_open() inicia la síntesis del texto especificado y no finaliza hasta que se hayasintetizado completamente. Las muestras de audio resultantes se obtendrán mediante la funciónvox_playstr_read(), utilizando el descriptor de reproducción devuelto por la función vox_playstr_open().
36.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
string vector ASCIIZ que contiene el texto que debe sintetizarse. Para una óptima síntesis, esimprescindible que el texto esté bien puntuado, acentuado, etc.
mode especifica el formato de las muestras de audio generadas por el sintetizador.
MC_ALAW Muestras de audio en formato de Ley A (8 bits, 8 KHz)
MC_MULAW Muestras de audio en formato de Ley Mu (8 bits, 8 KHz)
MC_LIN16 Muestras de audio en formato lineal (16 bits, 8 KHz). (valor por defecto)
36.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_SYSTEM SYSTEM ERROR. Check errno.
36.4. Elementos relacionados
vox_playstr_read, vox_playstr_close
36.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 55
37. vox_playstr_read
FUNCION int vox_playstr_read(int playdev, void *buffer, unsigned int count)
int playdev descriptor de reproducción válido
void *buffer vector en el que se almacenarán las muestras de audioprocedentes del sintetizador
unsigned int count número de muestras a obtener (en bytes)
RETORNA >=0 número de muestras obtenidas del sintetizador
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
37.1. Descripción
La función vox_playstr_read() obtiene las muestras de audio generadas por la función vox_playstr_open().
La función retorna un número igual al número de bytes solicitados para indicar que todavía no ha finalizado elproceso de síntesis.
La función retorna un número de muestras menor que el solicitado para indicar que el servidor de síntesis ya nodispone de más muestras de voz sintética para entregar, por lo que no debe invocarse a la funciónvox_playstr_read() nuevamente.
37.2. Descripción de los parámetros
playdev especifica el descriptor de reproducción válido obtenido mediante la funciónvox_playstr_open.
buffer vector en el que se almacenarán las muestras de audio procedentes del sintetizador. Debe tenerun tamaño igual o superior al número de muestras solicitadas mediante el parámetro n.
n cantidad de muestras solicitadas al sintetizador.
37.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_SYSTEM SYSTEM ERROR. Check errno.
37.4. Elementos relacionados
vox_playstr_open, vox_playstr_close
37.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
56 Referencia de las funciones del Library SDK Verbio Technologies
38. vox_playstr_release
FUNCION int vox_playstr_release(int chdev)
int chdev descriptor de un canal válido
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
38.1. Descripción
La función vox_playstr_release() libera un recurso (licencia) de síntesis del habla reservado mediante lafunción vox_playstr_wait() en el canal especificado.
38.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
38.3. Elementos relacionados
vox_playstr_wait, vox_getusedttslic, vox_recstr_release, vox_recstr_wait
38.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 57
39. vox_playstr_wait
FUNCION int vox_playstr_wait(int chdev, int ms)
int chdev descriptor de un canal válido
int ms tiempo máximo de espera para obtener un recurso (en milisegundos)
RETORNA 0 si el resultado es satisfactorio
-1 en caso de no poder obtener un recurso en el tiempo especificado
INCLUDES voxlib.h
MODO síncrono
39.1. Descripción
La función vox_playstr_wait() reserva un recurso (licencia) de síntesis del habla para el canal especificadohasta que se libere mediante la función vox_playstr_release(). La función espera un máximo de msmilisegundos la disponibilidad de un recurso, transcurridos los cuales devuelve un error.
El uso de esta función es aconsejable para gestionar el uso de los recursos (licencias) disponibles. En entornosen los que nunca se producirán más peticiones simultáneas de síntesis que licencias disponibles no es necesariosu uso.
39.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
ms tiempo máximo de espera, en milisegundos, para obtener un recurso (licencia) de síntesis del hablapara el canal especificado.
39.3. Elementos relacionados
vox_playstr_release, vox_getusedttslic, vox_recstr_wait, vox_recstr_release
39.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
58 Referencia de las funciones del Library SDK Verbio Technologies
40. vox_prevcb
FUNCION int vox_prevcb(const char *filename, unsigned int mode)
const char *filename puntero al nombre del fichero que contiene el vocabulario o lagramática ABNF a preparar
unsigned int mode vocabulario convencional (lista de palabras) o gramáticaABNF
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
40.1. Descripción
Sin especificar el modo GVX_ABNF (vocabulario convencional), la función vox_prevcb() realiza latranscripción fonética del contenido del fichero, almacenándola en un nuevo fichero binario con el mismonombre que el del vocabulario pero con extensión ".trc". Esta función es independiente del canal y debeutilizarse una vez para cada vocabulario aunque éste se utilice en distintos canales (sí es necesario invocar denuevo a la función cuando se modifica dinámicamente el contenido del vocabulario).
Cuando se especifica el modo GVX_ABNF (gramática ABNF), la función vox_prevcb() compila la gramáticaespecificada. El resultado de la compilación se almacena en un nuevo fichero de texto con el mismo nombre quela gramática pero con extensión ".trx" (conteniendo el vocabulario de la gramática) y en un nuevo fichero detexto con extensión ".grm" (conteniendo los estados de la gramática). También se realiza la trancripciónfonética que se almacena en un nuevo fichero binario con el mismo nombre que el de la gramática pero conextensión ".trc". Esta función es independiente del canal y debe utilizarse una vez para cada gramáticaaunque ésta se utilice en distintos canales (sí es necesario invocar de nuevo a la función cuando se modificadinámicamente el contenido de la gramática). En caso que deba preparar gramáticas dinámicas en distintoscanales, debe utilizarse la función vx_prevcbdev para evitar conflictos entre ellos.
El vocabulario se preparará en el idioma y configuración de reconocimiento especificados mediante la funciónvox_asr_init o bien mediante la función vox_setparm (parámetros VXCH_DEFASRCFG y VXCH_DEFASRLNG). El idioma puede especificarse independientemente usando la función vx_prevcbex2.
40.2. Descripción de los parámetros
filename puntero al nombre del fichero que contiene el vocabulario (cada línea constituye unapalabra del vocabulario formada por una o más palabras) o la gramática ABNF.
mode especifica si se trata de una gramática ABNF.
GVX_ABNF gramática ABNF
40.3. Precauciones
La función vovx_prevcb() preparará el vocabulario en el idioma por defecto presente en el canal (exceptoaquellas palabras que incorporen el identificador del idioma). Si desea especificarse un idioma distinto, deberáutilizarse la función vox_prevcbex2().
La configuración de reconocimiento activa en el momento de cargar la gramática debe ser la misma que la
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 59
existente en el momento de su preparación. En caso contrario, aparecerá el error THE VOCABULARYCONTAINS AN INVALID WORD. Check and correct invalid words.
40.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funcionesATVOX_LASTERR(-1) y ATVOX_ERRMSGP(-1) obtendrá alguno de los siguientes motivos de error:
EVX_NOMEM OUT OF MEMORY
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID. Check the vocabulary filename and path writing permission.
EVX_PARSER ABNF PARSER ERROR. Check the ABNF grammar syntax.
EVX_INVWORD THE VOCABULARY CONTAINS AN INVALID WORD. Check and correctinvalid words
EVX_SYSTEM SYSTEM ERROR. Check errno.
40.5. Elementos relacionados
vox_prevcbex, vox_prevcbex2, vox_prevcbdev, vox_setvcb, vox_loadvcb
40.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
60 Referencia de las funciones del Library SDK Verbio Technologies
41. vox_prevcbdev
FUNCION int vox_prevcbdev(int chdev, const char *filename, unsigned int mode, int*lpiword, const char *language)
int chdev descriptor de un canal válido
const char *filename puntero al nombre del fichero que contiene el vocabulario o lagramática ABNF a preparar
unsigned int mode vocabulario convencional (lista de palabras) o gramáticaABNF
int *lpiword puntero que almacenará la línea errónea del fichero en caso deerror
const char *language idioma en el que se preparará el vocabulario
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
41.1. Descripción
Sin especificar el modo GVX_ABNF (vocabulario convencional), la función vox_prevcbex2() realiza latranscripción fonética del contenido del fichero en el canal indicado, almacenándola en un nuevo fichero binariocon el mismo nombre que el del vocabulario pero con extensión ".trc". Esta función está indicada parapreparar gramáticas dinámicas que no pueden haberse preparado al lanzar la aplicación mediante las funcionesvox_prevcb, vox_prevcbex o vox_prevcbex2.
Cuando se especifica el modo GVX_ABNF (gramática ABNF), la función vox_prevcbex2() compila la gramáticaespecificada en el canal indicado. El resultado de la compilación se almacena en un nuevo fichero de texto conel mismo nombre que la gramática pero con extensión ".trx" (conteniendo el vocabulario de la gramática) yen un nuevo fichero de texto con extensión ".grm" (conteniendo los estados de la gramática). También serealiza la trancripción fonética que se almacena en un nuevo fichero binario con el mismo nombre que el de lagramática pero con extensión ".trc".
Para evitar conflictos entre gramáticas preparadas simultáneamente entre distintos canales, es absolutamenteimprescindible evitar que canales distintos preparen gramáticas con el mismo nombre. En caso de que seprodujera este hecho, los resultados son imprevisibles. Por lo tanto, una estrategia recomendada es la de utilizarnombres de gramática que incluyan también el identificador del canal. De este modo, se imposibilita lacoincidencia de nombres de gramática en canales distintos.
41.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
filename puntero al nombre del fichero que contiene el vocabulario (cada línea constituye unapalabra del vocabulario formada por una o más palabras) o la gramática ABNF.
mode especifica si se trata de una gramática ABNF.
GVX_ABNF gramática ABNF
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 61
lpiword en caso de error, este puntero contendrá la línea del fichero en la que se encuentra la primerapalabra incorrecta.
language idioma en el que se preparará el vocabulario, independientemente del idioma por defectoestablecido en el canal. El vocabulario se preparará en la configuración de reconocimientoespecificada mediante la función vox_asr_init o bien mediante la función vox_setparm(parámetro VXCH_DEFASRCFG).
LNG_SPANISH Español castellano
LNG_CATALAN Catalán
LNG_BASQUE Euskera
LNG_GALICIAN Gallego
LNG_PORTUGUESE Portugués
LNG_PORTUGUESE_BRAZILIAN Portugués brasileño
LNG_FRENCH Francés
LNG_ENGLISH Inglés
LNG_SPANISH_MEXICAN Español mexicano
LNG_SPANISH_ARGENTINIAN Español argentino
LNG_SPANISH_COLOMBIAN Español colombiano
LNG_SPANISH_CHILEAN Español chileno
LNG_SPANISH_VENEZUELAN Español venezolano
41.3. Precauciones
La configuración de reconocimiento activa en el momento de cargar la gramática debe ser la misma que laexistente en el momento de su preparación. En caso contrario, aparecerá el error THE VOCABULARYCONTAINS AN INVALID WORD. Check and correct invalid words.
41.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funcionesATVOX_LASTERR(-1) y ATVOX_ERRMSGP(-1) obtendrá alguno de los siguientes motivos de error:
EVX_NOMEM OUT OF MEMORY.
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID. Check the vocabulary filename and path writing permission.
EVX_PARSER ABNF PARSER ERROR. Check the ABNF grammar syntax.
EVX_INVWORD THE VOCABULARY CONTAINS AN INVALID WORD. Check and correctinvalid words.
EVX_SYSTEM SYSTEM ERROR. Check errno.
41.5. Elementos relacionados
Capítulo 2. Descripción de las funciones
62 Referencia de las funciones del Library SDK Verbio Technologies
vox_prevcb, vox_prevcbex, vox_prevcbex2, vox_chkwrd, vox_setvcb, vox_loadvcb
41.6. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 63
42. vox_prevcbex
FUNCION int vox_prevcbex(const char *filename, unsigned int mode, int *lpiword)
const char *filename puntero al nombre del fichero que contiene el vocabulario o lagramática ABNF a preparar
unsigned int mode vocabulario convencional (lista de palabras) o gramáticaABNF
int *lpiword puntero que almacenará la línea errónea del fichero en caso deerror
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
42.1. Descripción
Sin especificar el modo GVX_ABNF (vocabulario convencional), la función vox_prevcbex() realiza latranscripción fonética del contenido del fichero, almacenándola en un nuevo fichero binario con el mismonombre que el del vocabulario pero con extensión ".trc". Esta función es independiente del canal y debeutilizarse una vez para cada vocabulario aunque éste se utilice en distintos canales (sí es necesario invocar denuevo a la función cuando se modifica dinámicamente el contenido del vocabulario).
Cuando se especifica el modo GVX_ABNF (gramática ABNF), la función vox_prevcbex() compila la gramáticaespecificada. El resultado de la compilación se almacena en un nuevo fichero de texto con el mismo nombre quela gramática pero con extensión ".trx" (conteniendo el vocabulario de la gramática) y en un nuevo fichero detexto con extensión ".grm" (conteniendo los estados de la gramática). También se realiza la trancripciónfonética que se almacena en un nuevo fichero binario con el mismo nombre que el de la gramática pero conextensión ".trc". Esta función es independiente del canal y debe utilizarse una vez para cada gramáticaaunque ésta se utilice en distintos canales (sí es necesario invocar de nuevo a la función cuando se modificadinámicamente el contenido de la gramática). En caso que deba preparar gramáticas dinámicas en distintoscanales, debe utilizarse la función vox_prevcbdev para evitar conflictos entre ellos.
El vocabulario se preparará en el idioma y configuración de reconocimiento especificados mediante la funciónvox_asr_init o bien mediante la función vox_setparm (parámetros VXCH_DEFASRCFG y VXCH_DEFASRLNG). Únicamente el idioma puede especificarse independientemente usando la función vox_prevcbex2.
42.2. Descripción de los parámetros
filename puntero al nombre del fichero que contiene el vocabulario (cada línea constituye unapalabra del vocabulario formada por una o más palabras) o la gramática ABNF.
mode especifica si se trata de una gramática ABNF.
GVX_ABNF gramática ABNF
lpiword en caso de error, este puntero contendrá la línea del fichero en la que se encuentra la primerapalabra incorrecta.
42.3. Precauciones
Capítulo 2. Descripción de las funciones
64 Referencia de las funciones del Library SDK Verbio Technologies
La función vovx_prevcbex() preparará el vocabulario en el idioma por defecto presente en el canal (exceptoaquellas palabras que incorporen el identificador del idioma). Si desea especificarse un idioma distinto, deberáutilizarse la función vox_prevcbex2().
La configuración de reconocimiento activa en el momento de cargar la gramática debe ser la misma que laexistente en el momento de su preparación. En caso contrario, aparecerá el error THE VOCABULARYCONTAINS AN INVALID WORD. Check and correct invalid words.
42.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funcionesATVOX_LASTERR(-1) y ATVOX_ERRMSGP(-1) obtendrá alguno de los siguientes motivos de error:
EVX_NOMEM OUT OF MEMORY.
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID. Check the vocabulary filename and path writing permission.
EVX_PARSER ABNF PARSER ERROR. Check the ABNF grammar syntax.
EVX_INVWORD THE VOCABULARY CONTAINS AN INVALID WORD. Check and correctinvalid words.
EVX_SYSTEM SYSTEM ERROR. Check errno.
42.5. Elementos relacionados
vox_prevcb, vox_prevcbex2, vox_prevcbdev, vox_chkwrd, vox_setvcb, vox_loadvcb
42.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 65
43. vox_prevcbex2
FUNCION int vox_prevcbex2(const char *filename, unsigned int mode, int *lpiword, constchar *language)
const char *filename puntero al nombre del fichero que contiene el vocabulario o lagramática ABNF a preparar
unsigned int mode vocabulario convencional (lista de palabras) o gramáticaABNF
int *lpiword puntero que almacenará la línea errónea del fichero en caso deerror
const char *language idioma en el que se preparará el vocabulario
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
43.1. Descripción
Sin especificar el modo GVX_ABNF (vocabulario convencional), la función vox_prevcbex2() realiza latranscripción fonética del contenido del fichero, almacenándola en un nuevo fichero binario con el mismonombre que el del vocabulario pero con extensión ".trc". Esta función es independiente del canal y debeutilizarse una vez para cada vocabulario aunque éste se utilice en distintos canales (sí es necesario invocar denuevo a la función cuando se modifica dinámicamente el contenido del vocabulario).
Cuando se especifica el modo GVX_ABNF (gramática ABNF), la función vox_prevcbex2() compila la gramáticaespecificada. El resultado de la compilación se almacena en un nuevo fichero de texto con el mismo nombre quela gramática pero con extensión ".trx" (conteniendo el vocabulario de la gramática) y en un nuevo fichero detexto con extensión ".grm" (conteniendo los estados de la gramática). También se realiza la trancripciónfonética que se almacena en un nuevo fichero binario con el mismo nombre que el de la gramática pero conextensión ".trc". Esta función es independiente del canal y debe utilizarse una vez para cada gramáticaaunque ésta se utilice en distintos canales (sí es necesario invocar de nuevo a la función cuando se modificadinámicamente el contenido de la gramática). En caso que deba preparar gramáticas dinámicas en distintoscanales, debe utilizarse la función vox_prevcbdev para evitar conflictos entre ellos.
43.2. Descripción de los parámetros
filename puntero al nombre del fichero que contiene el vocabulario (cada línea constituye unapalabra del vocabulario formada por una o más palabras) o la gramática ABNF.
mode especifica si se trata de una gramática ABNF.
GVX_ABNF gramática ABNF
lpiword en caso de error, este puntero contendrá la línea del fichero en la que se encuentra la primerapalabra incorrecta.
language idioma en el que se preparará el vocabulario, independientemente del idioma por defectoestablecido en el canal. El vocabulario se preparará en la configuración de reconocimientoespecificada mediante la función vox_asr_init o bien mediante la función vox_setparm(parámetro VXCH_DEFASRCFG).
Capítulo 2. Descripción de las funciones
66 Referencia de las funciones del Library SDK Verbio Technologies
LNG_SPANISH Español castellano
LNG_CATALAN Catalán
LNG_BASQUE Euskera
LNG_GALICIAN Gallego
LNG_PORTUGUESE Portugués
LNG_PORTUGUESE_BRAZILIAN Portugués brasileño
LNG_FRENCH Francés
LNG_ENGLISH Inglés
LNG_SPANISH_MEXICAN Español mexicano
LNG_SPANISH_ARGENTINIAN Español argentino
LNG_SPANISH_COLOMBIAN Español colombiano
LNG_SPANISH_CHILEAN Español chileno
LNG_SPANISH_VENEZUELAN Español venezolano
43.3. Precauciones
La configuración de reconocimiento activa en el momento de cargar la gramática debe ser la misma que laexistente en el momento de su preparación. En caso contrario, aparecerá el error THE VOCABULARYCONTAINS AN INVALID WORD. Check and correct invalid words.
Esta función está indicada para permitir preparar vocabularios y gramáticas en distintos idiomas de laconfiguración de reconocimiento activa en el motor. En caso de que se desee utilizar un idioma no contenido enla configuración activa, es necesario activarla primero mediante la función vox_setparm (parámetroVXCH_DEFASRCFG). Por ejemplo, en caso de que esté cargada la configuración multilingüeCFG_SPANISH_CATALAN, pueden prepararse gramáticas en ambos idiomas utilizando esta función sinnecesidad de cambiar la configuración ni de idioma por defecto mediante la función vox_setparm (parámetroVXCH_DEFASRLANG).
43.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funcionesATVOX_LASTERR(-1) y ATVOX_ERRMSGP(-1) obtendrá alguno de los siguientes motivos de error:
EVX_NOMEM OUT OF MEMORY.
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID. Check the vocabulary filename and path writing permission.
EVX_PARSER ABNF PARSER ERROR. Check the ABNF grammar syntax.
EVX_INVWORD THE VOCABULARY CONTAINS AN INVALID WORD. Check and correctinvalid words.
EVX_SYSTEM SYSTEM ERROR. Check errno.
43.5. Elementos relacionados
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 67
vox_prevcb, vox_prevcbex, vox_prevcbdev, vox_chkwrd, vox_setvcb, vox_loadvcb
43.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
68 Referencia de las funciones del Library SDK Verbio Technologies
44. vox_reccfg_release
FUNCION int vox_reccfg_release(int chdev, const char * cfg)
int chdev descriptor de un canal válido
const char* cfg configuración de la que se desea liberar una licencia o 0 paralicencia de motor ASR
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
44.1. Descripción
La función vox_reccfg_release() libera un recurso (licencia) de reconocimiento del habla reservado mediante lafunción vox_reccfg_wait() en el canal especificado. De este modo, otras peticiones de licencias pendientespodrán ser atendidas por el recurso liberado.
44.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
cfg Especifica el tipo de licencia de reconocimiento que debe liberarse. Los posibles valores son:
NULL o 0 Libera una licencia de motor dereconocimiento
CFG_SPANISH Español castellano
CFG_SPANISH_CATALAN Español castellano + catalán
CFG_SPANISH_BASQUE Español castellano + euskera
CFG_SPANISH_GALICIAN Español castellano + gallego
CFG_SPANISH_CATALAN_BASQUE_GALICIAN Español castellano + catalán +euskera + gallego
CFG_PORTUGUESE Portugués
CFG_PORTUGUESE_BRAZILIAN Portugués brasileño
CFG_SPANISH_MEXICAN Español mexicano
CFG_SPANISH_ARGENTINIAN Español argentino
CFG_SPANISH_CHILEAN Español chileno
CFG_SPANISH_VENEZUELAN Español venezolano
CFG_SPANISH_COLOMBIAN Español colombiano
CFG_FRENCH Francés
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 69
CFG_ENGLISH US English
44.3. Elementos relacionados
vox_reccfg_wait, vox_playstr_release, vox_playstr_wait
44.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
70 Referencia de las funciones del Library SDK Verbio Technologies
45. vox_reccfg_wait
FUNCION int vox_reccfg_wait(int chdev, int ms, const char * cfg)
int chdev descriptor de un canal válido
int ms tiempo máximo de espera para obtener un recurso (enmilisegundos)
const char* cfg configuración de la que se desea reservar una licencia o 0 paralicencia de motor ASR
RETORNA 0 si el resultado es satisfactorio
-1 en caso de no poder obtener una licencia en el tiempo especificado
INCLUDES voxlib.h
MODO síncrono
45.1. Descripción
La función vox_reccfg_wait() es muy útil para controlar que, en el momento de requerir una licencia dereconocimiento (ya sea de motor o de configuración), se dispondrá de una, evitándose de este modo el error enlas funciones invocadas. En la Guía del Usuario se detallan los momentos en los que se consume unalicencia aunque, a grandes rasgos, podría resumirse del siguiente modo:
1. Las licencias de motor se consumen durante el procesado de las muestras con la finalidad de obtener lapalabra o palabras del vocabulario reconocidas. Por norma general, el intervalo de uso de este tipo de licenciases pequeño.
2. Las licencias de configuración se empiezan a consumir desde que se establece un vocabulario en un canal o semanipula algún parámetro relacionado con el reconocimiento en un canal (NBEST, ACTIVE_NBEST,KLENGTH, GRMWEIGHT, GRMCONSTANT, RECMODE, DEACTWORD y ACTWORD ) hasta que secambia a otra configuración o se libera la licencia con la función miembro vox_reccfg_release(). Lógicamente,el tiempo de uso de estas licencias es superior al de las licencias de motor (el vocabulario debe haberseestablecido con anterioridad y no puede liberarse hasta finalizado el reconocimiento), llegando incluso (según laprogramación) a estar ocupadas durante gran parte de la ejecución.
En aquellos entornos que dispongan de tantas licencias como líneas atendidas, no es necesario tomar ningún tipode precaución, de modo que el uso de estas funciones no aporta ninguna ventaja. Sin embargo, para evitarerrores de funcionamiento debidos a falta de licencia en momentos puntuales en aquellos entornos que atiendanmás líneas que licencias disponen, sí es muy aconsejable tener la precaución de reservar con antelación unalicencia de motor y/o de configuración. De este modo, si no se obtiene la licencia en el momento deseado, sepodrá mantener al usuario a la espera de forma controlada (por ejemplo, haciendo sonar música ambiental hastaque se disponga del recurso).
La función vox_reccfg_wait() reserva un recurso (licencia) de reconocimiento del habla para el canalespecificado hasta que se libere mediante la función vox_reccfg_release(). La función espera un máximo de msmilisegundos la disponibilidad de un recurso, transcurridos los cuales devuelve un error.
45.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
ms tiempo máximo de espera, en milisegundos, para obtener un recurso (licencia) de reconocimientodel habla para el canal especificado.
cfg Especifica el tipo de licencia de reconocimiento que debe reservarse. Los posibles valores son:
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 71
NULL o 0 Reserva una licencia de motor dereconocimiento
CFG_SPANISH Español castellano
CFG_SPANISH_CATALAN Español castellano + catalán
CFG_SPANISH_BASQUE Español castellano + euskera
CFG_SPANISH_GALICIAN Español castellano + gallego
CFG_SPANISH_CATALAN_BASQUE_GALICIAN Español castellano + catalán +euskera + gallego
CFG_PORTUGUESE Portugués
CFG_PORTUGUESE_BRAZILIAN Portugués brasileño
CFG_SPANISH_MEXICAN Español mexicano
CFG_SPANISH_ARGENTINIAN Español argentino
CFG_SPANISH_CHILEAN Español chileno
CFG_SPANISH_VENEZUELAN Español venezolano
CFG_SPANISH_COLOMBIAN Español colombiano
CFG_FRENCH Francés
CFG_ENGLISH US English
45.3. Precauciones
A pesar de que no es necesario este control de acceso a las licencias, su práctica es altamente recomendable enaquellos entornos en los que se sobreexplotan las licencias de reconocimiento para evitar errores dereconocimiento indeseados debidos a la falta de licencias disponibles en un momento puntual.
Una vez finalizada la petición de reconocimiento, debe liberarse inmediatamente la licencia mediante la funciónvox_reccfg_release para permitir que peticiones que están esperando en cola puedan ser procesadasrápidamente.
Atención
Cuando se reserva licencia para una configuración, automáticamente se descarga la configuraciónanterior activa hasta ese momento.
45.4. Elementos relacionados
vox_reccfg_release, vox_playstr_wait, vox_playstr_release
45.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
72 Referencia de las funciones del Library SDK Verbio Technologies
46. vox_recind
FUNCION int vox_recind(int chdev, int maxind, int *index, float *score, unsigned intmode)
int chdev descriptor de un canal válido
int maxind número máximo de palabras del vocabularioconectadas o de palabras de la gramática
int *index vector de enteros en el que se recibirán los índices de laspalabras reconocidas
float *score vector de float en el que se recibirán los índices deconfianza de las palabras reconocidas
unsigned int mode por compatibilidad con versiones anteriores, úsese 0
RETORNA >=0 para indicar la cantidad de palabras reconocidas
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
46.1. Descripción
La función vox_recind() debe ser llamada al finalizar las funciones vox_recstr() o vox_recstr_open() paraobtener los índices y niveles de confianza de las palabras reconocidas.
Si el número de palabras reconocidas es cero, index[0] contiene uno de los siguientes índices especiales:
IND_NOVOICE No se ha detectado voz.
IND_NOWORD No se ha reconocido ninguna palabra del vocabulario ni de la gramática.
IND_EARLY_START No se ha detectado silencio inicial.
46.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
maxind especifica el número máximo de palabras del vocabulario conectadas o palabras de lagramática que pueden reconocerse. En reconocimiento de palabras aisladas, el valor de estaparámetro debe fijarse a 1.
index puntero a un vector de enteros que recibirá los índices de las palabras reconocidas. El tamaño deeste vector debe ser mayor o igual a maxind.
score puntero a un vector de float que recibirá los niveles de confianza de las palabras reconocidas.El nivel de confianza de cada índice proporciona una medida de fiabilidad del reconocimiento,que puede ser utilizada para rechazar o pedir confirmación de las palabras reconocidas. Eltamaño de este vector debe ser mayor o igual a maxind.
mode por compatibilidad con versiones anteriores, úsese 0
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 73
46.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_NORECSTR NO RECOGNITION. Use vox_recstr() to start recognition.
46.4. Elementos relacionados
vox_recstr, vox_recstr_open, vox_nbest
46.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
74 Referencia de las funciones del Library SDK Verbio Technologies
47. vox_recstr
FUNCION int vox_recstr(int chdev, const char *filename, VX_RSP *rspp, unsigned intmode)
int chdev descriptor de un canal válido
const char *filename vector ASCIIZ con el nombre del fichero que contiene lasmuestras de voz a reconocer
VX_RSP *rspp puntero a una estructura del tipo Recognition StringParameter
unsigned int mode formato de las muestras de audio
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
47.1. Descripción
La función vox_recstr() inicia el reconocimiento de la señal de voz almacenada en el fichero. La funciónvox_recstr() acepta condiciones de terminación adicionales especificadas mediante la estructura VX_RSPpasada como parámetro.
Una vez invocada la función vox_recstr(), el proceso de reconocimiento continua hasta que se cumpla algunade las condiciones de terminación establecidas mediante la estructura VX_RSP.
El formato del fichero que contiene las muestras de voz debe ser PCM lineal, Ley A o Ley Mu, 8 KHzy sin control automático de ganancia.
47.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
filename vector ASCIIZ con el nombre del fichero que contiene las muestras de voz a reconocer
rspp puntero a una estructura de tipo String Parameter Structure (VX_RSP) en la quese especifican condiciones adicionales de terminación del proceso de reconocimiento. Si elvalor de este parámetro es NULL se utilizarán los valores por defecto de los campos de laestructura. Para más información acerca de esta estructura, consulte el Capítulo 3.Estructuras de datos y parámetros.
mode especifica el formato de las muestras de audio del fichero.
MC_ALAW Muestras de audio en formato de Ley A (8 bits, 8 KHz)
MC_MULAW Muestras de audio en formato de Ley Mu (8 bits, 8 KHz)
MC_LIN16 Muestras de audio en formato lineal (16 bits, 8 KHz). (valor pordefecto)
47.3. Precauciones
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 75
La función vox_setvcb() (o vox_loadvcb() + vox_activatevcb()) debe ser llamada previamente a la funciónvox_recstr() para establecer el vocabulario o gramática activo.
La estructura VX_RSP utilizada como argumento de la función vox_recstr() debe ser inicializada a sus valorespor defecto mediante la función vox_clrrsp() antes de modificar los valores de sus campos.
47.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_SYSTEM SYSTEM ERROR. Check errno.
EVX_NOSETVCB NO ACTIVE VOCABULARY. Use vox_setvcb() to set the active vocabulary.
47.5. Elementos relacionados
vox_recstrm
Capítulo 2. Descripción de las funciones
76 Referencia de las funciones del Library SDK Verbio Technologies
48. vox_recstrm
FUNCION int vox_recstrm(int chdev, void *samp, int nsamp, VX_RSP *rspp, unsigned intmode)
int chdev descriptor de un canal válido
void *samp vector que contiene las muestras de voz a reconocer
int nsamp tamaño del vector de muestras
VX_RSP *rspp puntero a una estructura del tipo Recognition StringParameter
unsigned int mode formato de las muestras de audio
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
48.1. Descripción
La función vox_recstrm() inicia el reconocimiento de la señal de voz almacenada en memoria. La funciónvox_recstrm() acepta condiciones de terminación adicionales especificadas mediante la estructura VX_RSPpasada como parámetro.
Una vez invocada la función vox_recstrm(), el proceso de reconocimiento continua hasta que se cumpla algunade las condiciones de terminación establecidas mediante la estructura VX_RSP.
El formato de las muestras de voz almacenadas en memoria debe ser PCM lineal, Ley A o Ley Mu, 8KHz y sin control automático de ganancia.
48.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
samp vector que contiene las muestras de voz a reconocer
nsamp tamaño del vector de muestras (en bytes).
rspp puntero a una estructura de tipo String Parameter Structure (VX_RSP) en la que seespecifican condiciones adicionales de terminación del proceso de reconocimiento. Si el valor deeste parámetro es NULL se utilizarán los valores por defecto de los campos de la estructura. Paramás información acerca de esta estructura, consulte el Capítulo 3. Estructuras de datos yparámetros.
mode especifica el formato de las muestras de voz almacenadas en memoria.
MC_ALAW Muestras de audio en formato de Ley A (8 bits, 8 KHz)
MC_MULAW Muestras de audio en formato de Ley Mu (8 bits, 8 KHz)
MC_LIN16 Muestras de audio en formato lineal (16 bits, 8 KHz). (valor por defecto)
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 77
48.3. Precauciones
La función vox_setvcb() (o vox_loadvcb() + vox_activatevcb()) debe ser llamada previamente a la funciónvox_recstrm() para establecer el vocabulario o gramática activo.
La estructura VX_RSP utilizada como argumento de la función vox_recstrm() debe ser inicializada a susvalores por defecto mediante la función vox_clrrsp() antes de modificar los valores de sus campos.
48.4. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá alguno de los siguientes motivos de error:
EVX_SYSTEM SYSTEM ERROR. Check errno.
EVX_NOSETVCB NO ACTIVE VOCABULARY. Use vox_setvcb() to set the active vocabulary.
48.5. Elementos relacionados
vox_recstr
48.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
78 Referencia de las funciones del Library SDK Verbio Technologies
49. vox_recstr_close
FUNCION int vox_recstr_close(int chdev, int recdev)
int chdev descriptor de un canal válido
int recdev descriptor de grabación válido
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
49.1. Descripción
La función vox_recstr_close() cierra el descriptor de grabación abierto mediante la función vox_recstr_open ylibera los recursos utilizados durante el proceso de reconocimiento.
49.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
recdev especifica el descriptor de grabación válido obtenido mediante la función vox_recstr_open.
49.3. Elementos relacionados
vox_recstr_open, vox_recstr_write
49.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 79
50. vox_recstr_open
FUNCION int vox_recstr_open(int chdev, VX_RSP *rspp, unsigned int mode)
int chdev descriptor de un canal válido
VX_RSP *rspp puntero a una estructura del tipo Recognition StringParameter
unsigned int mode formato de las muestras (Ley A o Ley Mu)
RETORNA != -1 para indicar el descriptor de grabación
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
50.1. Descripción
La función vox_recstr_open() inicializa el servidor de reconocimiento en el canal especificado, de modo queesté preparado para empezar a recibir las muestras de audio mediante la función vox_recstr_write(). El valordevuelto por la función es requerido por las funciones vox_recstr_write() y vox_recstr_close().
50.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
rspp puntero a una estructura de tipo String Parameter Structure (VX_RSP) en la que seespecifican condiciones adicionales de terminación del proceso de reconocimiento. Si el valor deeste parámetro es NULL se utilizarán los valores por defecto de los campos de la estructura. Paramás información acerca de esta estructura, consulte Capítulo 3. Estructuras de datos y parámetros.
mode especifica el formato de las muestras de audio pasadas al reconocedor.
MC_ALAW formato PCM (Ley A) a 8 KHz.
MC_MULAW formato PCM (Ley Mu) a 8 KHz.
50.3. Precauciones
Una vez finalizado el reconocimiento, es imprescindible invocar a la función vox_recstr_close para liberar losrecursos de memoria utilizados durante el proceso de reconocimiento.
50.4. Elementos relacionados
vox_recstr_write, vox_recstr_close
50.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
80 Referencia de las funciones del Library SDK Verbio Technologies
51. vox_recstr_release
FUNCION int vox_recstr_release(int chdev)
int chdev descriptor de un canal válido
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
51.1. Descripción
La función vox_recstr_release() libera un recurso (licencia) de reconocimiento del habla reservado mediante lafunción vox_recstr_wait() en el canal especificado.
Esta función se incluye por compatibilidad con versiones anteriores, aunque debería caer en desuso. Para nuevosdesarrollos es aconsejable utilizar la función vox_reccfg_release.
51.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
51.3. Elementos relacionados
vox_recstr_wait, vox_reccfg_wait, vox_reccfg_release, vox_getusedasrlic, vox_playstr_release,vox_playstr_wait
51.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 81
52. vox_recstr_wait
FUNCION int vox_recstr_wait(int chdev, int ms)
int chdev descriptor de un canal válido
int ms tiempo máximo de espera para obtener un recurso (en milisegundos)
RETORNA 0 si el resultado es satisfactorio
-1 en caso de no poder obtener un recurso en el tiempo especificado
INCLUDES voxlib.h
MODO síncrono
52.1. Descripción
La función vox_recstr_wait() reserva un recurso (licencia) de reconocimiento del habla para el canalespecificado hasta que se libere mediante la función vox_recstr_release(). La función espera un máximo de msmilisegundos la disponibilidad de un recurso, transcurridos los cuales devuelve un error.
El uso de esta función es aconsejable para gestionar el uso de los recursos (licencias) disponibles. En entornosen los que nunca se producirán más peticiones simultáneas de reconocimiento que licencias disponibles no esnecesario su uso.
Esta función se incluye por compatibilidad con versiones anteriores, aunque debería caer en desuso. Para nuevosdesarrollos es aconsejable utilizar la función vox_reccfg_wait.
52.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
ms tiempo máximo de espera, en milisegundos, para obtener un recurso (licencia) de reconocimientodel habla para el canal especificado.
52.3. Elementos relacionados
vox_recstr_release, vox_reccfg_wait, vox_reccfg_release, vox_getusedasrlic, vox_playstr_wait,vox_playstr_release
52.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
82 Referencia de las funciones del Library SDK Verbio Technologies
53. vox_recstr_write
FUNCION int vox_recstr_write(int recdev, const void *buffer, unsigned int n)
int recdev descriptor de grabación válido
const void *buffer vector en el que se encuentran las muestras de audio que debeprocesar el reconocedor
unsigned int n tamaño del vector de muestras (en bytes)
RETORNA número de muestras procesadas por el motor de reconocimiento
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
53.1. Descripción
La función vox_recstr_write() envía las muestras recibidas hacia el servidor de reconocimiento.
La función retorna un número igual al número de bytes contenidos en el vector de muestras para indicar quetodavía no ha finalizado el proceso de reconocimiento y que, por lo tanto, es necesario seguir invocando a estafunción con nuevas muestras de audio.
La función retorna un número de muestras menor que el tamaño del vector de muestras para indicar que elservidor de reconocimiento ya no acepta más muestras debido a que se ha cumplido alguna de las condicionesde terminación especificadas en la función vox_recstr_open.
53.2. Descripción de los parámetros
recdev especifica el descriptor de grabación válido obtenido mediante la función vox_recstr_open.
buffer vector en el que se encuentran las muestras de audio que debe procesar el reconocedor.
n tamaño del vector de muestras.
53.3. Elementos relacionados
vox_recstr_open, vox_recstr_close
53.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 83
54. vox_RegisterVVICallback
FUNCION int vox_RegisterVVICallback(int chdev, int (*function)(const char*, unsigned long, size_t))
int chdev descriptor de un canal válido
int(*function)(constchar *, unsignedlong, size_t)
función de callback que será invocada cada vez que elmotor de lenguaje estadístico disponga de un nuevo resultado.
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
54.1. Descripción
La función vox_RegisterVVICallback() especifica una función de callback que será la encargada de recibirlos resultados que el motor de lenguaje natural de Verbio vaya generando durante el análisis de las muestras deaudio. Esta función es invocada automáticamente cada vez que el motor de reconocimiento dispone de nuevosresultados.
54.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
int (*function)(constchar *, unsigned long,size_t)
Función de callback encargada de recibir los resultados de reconocimientogenerados por el motor de reconocimiento estadístico.El resultado se entregará enel primer parámetro (const char* en modo texto. El índice de confianza delresultado se entregará en el segundo parámetro. El identificador del canal desde elque se ha definido la función de callback se entregará en el tercer parámetro.
54.3. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
84 Referencia de las funciones del Library SDK Verbio Technologies
55. vox_regsrvclose
FUNCION int vox_regsrvclose(VX_SRVCLOSE function)
VX_SRVCLOSEfunction
función de callback que atenderá el evento de desconexión
RETORNAINCLUDES voxlib.h
MODO síncrono
55.1. Descripción
La función vox_regsrvclose() permite especificar una función (opcional) que será invocada en cuanto se detecteuna desconexión entre el cliente y el servidor de síntesis y/o reconocimiento.
55.2. Descripción de los parámetros
function especifica la función de callback que se invocará en cuanto se produzca una desconexiónentre el cliente y el servidor. La definición de la función es del tipo:
typedef void (*VX_SRVCLOSE) (const char *server)
donde recibirá como parámetro el nombre o dirección IP del servidor con el que se haperdido la comunicación.
55.3. Elementos relacionados
vox_srvclose
55.4. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 85
56. vox_SapiClose
FUNCION int vox_SapiClose(int chdev, HSAPI pmode)
int chdev descriptor de un canal válido
HSAPI pmode descriptor de un motor de síntesis compatible SAPI
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES speech.h
voxlib.h
MODO síncrono
56.1. Descripción
La función vox_SapiClose() cierra un motor de síntesis compatible con SAPI previamente abierto mediante lafunción vox_SapiOpen().
56.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
pmode descriptor de un motor de síntesis compatible SAPI previamente abierto mediante la funciónvox_SapiOpen().
56.3. Elementos relacionados
vox_SapiOpen, vox_SapiSelect
56.4. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
86 Referencia de las funciones del Library SDK Verbio Technologies
57. vox_SapiOpen
FUNCION int vox_SapiOpen(int chdev, TTSMODEINO *TTSModeInfo, HSAPI *pmode,unsigned int mode)
int chdev descriptor de un canal válido
TTSMODEINO*TTSModeInfo
puntero a una estructura del tipo Text-to-SpeechInformation
HSAPI *pmode puntero que recibirá el descriptor del motor de síntesis SAPIabierto
unsigned int mode por compatibilidad con versiones anteriores, úsese 0
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES speech.h
voxlib.h
MODO síncrono
57.1. Descripción
La función vox_SapiOpen() abre el motor de síntesis compatible SAPI que mejor se adapta a los requisitosespecificados mediante la estructura TTSMODEINFO en caso de existir.
Una vez finalizada satisfactoriamente la función vox_SapiOpen(), el motor de síntesis abierto puede serseleccionado mediante la función vox_SapiSelect(), especificando el descriptor obtenido. El motor de síntesisdebe ser cerrado mediante la función vox_SapiClose().
57.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
TTSModeInfo puntero a una estructura de tipo Text-to-Speech Mode Information(TTSMODEINFO), que proporciona información detallada acerca del motor desíntesis que desea utilizarse. Si este parámetro es NULL, se seleccionará el motor desíntesis por defecto.
En http://www.microsoft.com/speech podrá obtener más información acerca de estaestructura y del estándar SAPI (Speech API).
pmode puntero que contendrá el descriptor del motor de síntesis seleccionado al término dela función.
mode por compatibilidad con versiones anteriores, úsese 0
57.3. Errores
Si no se encuentra ningún motor de síntesis que se adapte mínimamente a las especificaciones contenidas en laestructura TTSMODEINFO, la función retorna -1 para indicar que se ha producido un error.
57.4. Elementos relacionados
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 87
vox_SapiOpenEx, vox_SapiSelect, vox_SapiClose
57.5. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
88 Referencia de las funciones del Library SDK Verbio Technologies
58. vox_SapiOpenEx
FUNCION int vox_SapiOpenEx(int chdev, PMODEATTRIBUTES ttsattributes, HSAPI*pmode)
int chdev descriptor de un canal válido
PMODEATTRIBUTESttsattributes
puntero a una estructura del tipo MODEATTRIBUTES
HSAPI *pmode puntero que recibirá el descriptor del motor de síntesis SAPIabierto
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES speech.h
voxlib.h
MODO síncrono
58.1. Descripción
La función vox_SapiOpenEx() abre el motor de síntesis compatible SAPI que mejor se adapta a los requisitosespecificados mediante la estructura MODEATTRIBUTES en caso de existir.
Una vez finalizada satisfactoriamente la función vox_SapiOpenEx(), el motor de síntesis abierto puede serseleccionado mediante la función vox_SapiSelect(), especificando el descriptor obtenido. El motor de síntesisdebe ser cerrado mediante la función vox_SapiClose().
58.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
ttsattributes puntero a una estructura de tipo MODEATTRIBUTES que proporcionainformación detallada acerca del motor de síntesis que desea utilizarse. Si esteparámetro es NULL, se seleccionará el motor de síntesis por defecto.
En el Capítulo 3. Estructuras de datos y parámetros podrá obtener másinformación acerca de esta estructura.
pmode puntero que contendrá el descriptor del motor de síntesis seleccionado al términode la función.
58.3. Errores
Si no se encuentra ningún motor de síntesis que se adapte mínimamente a las especificaciones contenidas en laestructura MODEATTRIBUTES, la función retorna -1 para indicar que se ha producido un error.
58.4. Elementos relacionados
vox_SapiOpen, vox_SapiSelect, vox_SapiClose
58.5. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 89
59. vox_SapiSelect
FUNCION int vox_SapiSelect(int chdev, HSAPI pmode)
int chdev descriptor de un canal válido
HSAPI pmode descriptor de un motor de síntesis compatible SAPI
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES speech.h
voxlib.h
MODO síncrono
59.1. Descripción
La función vox_SapiSelect() selecciona el motor de síntesis compatible SAPI abierto previamente mediante lafunción vox_SapiOpen().
Una vez invocada satisfactoriamente la función vox_SapiSelect(), el motor de síntesis compatible SAPIseleccionado estará activo en el canal hasta la siguiente llamada a esta función o a la función vox_SapiClose().
59.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
pmode descriptor de un motor de síntesis compatible SAPI previamente abierto mediante la funciónvox_SapiOpen().
59.3. Errores
Si no existe un motor de síntesis asociado con el descriptor especificado, la función retorna -1 para indicar quese ha producido un error.
59.4. Elementos relacionados
vox_SapiOpen, vox_SapiClose
59.5. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
90 Referencia de las funciones del Library SDK Verbio Technologies
60. vox_SerialNumber
FUNCION const char* vox_SerialNumber(void)
RETORNA Número de serie de Verbio
INCLUDES voxlib.h
MODO síncrono
60.1. Descripción
La función vox_SerialNumber() retorna un puntero a carácter conteniendo el número de serie correspondientea la versión servidor de Verbio.
60.2. Precauciones
El número de serie únicamente está disponible tras el establecimiento de la comunicación entre cliente yservidor mediante alguna de las siguientes funciones: vox_libinit, vox_asr_init o vox_tts_init.
60.3. Elementos relacionados
vox_GetDllVersion
60.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 91
61. vox_SetAbbreviations
FUNCION int vox_SetAbbreviations(int chdev, const char *mcLang, const char*filename)
int chdev descriptor de un canal válido
const char *mcLang especifica el idioma asociado al diccionario personal deabreviaturas
const char *filename puntero al nombre del fichero de texto que contiene lasabreviaturas personalizadas
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
61.1. Descripción
La función vox_SetAbbreviations() establece un conjunto de abreviaturas personalizadas para ser utilizadas porel servidor de síntesis en el canal especificado, pudiendo ser modificadas dinámicamente.
El diccionario de abreviaturas personalizadas se añade al diccionario global de abreviaturas usado por elservidor de síntesis para el idioma especificado.
Para una mayor información, consulte el capítulo de síntesis del habla en Verbio Software Reference:Guía del Usuario.
61.2. Descripción de los parámetros
chdev descriptor de un canal válido.
mclang especifica el idioma asociado con el vocabulario de abreviaturas personalizadas.
LNG_SPANISH Español castellano
LNG_CATALAN Catalán
LNG_BASQUE Euskera
LNG_GALICIAN Gallego
LNG_PORTUGUESE Portugués
LNG_PORTUGUESE_BRAZILIAN Portugués brasileño
LNG_FRENCH Francés
LNG_ENGLISH Inglés
LNG_SPANISH_MEXICAN Español mexicano
LNG_SPANISH_ARGENTINIAN Español argentino
Capítulo 2. Descripción de las funciones
92 Referencia de las funciones del Library SDK Verbio Technologies
filename puntero al nombre del fichero de texto que contiene las abreviaturas personalizadas para elidioma seleccionado.
61.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá el motivo del error.
61.4. Elementos relacionados
vox_SetDictionary
61.5. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 93
62. vox_setcd
FUNCION int vox_setcd(int chdev, unsigned int mode)
int chdev descriptor de un canal válido
unsigned int mode por compatibilidad con versiones anteriores, úsese 0
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
62.1. Descripción
La función vox_setcd() establece el vocabulario de dígitos conectados en el canal especificado.
62.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
mode por compatibilidad con versiones anteriores, úsese 0
62.3. Precauciones
Si se establece el vocabulario o la gramática activa mediante la función vox_setvcb() o vox_setcd(), sedescargarán automáticamente todos los vocabularios y gramáticas cargados hasta ese momento.
62.4. Errores
Si la función retorna -1 indicando que se ha producido un error, la función ATVOX_LASTERR() devolveráalguno de los siguientes motivos:
EVX_NOMEM OUT OF MEMORY
EVX_SYSTEM SYSTEM ERROR. Check errno.
62.5. Elementos relacionados
vox_setvcb, vox_loadvcb, vox_activatevcb, vox_deactivatevcb, vox_unloadvcb, ATVOX_IVCB
Capítulo 2. Descripción de las funciones
94 Referencia de las funciones del Library SDK Verbio Technologies
63. vox_SetDictionary
FUNCION int vox_SetDictionary(int chdev, const char *mcLang, const char *filename)
int chdev descriptor de un canal válido
const char *mcLang especifica el idioma asociado al diccionario personal
const char *filename puntero al nombre del fichero de texto que contiene eldiccionario personalizado
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
63.1. Descripción
La función vox_SetDictionary() establece un diccionario personalizado para ser utilizado por el servidor desíntesis en el canal especificado, pudiendo ser modificado dinámicamente.
El diccionario personalizado se añade al diccionario global usado por el servidor de síntesis para el idiomaespecificado.
Para una mayor información, consulte el capítulo de síntesis del habla en Verbio Software Reference:Guía del Usuario.
63.2. Descripción de los parámetros
chdev descriptor de un canal válido.
mclang especifica el idioma al que afectará el diccionario personalizado.
LNG_SPANISH Español castellano
LNG_CATALAN Catalán
LNG_BASQUE Euskera
LNG_GALICIAN Gallego
LNG_PORTUGUESE Portugués
LNG_PORTUGUESE_BRAZILIAN Portugués brasileño
LNG_FRENCH Francés
LNG_ENGLISH Inglés
LNG_SPANISH_MEXICAN Español mexicano
LNG_SPANISH_ARGENTINIAN Español argentino
filename puntero al nombre del fichero de texto que contiene el diccionario personalizado para elidioma seleccionado.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 95
63.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá el motivo del error.
63.4. Elementos relacionados
vox_SetAbbreviations
63.5. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
96 Referencia de las funciones del Library SDK Verbio Technologies
64. vox_setparm
FUNCION int vox_setparm(int dev, unsigned long parm, void *valuep)
int dev descriptor de un canal válido o -1 para parámetros globales deVERBIO (independientes del canal)
unsigned long parm parámetro del que se desea establecer el valor
void *valuep puntero a la variable en la que se almacena el valor delparámetro a modificar
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
64.1. Descripción
La función vox_setparm() permite modificar los valores de los parámetros globales o dependientes del canal deVERBIO. Esta función puede modificar el valor de un único parámetro en cada invocación.
64.2. Descripción de los parámetros
dev especifica el descriptor de canal válido . Use -1 para establecer el valor de parámetros globalesde VERBIO (independientes del canal).
parm especifica el identificador del parámetro del que se desea modificar el valor por el de la variableapuntada por valuep. Los identificadores de los parámetros pueden consultarse en Capítulo 3.Estructuras de datos y parámetros.
valuep puntero a la variable en la que se almacena el valor del parámetro a modificar.
64.3. Elementos relacionados
vox_getparm
64.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 97
65. vox_setvcb
FUNCION int vox_setvcb(int chdev, const char *filename, unsigned int mode)
int chdev descriptor de un canal válido
const char *filename puntero al nombre del fichero que contiene el vocabulario o lagramática ABNF/DTMF o bien NULL para desactivar todos losvocabularios
unsigned int mode vocabulario convencional (listado de palabras) o gramáticaABNF o DTMF
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
65.1. Descripción
La función vox_setvcb() establece el vocabulario o la gramática ABNF o DTMF especificado en el canalespecificado.
65.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
filename puntero al nombre del fichero que contiene el vocabulario (cada línea constituye unapalabra del vocabulario formada por una o más palabras) o la gramáticaABNF/DTMF.
NULL para desactivar todos los vocabularios y gramáticas cargados hasta ese momento ypara liberar la licencia de idioma asociada al canal.
mode indica el tipo de vocabulario o gramática
GVX_ISOLATED Palabras aisladas. El reconocedor espera reconocer una únicapalabra del vocabulario de este vocabulario.
GVX_CONNECTED Palabras conectadas (valor por defecto). El reconocedorespera reconocer una o más palabras delvocabulario de este vocabulario.
GVX_ABNF gramática ABNF. El reconocedor espera reconocer una o máspalabras de la gramática.
GVX_DTMF gramática DTMF. El reconocedor espera recibir uno o mástonos DTMF.
65.3. Precauciones
Sin la opción GVX_ABNF habilitada, la función vox_setvcb() requiere el fichero de definiciones y el fichero detranscripciones generados mediante la función vox_prevcb() o vox_prevcbex() o vox_prevcbex2() ovox_prevcbdev(). Si estos ficheros existen y el fichero de vocabulario correspondiente no ha sido modificado
Capítulo 2. Descripción de las funciones
98 Referencia de las funciones del Library SDK Verbio Technologies
desde que se llamó a la función vox_prevcb() (o vox_prevcbex() o vox_prevcbex2() o vox_prevcbdev()), noes necesario volver a invocarlas antes de cargar el vocabulario mediante la función vox_setvcb().
Con la opción GVX_ABNF habilitada, la función vox_setvcb() requiere el fichero de estados de la gramática, elfichero de definiciones y el fichero de transcripciones generado mediante la función vox_prevcb() ovox_prevcbex() o vox_prevcbex2() o vox_prevcbdev(). Si estos ficheros existen y la gramática ABNFcorrespondiente no ha sido modificado desde que se llamó a la función vox_prevcb() (o vox_prevcbex()ovox_prevcbex2() o vox_prevcbdev()), no es necesario volver a invocarlas antes de cargar la gramáticamediante la función vox_setvcb().
Con la opción GVX_DTMF la gramática no crea ficheros adicionales resultados de la compilación.
Si se establece el vocabulario o la gramática activa mediante la función vox_setvcb() o vox_setcd(), sedescargarán automáticamente todos los vocabularios y gramáticas cargados hasta ese momento.
La configuración de reconocimiento activa en el momento de cargar la gramática debe ser la misma que laexistente en el momento de su preparación. En caso contrario, aparecerá el error THE VOCABULARYCONTAINS AN INVALID WORD. Check and correct invalid words.
65.4. Errores
Si la función retorna -1 indicando que se ha producido un error, la función ATVOX_LASTERR() devolveráalguno de los siguientes motivos:
EVX_NOMEM OUT OF MEMORY.
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID.
EVX_INVWORD THE VOCABULARY TRANSCRIPTION WAS NOT FOUND.
EVX_SYSTEM SYSTEM ERROR. Check errno.
65.5. Elementos relacionados
vox_setcd, vox_loadvcb, vox_activatevcb, vox_deactivatevcb, vox_unloadvcb, ATVOX_IVCB
65.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 99
66. vox_srvclose
FUNCION void vox_srvclose(const char *server)
const char *server dirección IP del servidor con el que el cliente cierra laconexión
INCLUDES voxlib.h
MODO síncrono
66.1. Descripción
La función vox_srvclose() cierra todas las conexiones con el servidor especificado en la dirección IP.
66.2. Descripción de los parámetros
server especifica la dirección IP del servidor con el que se cerrarán todas las conexiones.
66.3. Elementos relacionados
vox_devclose, vox_thclose, vox_regsrvclose
66.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
100 Referencia de las funciones del Library SDK Verbio Technologies
67. vox_termplaystr
FUNCION int vox_termplaystr(int chdev)
int chdev descriptor de un canal válido
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
67.1. Descripción
La función vox_termplaystr() asegura que todos los eventos recibidos como consecuencia de una llamadaasíncrona a la función vox_playstr() son eliminados de la cola de eventos.
67.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
67.3. Precauciones
Esta función debe ser llamada únicamente cuando la función vox_playstr() se ha invocado asíncronamente.
67.4. Elementos relacionados
vox_playstr
67.5. Códigos de ejemploConsulte el ejemplo asíncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 101
68. vox_termrecstr
FUNCION int vox_termrecstr(int chdev)
int chdev descriptor de un canal válido
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
68.1. Descripción
La función vox_termrecstr() indica el final del reconocimiento iniciado mediante la funciónvox_recstr_open() o mediante la función vox_recstr() invocada asíncronamente.
68.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
68.3. Precauciones
Esta función debe ser llamada únicamente cuando la función vox_recstr() se ha invocado asíncronamente.
68.4. Elementos relacionados
vox_recstr, vox_recstr_open
68.5. Códigos de ejemploConsulte el ejemplo asíncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
102 Referencia de las funciones del Library SDK Verbio Technologies
69. vox_thclose
FUNCION int vox_thclose()
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
69.1. Descripción
La función vox_thclose libera las conexiones con el motor de síntesis y o reconocimiento del habla utilizadaspor el thread (hilo) que la invoca. Por lo tanto, esta función debe invocarse siempre desde cualquier thread(hilo) que haya hecho uso de síntesis o reconocimiento, justo antes del momento de su destrucción. De estemodo, se liberarán los recursos utilizados para establecer la comunicación con los servidores de síntesis y/oreconocimiento del habla.
69.2. Elementos relacionadosvox_libclose, vox_srvclose, vox_devclose
69.3. Códigos de ejemploConsulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 103
70. vox_tts_init
FUNCION int vox_tts_init(const char *configuration, const char *defttslng)
const char*configuration
uso futuro. Debe tener el valor NULL.
const char*defttslng
identificador del idioma de síntesis por defecto
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
70.1. Descripción
La función vox_tts_init() inicializa la librería de síntesis del habla de Verbio. En nuevos desarrollos esrecomendable utilizar esta función (conjuntamente con la función vox_asr_init en caso de que también serequiera reconocimiento del habla) en lugar de la función vox_libinit, puesto que permite indicar al servidor losparámetros de inicialización de una manera mucho más concreta.
70.2. Descripción de los parámetros
configuration parámetro destinado a usos futuros. El valor debe ser fijado a NULL.
defttslng especifica el idioma por defecto con el que trabajará el servidor de síntesis.
LNG_SPANISH Español castellano
LNG_CATALAN Catalán
LNG_BASQUE Euskera
LNG_GALICIAN Gallego
LNG_PORTUGUESE Portugués
LNG_PORTUGUESE_BRAZILIAN Portugués brasileño
LNG_FRENCH Francés
LNG_ENGLISH Inglés
LNG_SPANISH_MEXICAN Español mexicano
LNG_SPANISH_ARGENTINIAN Español argentino
70.3. Precauciones
La función vox_tts_init() debe invocarse antes que ninguna otra de las funciones del Library SDKrelacionadas con la síntesis del habla, a excepción de aquella destinada a establecer el servidor de trabajo pordefecto en configuraciones cliente-servidor (vox_setparm).
70.4. Errores
Capítulo 2. Descripción de las funciones
104 Referencia de las funciones del Library SDK Verbio Technologies
Si la función retorna -1 indicando que se ha producido un error, mediante las funcionesATVOX_LASTERR(-1) y ATVOX_ERRMSGP(-1) obtendrá alguno de los siguientes motivos de error:
EVX_INVSETUP VERBIO INTERNAL ERROR. Files may be corrupted. Check disk and repeatSetup.
EVX_NOMEM OUT OF MEMORY.
EVX_NOLICFILE NO LICENSE FILE WAS FOUND. Run CheckOut to obtain a license file.
EVX_INVLIC THE LICENSE FILE IS NOT VALID. Run CheckOut to obtain a valid licensefile.
EVX_SYSTEM SYSTEM ERROR.Check errno.
70.5. Elementos relacionados
vox_libinit, vox_asr_init, vox_libclose
70.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 105
71. vox_ttsSetAbbreviations
FUNCION int vox_ttsSetAbbreviations(int chdev, int mcLang, const char *filename)
int chdev descriptor de un canal válido
int mcLang especifica el idioma asociado al diccionario personal deabreviaturas
const char *filename puntero al nombre del fichero de texto que contiene lasabreviaturas personalizadas
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
71.1. Descripción
La función vox_ttsSetAbbreviations() establece un conjunto de abreviaturas personalizadas para ser utilizadaspor el servidor de síntesis en el canal especificado, pudiendo ser modificadas dinámicamente.
El diccionario de abreviaturas personalizadas se añade al diccionario global de abreviaturas usado por elservidor de síntesis para el idioma especificado.
Esta función está obsoleta y se mantiene por compatibilidad con desarrollos antiguos. Para nuevos desarrollos,es aconsejable utilizar la función vox_SetAbbreviations.
Para una mayor información, consulte el capítulo de síntesis del habla en Verbio Software Reference:Guía del Usuario.
71.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
mclang especifica el idioma asociado con el vocabulario de abreviaturas personalizadas.
LVX_SPANISH Español
LVX_CATALAN Catalán
filename puntero al nombre del fichero de texto que contiene las abreviaturas personalizadas para elidioma seleccionado.
71.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá el motivo del error.
71.4. Elementos relacionados
vox_ttsSetDictionary
Capítulo 2. Descripción de las funciones
106 Referencia de las funciones del Library SDK Verbio Technologies
71.5. Códigos de ejemploConsulte el ejemplo con barge-in del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 107
72. vox_ttsSetDictionary
FUNCION int vox_ttsSetDictionary(int chdev, int mcLang, const char *filename)
int chdev descriptor de un canal válido
int mcLang especifica el idioma asociado al diccionario personal
const char *filename puntero al nombre del fichero de texto que contiene eldiccionario personalizado
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
72.1. Descripción
La función vox_ttsSetDictionary() establece un diccionario personalizado para ser utilizado por el servidor desíntesis en el canal especificado, pudiendo ser modificado dinámicamente.
El diccionario personalizado se añade al diccionario global usado por el servidor de síntesis para el idiomaespecificado.
Esta función está obsoleta y se mantiene por compatibilidad con desarrollos antiguos. Para nuevos desarrollos,es aconsejable utilizar la función vox_SetDictionary.
Para una mayor información, consulte el capítulo de síntesis del habla en Verbio Software Reference:Guía del Usuario.
72.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
mclang especifica el idioma al que afectará el diccionario personalizado.
LVX_SPANISH Español
LVX_CATALAN Catalán
filename puntero al nombre del fichero de texto que contiene el diccionario personalizado para elidioma seleccionado.
72.3. Errores
Si la función retorna -1 indicando que se ha producido un error, mediante las funciones ATVOX_LASTERR()y ATVOX_ERRMSGP() obtendrá el motivo del error.
72.4. Elementos relacionados
vox_ttsSetAbbreviations
72.5. Códigos de ejemplo
Capítulo 2. Descripción de las funciones
108 Referencia de las funciones del Library SDK Verbio Technologies
Consulte el ejemplo con barge-in del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 109
73. vox_unloadvcb
FUNCION int vox_unloadvcb(int chdev, int vcbhandle, unsigned int mode)
int chdev descriptor de un canal válido
int vcbhandle descriptor de un vocabulario o gramática ABNF previamentecargado
unsigned int mode por compatibilidad con versiones anteriores, úsese 0
RETORNA >=0 indicando el descriptor del vocabulario si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
73.1. Descripción
La función vox_unloadvcb() descarga un vocabulario o gramática ABNF previamente cargado en el canalespecificado. El descriptor del vocabulario se obtiene al cargarlo mediante la función vox_loadvcb() y tambiéndebe usarse para activarlo mediante la función vox_activatevcb() o para descactivarlo mediante la funciónvox_deactivatevcb(). Si el descriptor del vocabulario es -1, la función vox_unloadvcb() descarga todos losvocabularios y gramáticas ABNF cargados previamente.
73.2. Descripción de los parámetros
chdev descriptor de un canal válido
vcbhandle descriptor de un vocabulario o gramática ABNF previamente cargado mediante la funciónvox_loadvcb().
mode por compatibilidad con versiones anteriores, úsese 0
73.3. Precauciones
Si se establece el vocabulario o la gramática activa mediante la función vox_setvcb() o vox_setcd(), sedescargarán automáticamente todos los vocabularios y gramáticas cargados hasta ese momento (equivale ainvocar la función vox_unloadvcb() con el parámetro vcbhandle fijado al valor -1).
73.4. Errores
Si la función retorna -1 indicando que se ha producido un error, la función ATVOX_LASTERR() devolveráalguno de los siguientes motivos:
EVX_NOMEM OUT OF MEMORY
EVX_VCBFILE THE VOCABULARY FILE NAME IS NOT VALID.
EVX_INVWORD THE VOCABULARY TRANSCRIPTION WAS OT FOUND
EVX_SYSTEM SYSTEM ERROR. Check errno.
73.5. Elementos relacionados
Capítulo 2. Descripción de las funciones
110 Referencia de las funciones del Library SDK Verbio Technologies
vox_setvcb, vox_loadvcb, vox_loadcd, vox_activatevcb, vox_deactivatevcb, ATVOX_IVCB
73.6. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 111
74. vox_vsd_close
FUNCION int vox_vsd_close(int chdev, VAD_PARAM* vsddev)
int chdev descriptor de un canal válido
VAD_PARAM*vsddev
descriptor de detección de voz válido
RETORNA 0 si el resultado es satisfactorio
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
74.1. Descripción
La función vox_vsd_close() cierra el desciptor de detección de voz abierto mediante la función vox_vsd_open ylibera los recursos utilizados durante el proceso de detección de voz.
74.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
vsddev especifica el descriptor de detección de voz válido obtenido mediante la función vox_vsd_open.
74.3. Elementos relacionados
vox_vsd_open, vox_vsd_write
74.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
112 Referencia de las funciones del Library SDK Verbio Technologies
75. vox_vsd_open
FUNCION VAD_PARAM* vox_vsd_open(int chdev, int recdev, VAD_PRM *prm, unsignedint mode)
int chdev descriptor de un canal válido
int recdev descriptor del proceso de reconocimiento paralelo en caso deexistir
VAD_PRM *prm puntero a una estructura del tipo Voice ActivityDetection Parameter
unsigned int mode formato de las muestras (Ley A o Ley Mu)
RETORNA != -1 para indicar el descriptor de detección de la voz
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
75.1. Descripción
La función vox_vsd_open() inicializa el detector de voz en el canal especificado, de modo que esté preparadopara empezar a recibir las muestras de audio mediante la función vox_vsd_write(). El valor devuelto por lafunción es requerido por las funciones vox_vsd_write() y vox_vsd_close().
Con la finalidad de reducir el coste computacional en el servidor de reconocimiento, es una práctica aconsejableutilizar el detector de voz en la parte cliente de la aplicación, de modo que únicamente se mandan alreconocedor muestras de voz, liberando a éste de la tarea de separar la señal de voz de la señal supérflua. Paraello, debe obtenerse previamente un descriptor de reconocimiento mediante la función vox_recstr_open, queserá necesario especificar como segundo parámetro de la función vox_vsd_open.
75.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
recdev en caso de lanzar un proceso de reconocimiento utilizando el VAD en el cliente, es necesarioespecificar el descriptor de reconocimiento obtenido mediante la función vox_recstr_open eneste parámetro. De este modo, el servidor de reconocimiento se verá liberado de la tarea deseparar la señal de voz del silencio, reduciéndose así el coste computacional de la parte servidora.En caso de que la estrategia de detección de voz no esté ligada a un proceso de reconocimiento,el valor de este parámetro debe ser 0.
prm puntero a una estructura de tipo Voice Activity Detection Structure (VAD_PRM)en la que se especifican las variables de entorno que condicionarán el comportamiento deldetector de voz. Si el valor de este parámetro es NULL se utilizarán los valores por defecto de loscampos de la estructura. Para más información acerca de esta estructura, consulte el Capítulo 3.Estructuras de datos y parámetros.
mode especifica el formato de las muestras de audio pasadas al detector de voz.
MC_ALAW formato PCM (Ley A) a 8 KHz.
MC_MULAW formato PCM (Ley Mu) a 8 KHz.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 113
75.3. Precauciones
Una vez finalizado el proceso de detección de voz, es imprescindible invocar a la función vox_vsd_close paraliberar los recursos de memoria utilizados durante el proceso de detección.
75.4. Elementos relacionados
vox_vsd_write, vox_vsd_close
75.5. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
114 Referencia de las funciones del Library SDK Verbio Technologies
76. vox_vsd_write
FUNCION int vox_vsd_write(VAD_PARAM* vsddev, const void *buffer, unsigned int n)
VAD_PARAM*vsddev
descriptor de detección de voz válido
const void *buffer vector en el que se encuentran las muestras de audio que debeprocesar el detector de voz
unsigned int n tamaño del vector de muestras (en bytes)
RETORNA estado en el que se encuentra el proceso de detección de voz.
-1 en caso de error
INCLUDES voxlib.h
MODO síncrono
76.1. Descripción
La función vox_vsd_write() envía las muestras recibidas hacia el detector de voz para ser procesadas.
La función retorna el estado en el que se ha quedado el algoritmo de detección de voz después de procesar elbuffer de muestras actual. Para conocer los posibles estados y las transiciones permitidas entre ellos, consulteel Capítulo 3. Estructuras de datos y parámetros. Es posible también especificar una función de callbackque se ejecute al finalizar el procesado de cada bloque de muestras, instante en el cual informará del estadoactual y de otros parámetros de interés. Encontrará más detalles en la definición del campo callback de laestructura VAD_PRM. Los parámetros también pueden consultarse de forma directa e individualmente mediantela función vox_getparm mediante los identificadores VXCH_INITSIL, VXCH_FINALSIL y VXCH_VOICE.Para más detalles, consulte el Capítulo 3. Estructuras de datos y parámetros.
76.2. Descripción de los parámetros
vsddev especifica el descriptor de detección de voz válido obtenido mediante la función vox_vsd_open.
buffer vector en el que se encuentran las muestras de audio que debe procesar el detector de voz.
n tamaño del vector de muestras.
76.3. Elementos relacionados
vox_vsd_open, vox_vsd_close
76.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 115
77. vox_word
FUNCION const char* vox_word(int chdev, int ind)
int chdev descriptor de un canal válido
int ind índice asociado con la palabra del vocabulario o gramática que sedesea obtener
RETORNA puntero a un vector de caracteres con el contenido de la palabra del vocabulario apuntadapor el índice (fila) especificado
puntero a un vector vacío ("") si el índice especificado no es válido
INCLUDES voxlib.h
MODO síncrono
77.1. Descripción
La función vox_word() devuelve un puntero a un vector de caracteres ASCIIZ con el contenido asociado alíndice (fila) especificado del vocabulario o gramática activa en el canal.
77.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
ind índice asociado con la palabra del vocabulario o gramática que se desea obtener. Generalmente, losíndices de interés son aquellos devueltos por la función vox_recind o vox_nbest. En el caso dequerer obtener toda la información posible ofrecida por el servidor de reconocimiento (reglas,valores, locuciones, niveles de confianza e intervalos temporales), debe utilizarse el valorIND_STREAM, en cuyo caso el vector de caracteres ASCIIZ contiene toda la informaciónestructurada siguiendo el formato especificado en Sección 6.
77.3. Elementos relacionados
vox_wordex, vox_wordrule, vox_recstr
77.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
116 Referencia de las funciones del Library SDK Verbio Technologies
78. vox_wordex
FUNCION const char* vox_wordex(int chdev, int ind, int pos)
int chdev descriptor de un canal válido
int ind índice asociado con la palabra del vocabulario o gramática que sedesea obtener
int pos columna del vocabulario de la que se desea obtener el contenido
RETORNA puntero a un vector de caracteres con el contenido de la palabra del vocabulario apuntadapor el índice (fila) y columna especificados
puntero a un vector vacío ("") si el índice o la columna especificados no son válidos
INCLUDES voxlib.h
MODO síncrono
78.1. Descripción
La función vox_wordex() devuelve un puntero a un vector de caracteres ASCIIZ con el contenido asociado alíndice (fila) y columna especificados del vocabulario o gramática activa en el canal .
78.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
ind índice asociado con la palabra del vocabulario o gramática que se desea obtener. Generalmente, losíndices de interés son aquellos devueltos por la función vox_recind o vox_nbest. En el caso dequerer obtener toda la información posible ofrecida por el servidor de reconocimiento (reglas,valores, locuciones, niveles de confianza e intervalos temporales), debe utilizarse el valorIND_STREAM, en cuyo caso el vector de caracteres ASCIIZ contiene toda la informaciónestructurada siguiendo el formato especificado en Sección 6.
pos columna del vocabulario de la que se desea obtener el contenido. Consulte Verbio SoftwareReference: Guía del usuario para más detalles acerca del contenido de cada una de las columnasque constituyen un vocabulario.
78.3. Elementos relacionados
vox_word, vox_wordrule, vox_recstr
78.4. Códigos de ejemploConsulte el ejemplo anexo.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 117
79. vox_wordrule
FUNCION const char* vox_wordrule(int chdev, const char* rule, int pos, float * score)
int chdev descriptor de un canal válido
const char* rule nombre de la regla de la gramática de la que se desea obtenerinformación
int pos tipo de información que se desea obtener de la regla
float* score índice de confianza del resultado asociado a la reglaespecificada
RETORNA NULL en caso de error
array de caracteres con la información solicitada en caso satisfactorio
INCLUDES voxlib.h
MODO síncrono
79.1. Descripción
La función vox_wordrule() permite obtener la información del resultado de reconocimiento desglosado paracada una de las reglas que constituyen la gramática ABNF utilizada en el proceso de reconocimiento. Para ello,es necesario indicar el nombre de la regla del que se desea obtener la información y el tipo de información quese desea: valor, utterance o peso. El ínidice de confianza (score) se devuelve en todos los casos.ConsulteVerbio Software Reference: Guía del usuario para más detalles acerca del contenido que puede devolverse paracada una de las reglas.
79.2. Descripción de los parámetros
chdev especifica el descriptor de canal válido.
rule nombre completo de la regla del que se desea obtener la información. En caso de reglas de segundonivel o superiores, debe especificarse también las reglas inferiores hasta llegar a la regla de interés.Por ejemplo: "regla1.subregla2.subsubregla3".
pos especifica la información que devolverá la función (junto con el índice de confianza)
0 Valor (value) del resultado de reconocimiento
1 Locución (utterance) del resultado de reconocimiento
2 Peso aplicado a la regla
score índice de confianza del resultado parcial asociado a la regla especificada
79.3. Errores
Si la función retorna 0 (nulo) indicando que se ha producido un error puede ser debido a que se ha especificadoun nombre de regla incorrecto (o de tipo de resultado), o a que dicha regla no ha generado ningún resultado dereconocimiento.
79.4. Elementos relacionados
Capítulo 2. Descripción de las funciones
118 Referencia de las funciones del Library SDK Verbio Technologies
vox_word, vox_wordex
79.5. Códigos de ejemplo
Consulte el ejemplo síncrono del Dialogic SDK.
Capítulo 2. Descripción de las funciones
Verbio Technologies Referencia de las funciones del Library SDK 119
Capítulo 3. Estructuras de datos yparámetros
1. VX_RSP - Recognize String Parameter
La estructura VX_RSP incluye condiciones de terminación y parámetros adicionales para las funcionesvox_recstr() o vox_recstr_open().
El contenido (typedef) de la estructura se muestra a continuación:
typedef struct vx_rsp {/* Maximum silence after voice detection */int maxsil;/* Maximum initial silence (before detecting voice) */int initsil;/* File descriptor */int io_fhandle;/* Ignored initial samples */int skip_samples;/* Callback function */VX_RSP_CALLBACK callback;
} VX_RSP;
donde:
maxsil especifica la duración máxima, en unidades de 10 ms, del silencio final. Una vezdetectada señal de voz, la función vox_recstr() detiene el proceso dereconocimiento si se detecta un intervalo de silencio superior a este valor. (Valorpor defecto: 20).
initsil especifica la duración máxima, en unidades de 10 ms, del silencio inicial. Si antesde detectar señal de voz transcurre un tiempo superior al valor especificado, sedetiene el proceso de reconocimiento. (Valor por defecto: 350).
io_fhandle contiene un descriptor de fichero obtenido mediante la invocación de la funciónfopen(). Si el valor es distinto de -1, la función vox_recstr() grabará la señal deentrada en este fichero. El formato de la grabación está fijado a PCM (ley A o leyMu), con una frecuencia de muestreo de 8 KHz y sin Control Automático deGanancia. (Valor por defecto: -1).
skip_samples número de muestras iniciales que serán ignoradas por el reconocedor. Esespecialmente útil en aquellos casos en los que las muestras proceden de unfichero de audio con cabecera, debido a la necesidad de no procesar los primerosbytes, puesto que éstos pertenecen a la cabecera. (Valor por defecto: 0).
callback función que será invocada en cuanto finalice el reconocimiento. Debe seguir lasintaxis int (*VX_RSP_CALLBACK) (int);, en el que el parámetrorecibido (entero) es el descriptor del canal válido. Es especialmente útil cuando seimplementan funcionalidades de barge-in, tal y como se muestra en el ejemploanexo.
Nota
Si no desea grabarse la señal de entrada, el campo io_fhandle debe tener el valor -1. Este es elvalor por defecto establecido mediante la función vox_clrrsp().
Capítulo 3. Estructuras de datos yparámetros
122 Referencia de las funciones del Library SDK Verbio Technologies
2. VAD_PRM - Voice Activity Detection Parameters
La estructura VAD_PRM contiene los parámetros de configuración del detector de voz de Verbio. Estosparámetros condicionarán el comportamiento del VAD durante el procesado de las muestras de audio.
El contenido (typedef) de la estructura se muestra a continuación:
typedef struct {unsigned short frame_len;unsigned short frame_step;float sil_req_ms;float voice_req_ms;float low_factor;float high_factor;float final_factor;float final_high_factor;float max_ref_factor;float min_high_thresh;float aam_min;float aam_max;
int (*callback)(int state, unsigned long initsil, unsigned long finalsil, unsigned long voice);}VAD_PRM;
donde:
frame_len especifica el tamaño, en muestras, de cada uno de los bloques de audio en los quese fragmentará la señal entrante antes de ser procesada. A mayor tamaño delbloque, menor coste computacional pero también menor precisión a la hora deobtenerse el instante en el que se empieza a recibir voz. Por el contrario, a menortamaño, mayor precisión incrementándose por contra el coste computacional. Elvalor por defecto tras la invocación de la función vox_clrvad es de 512.
frame_step especifica el tamaño, en muestras, de la ventana utilizada para el procesado decada uno de los bloques en los que se ha dividido la señal de audio a analizar. Aligual que en el caso del parámetro frame_len, a mayor tamaño menor precisióny coste computacional. Por el contrario, a menor tamaño mayor precisión y costecomputacional. El valor de este parámetro no puede ser nunca superior al deframe_len, siendo habitual que coincidan ambos valores. El valor por defectotras la invocación de la función vox_clrvad es de 512.
sil_req_ms especifica el tiempo de silencio mínimo, en milisegundos, para determinar que seha detectado voz en las muestras anteriores. Intervalos menores de silencio seentenderá que forman parte de la señal de voz previa. En función del uso al quevaya destinado el VAD puede usarse este valor para segmentar la señal enfragmentos de voz más o menos amplios. El valor por defecto tras la invocaciónde la función vox_clrvad es de 180.
voice_req_ms especifica la duración mínima, en milisegundos, de un segmento de voz para queel VAD la detecte como tal. De este modo, se evita que ruidos, etc. puedanocasionar numerosas falsas alarmas. El valor por defecto tras la invocación de lafunción vox_clrvad es de 120.
low_factor especifica un umbral a partir del cual se inicia el procesado de la señal paradeterminar si las muestras siguientes corresponden a voz o no. Por debajo de esteumbral se considera que la señal es de silencio, de modo que en función delentorno (más o menos ruidoso), la modificación de este valor permitirá ajustar ladetección de voz de la manera más precisa posible. El valor por defecto tras lainvocación de la función vox_clrvad es de 2.5.
high_factor especifica un segundo umbral (junto con low_factor) para determinar si laseñal recibida es voz o no. El detector de voz requiere que se superen ambosumbrales para determinar que se ha recibido voz. Su valor debe ser siempresuperior al especificado para low_factor. El valor por defecto tras lainvocación de la función vox_clrvad es de 4.5.
final_factor especifica el umbral que determina si, una vez detectada voz, la señal recibida acontinuación sigue siendo señal de voz o no. Si no lo es, empieza a contar el
Capítulo 3. Estructuras de datos yparámetros
Verbio Technologies Referencia de las funciones del Library SDK 123
tiempo máximo de silencio (sil_req_ms) que puede formar parte de unfragmento de voz. El valor por defecto tras la invocación de la funciónvox_clrvad es de 0.8.
final_high_factor especifica un segundo umbral (junto con final_factor) que gestiona el fin dela detección de voz una vez detectada. Si, una vez detectada voz, el nivel de laseñal es inferior a final_factor i no ha transcurrido el tiempo especificadopor sil_req_ms, puede volverse al estado de voz siempre y cuando el nivel dela señal sea superior al valor especificado para este parámetro. Si ésto ocurre,vuelve a empezar el contador de sil_req_ms. El valor por defecto tras lainvocación de la función vox_clrvad es de 2.5.
max_ref_factor Uso futuro. El valor por defecto tras la invocación de la función vox_clrvad es de0.
min_high_thresh Valor mínimo que puede tener el umbral interno que gestiona la detección de voz.El valor por defecto tras la invocación de la función vox_clrvad es de 500.
aam_min Valor mínimo de la amplitud de la señal a analizar . Si la amplitud de la señal nosupera este valor, a efectos de detección se trabajará con el valor mínimo para esefragmento de sonido. El valor por defecto tras la invocación de la funciónvox_clrvad es de 50.
aam_max Valor máximo de la amplitud de la señal a analizar . Si la amplitud de la señalsupera este valor, a efectos de detección se trabajará con el valor máximo para esefragmento de sonido. El valor por defecto tras la invocación de la funciónvox_clrvad es de 200.
callback
Diagrama de flujo de los estados del detector de voz.
Función de callback que se ejecutará cada vez que se procese un bloque demuestras (de tamaño frame_len). Por defecto no se especifica ninguna funciónde callback, de modo que no se ejecutará ningún código adicional trasprocesarse un bloque de muestras. Los parámetros que recibirá esta funcióncontendrán la siguiente información:
state estado en el que se encuentra el detector de voz en el instanteactual. Los posibles valores son:
VVX_INIT Estado inicial. Únicamente se estáen este estado antes de procesar elprimer bloque de muestras. De ésteestado únicamente puede pasarseal estado VVX_SILENCE y nunca
Capítulo 3. Estructuras de datos yparámetros
124 Referencia de las funciones del Library SDK Verbio Technologies
puede volverse a él.
VVX_SILENCE Estado de silencio. A él se llegadesde el estado inicial o bien desdeel estado VVX_LOW (no se harecibido señal de suficienteamplitud como para pasar alestado VVX_HIGH) o bien desdeel estado VVX_FINAL (laduración de señal de nivel alto noha sido suficiente como paradeterminar que se ha detectadovoz) o bien desde el estadoVVX_VOICE (se ha recibidosuficiente señal de alta amplitudcomo para decidir que se harecibido voz).
Es posible mantenerse en esteestado durante el procesado devarios bloques de muestrasconsecutivos.
VVX_LOW Estado de inicio de detección devoz. Mientras la amplitud de laseñal de audio esté comprendidaentre los dos umbrales de decisión,el estado puede permanecer enVVX_LOW. A él se puede llegardesde el estado VVX_SILENCE(se ha recibido un bloque demuestras de amplitud intermedia)o bien desde el estadoVVX_VOICE (se ha detectado vozen un bloque anterior y el siguienteya empieza con un nivelintermedio de señal sin pasar porel estado de silencio).
Es posible mantenerse en esteestado durante el procesado devarios bloques de muestrasconsecutivos.
VVX_HIGH Estado de nivel alto de energía dela señal. Si se mantiene un tiemposuficiente en este estado, sedecidirá que se ha recibido voz. Aeste estado se puede llegar desde elestado VVX_SILENCE oVVX_LOW (se ha recibido unbloque de muestras de amplitudelevada) o bien desde el estadoVVX_FINAL (se ha pasadopreviamente por este estado perola llegada de bloques con energíaelevada provoca que se vuelva aél) o bien desde el estadoVVX_VOICE (se ha detectado vozen un bloque anterior y el siguienteya empieza con un nivel alto de
Capítulo 3. Estructuras de datos yparámetros
Verbio Technologies Referencia de las funciones del Library SDK 125
señal sin pasar por el estado desilencio ni de nivel intermedio).
Es posible mantenerse en esteestado durante el procesado devarios bloques de muestrasconsecutivos.
VVX_FINAL Estado en el que se decide si haexistido voz en los bloques previoso no. A él se llega exclusivamentedesde el estado VVX_HIGH.Transcurrido el tiempo de guarda,en función del número de bloquesque hayan superado el umbral denivel de señal asociado a voz, sedecidirá que se ha recibido voz (sepasa al estado VVX_VOICE ) ono (se pasa al estadoVVX_SILENCE).
Es posible mantenerse en esteestado durante el procesado devarios bloques de muestrasconsecutivos.
VVX_VOICE Estado al que se llega cuando sedecide que en los bloques previosde señal había muestras de voz. Aeste estado únicamente puedellegarse desde el estadoVVX_FINAL.
initsil cantidad de muestras (de silencio) acumuladas desde el iniciode la locución sin que se haya detectado voz.
finalsil cantidad de muestras (se silencio) acumuladas desde que seprocesó la última trama de voz.
voice número de fragmentos de la locución que contienen muestrasde voz. Cuanto mayor sea el silencio final exigido para dar porfinalizado un fragmento de voz, menor número de fragmentosdeberían aparecer.
Nota
Es imprescindible invocar a la función vox_clrvad para inicializar toda variable del tipo VAD_PRM.
Capítulo 3. Estructuras de datos yparámetros
126 Referencia de las funciones del Library SDK Verbio Technologies
3. ASV_SPKINFO - ASV Speaker Information
La estructura ASV_SPKINFO permite, a través de la función vox_asv_spkinfo(), recibir información relativa aun usuario registrado para verificación automática.
El contenido (typedef) de la estructura se muestra a continuación:
typedef struct {unsigned int num_files;unsigned int files_age;unsigned int speech_ms;
} ASV_SPKINFO;
donde:
num_files especifica el número de ficheros de audio asignados al usuario mediantevox_asv_addfile() o vox_asv_train().
files_age especifica el tiempo transcurrido (en horas) desde que se asignó el último fichero alusuario. Es un indicador de la antiguedad del audio de que dispone el usuario actualmentepara la generación de su huella vocal.
speech_ms especifica la cantidad total (en milisegundos) de voz contenida en los ficheros asignadosal usuario. Es un indicador de la cantidad de audio útil de que dispone el usuarioactualmente para la generación de su huella vocal.
Capítulo 3. Estructuras de datos yparámetros
Verbio Technologies Referencia de las funciones del Library SDK 127
4. MODEATTRIBUTES - SAPI Speaker Id
La estructura MODEATTRIBUTES es utilizada para especificar las características deseadas para un locutorSAPI. Pretende ser un medio más directo que la estructura TTSMODEINFO (Text-to-SpeechInformation) definida en el estandar SAPI. En http://www.microsoft.com/speech podrá obtener másinformación acerca de esta estructura y del estándar SAPI.
Verbio intentará encontrar al locutor que mejor se adapte a las especificaciones, no siendo necesario, por lotanto, rellenarlas todas, aunque la búsqueda será más precisa cuanto más se detallen las características dellocutor deseado.
El contenido (typedef) de la estructura se muestra a continuación:
typedef struct {
char age[SAPI_AGE_SIZE]; //Child, Teen, Adult, Seniorchar gender[SAPI_GENDER_SIZE]; //Male, Femaleunsigned short int language;char name[SAPI_NAME_SIZE];char vendor[SAPI_VENDOR_SIZE];
} MODEATTRIBUTES, *PMODEATTRIBUTES;
donde:
age especifica la edad del locutor deseado. Las posibilidades son:
Child Infantil
Teen Adolescente
Adult Adulto
Senior Tercera edad
gender especifica el sexo del locutor deseado. Las posibilidades son:
Male Masculino
Female Femenino
language identificador análogo al del campo language.LanguageID de la estructuraTTSMODEINFO, que especifica el idioma (y dialecto en algunos casos) del locutor deseado.
name nombre bajo el que se registra el locutor deseado. Suele ser la manera más directa de hacerreferencia a un locutor.
vendor nombre de la empresa que ha desarrollado el locutor deseado.
Capítulo 3. Estructuras de datos yparámetros
128 Referencia de las funciones del Library SDK Verbio Technologies
5. Definición de parámetros para vox_getparm() y vox_setparm()
El fichero voxlib.h contiene los parámetros que pueden ser consultados y modificados mediante lasfunciones vox_getparm() y vox_setparm() respectivamente. Existen parámetros globales (independientes delcanal) y parámetros dependientes del canal.
Tabla 3.1. Parámetros globales en el Library SDK
Define Tipo Lectura(R)/
Escritura(R)
Defecto Descripción
VXGB_RECSTRLIC int R - Licencias de reconocimientodisponibles, i.e., número máximo dellamadas simultáneas a las funcionesvox_recstr() o vox_recstr_open().
VXGB_PLAYSTRLIC int R - Licencias de síntesis disponibles, i.e.,número máximo de llamadas
simultáneas a la función vox_playstr().
VXGB_LICMODE int R - Tipo de licencias, i.e., disponibilidad deidiomas adicionales, Lite (prestacioneslimitadas) o versiones de evaluación.
VXGB_RECSAMPFREQ float R - Frecuencia de muestreo a la que trabajael motor de reconocimiento.
VXGB_VSDMAXREF float R/W 200 Gestión de la amplitud máximapermitida para señal de voz. Condicionael comportamiento del detector de voz(VAD) del motor de reconocimiento.
VXGB_VSDMINREF float R/W 50 Gestión de la amplitud mínimapermitida para señal de voz. Condicionael comportamiento del detector de voz(VAD) del motor de reconocimiento.Para entornos ruidosos, es necesario
incrementar el valor de este parámetropara que el ruido de fondo no se
confunda por señal de voz. El valor deeste parámetro no podrá nunca superarel especificado mediante el parámetro
VXGB_VSDMAXREF.
VXGB_NETTIMEOUT int R/W 5 Intervalo de guarda (en segundos) entrelas comunicaciones cliente-servidor.
Transcurrido este intervalo, se produceun error para indicar que la
comunicación entre el cliente y elservidor se ha perdido. En la fase dedepuración es conveniente poner estevalor a -1 para evitar que se produzcaun error al ejecutarse la aplicación paso
a paso.
VXGB_DEFSERVER char* R/W "127.0.0.1" Nombre o dirección IP del equipo en elque está operativo el servidor de síntesisy/o reconocimiento al que se conecta el
Capítulo 3. Estructuras de datos yparámetros
Verbio Technologies Referencia de las funciones del Library SDK 129
Define Tipo Lectura(R)/
Escritura(R)
Defecto Descripción
cliente. Es necesario especificarlo antesde invocar a la función vox_libinit o
vox_asr_init o vox_tts_init.
VXGB_LOCALADDR char* R - Nombre o dirección IP del equipo en elque está ejecutándose el cliente.
VXGB_TTSSPKINFO char* R - Listado de todos los locutoresdisponibles junto con sus características
principales. El formato del vector decaracteres obtenido es el siguiente(contiene información de todos loslocutores encontrados sin espaciosintermedios): Identificador:
Nombre: Sexo: Edad: Idioma;Identificador2: Nombre2:Sexo2: Edad2: Idioma2; ...
VXGB_TUNNING_ACT int R/W 0 Habilita (1) o deshabilita (0) lagrabación de todas las locuciones
enviadas al reconocedor junto con losresultados de reconocimiento asociados.
Es especialmente últil en la fase depruebas para poder evaluar la calidad dereconocimiento y actuar, si cabe, sobre
las gramáticas o los diálogos paramejorar el rendimiento.
VXGB_TUNNING_DIR char* R/W "" Directorio en el que se almacenarán laslocuciones y los resultados de
reconocimiento si se ha habilitado elparámetro VXGB_TUNNING_ACT.
VXGB_VVI_ARQ char* W - Especifica el modelo estadístico queserá utilizado por la aplicación. Para
ello, el valor del parámetro debe ser elnombre de la arquitectura que contienelos modelos deseados. Para más detalles
acerca de cómo utilizar elreconocimiento basado en modelosestadísticos, consulte los ejemplos ocontacte con [email protected].
VXGB_START_SPK char* R - Permite obtener el listado de locutoresdisponibles en el motor de síntesis paraser utilizados desde la aplicación. Estafunción devuelve los códigos internosde los locutores, separados por comas.Los códigos internos de los locutores
siguen la siguiente nomenclatura:languageNAME (identificador de
idioma en minúscula seguido de dosletras mayúsculas que identifican al
locutor). Para obtener un listadocompleto de los identificadores de
idioma (de 2 o 5 caracteres), consulte lafunción vox_tts_init y el fichero
Capítulo 3. Estructuras de datos yparámetros
130 Referencia de las funciones del Library SDK Verbio Technologies
Define Tipo Lectura(R)/
Escritura(R)
Defecto Descripción
voxlib.h.
VXGB_START_CONF char* R - Permite obtener el listado deconfiguraciones de reconocimiento
disponibles en el motor dereconocimiento para ser utilizadosdesde la aplicación. Esta función
devuelve los códigos internos de lasconfiguraciones, separados por comas.
Los códigos internos de lasconfiguraciones siguen la siguientenomenclatura: LANGUAGE (paraconfiguraciones monolingües) oLANGUAGE-LANGUAGE.... -
LANGUAGE (para configuracionesmultilingües). Para obtener un listado
completo de los identificadores deidioma (de 2 o 5 caracteres), consulte la
función vox_asr_init y el ficherovoxlib.h.
VXGB_START_VIT char* R - Permite obtener el listado arquitecturasque contienen modelos estadísticos
(SLM) disponibles para ser utilizadasdesde el motor de reconocimiento
estadístico. El listado contiene cada unode los identificadores de las
arquitecturas, separados por comas. Elnombre de las arquitecturas es fijado
por el integrador durante laconstrucción de los modelos
estadísticos. Para más detalles acerca decómo utilizar el reconocimiento basado
en modelos estadísticos, consulte losejemplos o contacte [email protected].
VXGB_START_SLM char* R - Permite obtener el listado de modelosestadísticos (SLM) disponibles dentro
de la arquitectura cargada para serutilizadas desde el motor de
reconocimiento estadístico. El listadocontiene cada uno de los identificadoresde los modelos estadísticos, separados
por comas. El nombre de los modelos esfijado por el integrador durante la
construcción de los mismos. Para másdetalles acerca de cómo utilizar el
reconocimiento basado en modelosestadísticos, consulte los ejemplos ocontacte con [email protected].
VXGB_MAXFRAMES int W 2500 Permite definir la longitud máxima de larespuesta ante un proceso de
reconocimiento. El valor son la cantidadde unidades de 20ms permitidas a lo
largo de todo el proceso, de modo que,con el valor por defecto, la longitud
Capítulo 3. Estructuras de datos yparámetros
Verbio Technologies Referencia de las funciones del Library SDK 131
Define Tipo Lectura(R)/
Escritura(R)
Defecto Descripción
máxima de audio (antes de lanzar unnuevo reconocimiento) que puede
procesarse es de 50 segundos. El valorde este parámetro es un entero, de modo
que no debe ser superior a 32767.
Tabla 3.2. Parámetros de canal en el Library SDK
Define Tipo Lectura(R)/
Escritura(R)
Defecto Descripción
VXCH_NBEST int R/W 1 Número máximo de hipótesis generadaspor las funciones de reconocimiento
vox_recstr() y vox_recstr_open(). Esmuy importante tener en cuenta que unamodificación de este parámetro implicatener que volver a cargar y activar todos
los vocabularios y gramáticapreviamente activos. Por lo tanto, esaconsejable fijar este valor desde un
principio al valor máximo de hipótesisque vayan a requerirse durante el
funcionamiento de toda la aplicación y,según las necesidades de cada
momento, ir solicitando más o menoshipótesis mediante la modificación delparámetro VXCH_ACTIVE_NBEST.
VXCH_ACTIVE_NBEST int R/W 1 Número de hipótesis generadas por lasfunciones de reconocimiento
vox_recstr() y vox_recstr_open(). Adiferencia del parámetro
VXCH_NBEST, la modificación de esteparámetro no afecta a los vocabularios ygramáticas activos, sino únicamente a lacantidad de hipótesis devueltas por losmismos. Sí hay que tener en cuenta, sinembargo, que nunca se podrán solicitarmás hipótesis mediante este parámetro
que las especificadas mediante elparámetro VXCH_NBEST.
VXCH_TTSFREQUENCY int R - Frecuencia de muestreo a la que trabajael motor de síntesis.
VXCH_TTSSPEED int R/W - Velocidad de la conversión de texto avoz en palabras por minuto. El valor por
defecto depende de cada locutor.
VXCH_TTSSPKNAME char* R/W - Nombre del locutor de síntesis activo.El valor inicial dependerá de cómo se
haya configurado el servidor de síntesismediante el Verbio Server
Capítulo 3. Estructuras de datos yparámetros
132 Referencia de las funciones del Library SDK Verbio Technologies
Define Tipo Lectura(R)/
Escritura(R)
Defecto Descripción
Configuration Manager. Este mismoconfigurador permite ver el nombre delos locutores asociados a cada uno de
los idiomas disponibles.
VXCH_TTSLNG int R/W - Especifica el idioma de síntesismediante una constante (véase
voxlib.h) que se usará en el próximoproceso de conversión de texto a habla.
Se mantiene por compatibilidad conversiones anteriores. Para nuevosdesarrollos debería utilizarse el
parámetro VXCH_DEFTTSLANG. Elvalor inicial dependerá de cómo se haya
configurado el servidor de síntesismediante el Verbio ServerConfiguration Manager.
VXCH_DEFTTSLANG char* R/W - Especifica el idioma de síntesis enformato texto (véase voxlib.h) que
se usará en el próximo proceso deconversión de texto a habla. En nuevosdesarrollos es la opción recomendadafrente al obsoleto VXCH_TTSLNG. El
valor inicial dependerá de cómo se hayaconfigurado el servidor de síntesis
mediante el Verbio ServerConfiguration Manager.
VXCH_TTSPITCH int R/W - Tono medio de la voz sintetizada. Lasvoces femeninas tienen un tono superiorque el de las voces masculinas. El valor
por defecto depende del locutor.
VXCH_TTSVOLUME int R/W - Volumen de la voz sintetizada. Laamplitud se amplifica
proporcionalmente a la relación entre elnuevo valor y el valor por defecto. Por
lo tanto, la estrategia recomendadaconsiste en consultar el valor actual del
locutor, manipular el valorproporcionalmente para obtener el
volumen deseado y fijarloposteriormente. Se desaconseja puesfijar un valor aleatorio sin conocer el
valor actual de funcionamiento.
VXCH_DEFASRCFG char* R/W - Configuración de reconocimiento pordefecto que se utilizará en cualquier
proceso de reconocimiento hasta que seespecifique lo contrario. El valor inicialdependerá de cómo se haya configuradoel servidor de reconocimiento mediante
el Verbio Server ConfigurationManager.
VXCH_DEFASRLNG char* R/W - Idioma por defecto que usarán lasfunciones vox_prevcb() y
Capítulo 3. Estructuras de datos yparámetros
Verbio Technologies Referencia de las funciones del Library SDK 133
Define Tipo Lectura(R)/
Escritura(R)
Defecto Descripción
vox_prevcbex() para procesar losficheros de vocabulario. El valor inicialdependerá de cómo se haya configuradoel servidor de reconocimiento mediante
el Verbio Server ConfigurationManager.
VXCH_SERVER char* R - Servidor de síntesis y/o reconocimientoal que se conecta el canal (nombre o IP
del equipo). El valor por defectodepende del parámetro
VXGB_DEFSERVER, aunque puedemodificarse con posterioridad para quecada línea pueda especificar su propio
servidor.
VXCH_VOICEDETECTED int R - Indica si se ha detectado voz durante elproceso de reconocimiento (el valor
devuelto en el parámatro es 1).Típicamente la consulta de este
parámetro se realiza entre llamadassucesivas a la función
vox_recstr_write() para conocer elmomento en el que el usuario haempezado a hablar, de modo quepuedan aplicarse, por ejemplo,
estrategias de Barge-in.
VXCH_GRMWEIGHT float R/W 1 Parámetro utilizado para calcular lapenalización que sufre una palabra a lahora de poder ser reconocida. A mayorpenalización, más dificultad para que la
palabra forme parte de la cadenareconocida. La penalización es una
función de tres parámetros: el peso decada palabra especificado en la
gramática (si no se especifica ningunoes 1), el valor de este parámetro y elvalor de VXCH_GRMCONSTANT.
El valor especificado en este parámetrodebe utilizarse cuando se quiera
acentuar la diferencia entre los pesos delas palabras, puesto que la penalizaciónes proporcional a su valor y al peso de
las palabras.
VXCH_GRMCONSTANT float R/W 0 Parámetro utilizado para calcular lapenalización que sufre una palabra a lahora de poder ser reconocida. A mayorpenalización, más dificultad para que la
palabra forme parte de la cadenareconocida. La penalización es una
función de tres parámetros: el peso decada palabra especificado en la
gramática (si no se especifica ningunoes 1), el valor de este parámetro y el
valor de VXCH_GRMWEIGHT.
Capítulo 3. Estructuras de datos yparámetros
134 Referencia de las funciones del Library SDK Verbio Technologies
Define Tipo Lectura(R)/
Escritura(R)
Defecto Descripción
El valor de este parámetro puedeutilizarse para reducir la aparición de
inserciones (aunmentar el valor reducela cantidad de palabras devueltas por elreconocedor) o bien para priorizar las
palabras largas respecto a las másbreves.
VXCH_INITSIL int R - cantidad de muestras (de silencio)acumuladas desde el inicio de la
locución sin que se haya detectado voz,siempre y cuando se estén utilizando las
funciones de detección de actividadvocal vox_vsd_open, vox_vsd_write y
vox_vsd_close
VXCH_FINALSIL int R - cantidad de muestras (de silencio)acumuladas desde que se procesó la
última trama de voz, siempre y cuandose estén utilizando las funciones de
detección de actividad vocalvox_vsd_open, vox_vsd_write y
vox_vsd_close
VXCH_VOICE int R - número de fragmentos de la locuciónque contienen muestras de voz. Cuantomayor sea el silencio final exigido paradar por finalizado un fragmento de voz,menor número de fragmentos deberían
aparecer. Para que esta información estédisponible, deben utilizarse las
funciones de detección de actividadvocal vox_vsd_open, vox_vsd_write y
vox_vsd_close
VXCH_DEACTWORD char* W - permite deshabilitar una regla de unagramática o de todas las gramáticas
activas en un momento determinado. Deeste modo, en entornos en los que se
parta de una gramática compleja que, enbase al diálogo, pueda irse acotando, noes necesario desglosarla en gramáticasmás sencillas a medida que el usuarionavega las opciones, sino que pueden
irse desactivando aquellas reglas que yano aplican en la siguiente posible
respuesta. Con ello se mejora la rapidezy la calidad del reconocimiento sin
apenas coste computacional, puesto queno hay que descargar ni cargar nuevas
gramáticas. El valor del parámetro debeser el nombre de la regla de la gramáticaABNF que debe desactivarse. En caso deque ese nombre pueda estar presentes enotras gramáticas activas en ese instante,puede especificarse el identificador de
la gramática de interés mediante el
Capítulo 3. Estructuras de datos yparámetros
Verbio Technologies Referencia de las funciones del Library SDK 135
Define Tipo Lectura(R)/
Escritura(R)
Defecto Descripción
siguiente formato:nombre_regla#identificador,donde identificador es el valordevuelto por la función vox_setvcb o
vox_activatevcb. Si se desea desactivaresa regla en todas las gramáticas activas
que la contengas, el parámetro debecontener únicamente el nombre de la
regla.
VXCH_ACTWORD char* W - permite habilitar de nuevo una regla deuna gramática o de todas las gramáticasactivas en un momento determinado quehubiera sido desactivada, previamente,
mediante VXCH_DEACTWORD. Elformato del parámetro debe ser idéntico
al especificado en la descripción deVXCH_DEACTWORD.
VXCH_MINTHRESHOLD float R/W 55 Valor que regula el nivel de poda delmotor de reconocimiento. Cuantomayor es el valor, menos descartes
realiza el motor de reconocimiento, porlo que puede afinarse algo más el
resultado de reconocimiento, aunque acosta de un incremento sustancial delcoste computacional. No se aconsejamodificar el valor de este parámetro,salvo consejo del personal de Verbio.
VXCH_MSSPEECH int R - Permite consultar los milisegundos devoz (excluído el silencio) que se han
recibido en el anterior proceso dereconocimiento.
VXCH_RECSAMPLES int R - Permite consultar los milisegundos deaudio que se han recibido en el anterior
proceso de reconocimiento.
Capítulo 3. Estructuras de datos yparámetros
136 Referencia de las funciones del Library SDK Verbio Technologies
6. Obtención de información adicional mediante vox_word ovox_wordex
El servidor de reconocimiento, a parte de la palabra o palabras reconocidas y del nivel de confianza de lasmismas, puede proporcionar más datos que pueden resultar de interés en algunos casos: reglas, valores ,locuciones, niveles de confianza y tiempos. Antes de proceder con la explicación de cada uno de estoselementos, es importante que el lector se familiarice con los aspectos relacionados con los vocabulariosconvencionales y las gramáticas ABNF, que encontrará detallados en Verbio Software Reference: Guía delusuario. A continuación se dará una explicación del significado de cada uno de estos campos para poder haceruso de ellos en caso de considerarse necesario.
Tabla 3.3. Elementos de un vocabulario o gramática ABNF
Elemento Descripción
Regla En vocabularios convencionales no se especifica explícitamente, de modo que se leasignará siempre el valor root.
En gramáticas ABNF las reglas ayudan a diseñar, compartir y clarificar el contenido delas mismas. En el ejemplo siguiente, existen 3 reglas: color (regla principal), rgb ycomp.
Valor Los valores son los items que devuelve el servidor como resultado delreconocimiento.
En vocabularios convencionales suele ser el contenido de la primera columna. En elejemplo inferior, alguno de los posibles valores devueltos son: Comercial o Técnico.
En gramáticas ABNF los valores se especifican entre llaves si difieren de la palabra delvocabulario. En el ejemplo siguiente, alguno de los posibles valores devueltos son:COLOR=R o color pero no rojo porque se le ha asociado explícitamente el valorCOLOR=R.
Locución Las locuciones se corresponden con lo que el usuario realmente ha dicho.
En vocabularios convencionales suele ser el contenido de la segunda columna (si sólohay una columna, valor y locución coinciden). En el ejemplo inferior, alguna de lasposibles locuciones devueltas son: Eduardo Campillo o Asunción Chinea.
En gramáticas ABNF son el texto que no tenga asociado ningún valor vacío {}. En elejemplo siguiente, alguna de las posibles locuciones devueltas son: rojo o color perono COLOR=R (se ha especificado como valor) ni por favor (se le ha asociado el valorvacío {}).
Confianza El nivel de confianza es un valor numérico que indica el grado de fiabilidad que se leda al resultado. A mayor valor, mayor probabilidad de que la secuencia reconocida seala correcta.
Intervalo El intervalo de tiempo en el que se ha pronunciado la locución es otro de los datosofrecidos por el servidor de reconocimiento. Concretamente, proporciona el instantede inicio y el instante de finalización de la locución.
El formato del vector de caracteres ASCIIZ devuelto por las funciones vox_word() o vox_wordex es elsiguiente:
regla:"locución"(confianza,instante_inicial,instante_final)["valor1" "valor2" "..."]
En caso de no tratarse de una gramática ABNF, el nombre de la regla será root. En caso de tratarse de unagramática ABNF con subreglas (no únicamente una regla principal), el formato del vector de caracteres tendrá
Capítulo 3. Estructuras de datos yparámetros
Verbio Technologies Referencia de las funciones del Library SDK 137
un formato parecido al siguiente, en el que cada regla termina en ";" y cada subregla está contenida entrellaves "{}", y en el que debe sustituirse "regla" por todo el texto asociado a cada regla (según se haespecificado en el párrafo anterior).
regla_principal{regla1{regla1_1;regla1_2;};regla2;regla3{regla3_1{regla3_1_1;};};};
La gramática ABNF asociada al ejemplo anterior podría ser parecida a:
#ABNF 1.0 ISO8859-1;root regla_principal = ... $regla1 ... $regla2 ... $regla3;
$regla1 = ... $regla1_1 ... $regla1_2 ...;$regla1_1 = ... ;$regla1_2 = ... ;
$regla2 = ... ;
$regla3 = ... $regla3_1 ... ;$regla3_1 = ... $regla3_1_1 ... ;$regla3_1_1 = ... ;
Vocabulario convencional.
Comercial Eduardo CampilloComercial Asunción ChineaTécnico Marta CuencaAdministración Emilio DobladoAdministración Guillermo EstradaTécnico Sergio Galíndez
Gramática ABNF de múltiples reglas.
#ABNF 1.0 ISO8859-1;$rgb = rojo {COLOR=R} | // se utiliza la palabra "rojo" y devuelve la palabra COLOR=R
verde {COLOR=G} | // se utiliza la palabra "verde" y devuelve la palabra COLOR=Gazul {COLOR=B}; // se utiliza la palabra "verde" y devuelve la palabra COLOR=G
$comp = marino {COMP=D} |osuro {COMP=D} |claro {COMP=L};
root $color = [color | "el color" | el] $rgb [$comp] ["por favor"{}];
Ejemplo 3.1. Información devuelta por el servidor de reconocimiento
Locución dictada: "Eduardo Campillo"
root:"Eduardo Campillo"(158.29,0.50,1.28)["Eduardo Campillo"];
Locución dictada: "El color rojo por favor"
color:"el color rojo"(127.59,0.26,1.00)["el color" "COLOR=R"]{rgb:"rojo"(168.40,0.76,1.00)["COLOR=R"];comp:;};
Locución dictada: "El azul marino"
color:"el azul marino"(185.46,0.56,1.37)["el" "COLOR=B" "COMP=D"]{rgb:"azul"(93.27,0.76,1.00)["COLOR=B"];comp:"marino"(318.19,1.00,1.37)["COMP=D"];};
Capítulo 3. Estructuras de datos yparámetros
138 Referencia de las funciones del Library SDK Verbio Technologies
Capítulo 4. Código de ejemplos enC/C++
NotaEl Apéndice A contiene los ficheros de vocabularios, gramáticas y diccionarios utilizados en losejemplos de esta sección.
1. Ejemplo Síncrono
Ejemplo 4.1. Ejemplo síncrono de Verbio Library
/******************************************************************************* DESCRIPTION: Verbio Synchronous Sample* Copyright (C) 2009 Verbio Technologies********************************************************************************/#include <stdio.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>
#include "voxlib.h"
#define MAXINDEX 32#define MAXFILENAME 160#define MAXTEXT 1024#define CODER MC_MULAW /* MC_ALAW o MC_MULAW o MC_LIN16 */#define SETMODE GVX_ISOLATED /* GVX_CONNECTED o GVX_ISOLATED */#define NEWLINE '\n'#define BUFFER_SIZE 2048#define AUDIO_BUFFER_SIZE 1024
const char* Path = "";const char* RecExt = ".esu";const char* server = NULL;
static int RecStr(int dev, const char *filename, int maxsil);static void vox_error(const char *function, int chdev);static FILE *fplog = NULL;
int nextfile(FILE *fp, char *rec, char *vcb){
char text[MAXTEXT], *p;int ncols = 0;
strcpy(rec,"");strcpy(vcb,"");
if (fgets(text, MAXTEXT, fp) != NULL) {if ((p = strchr(text, NEWLINE)) != NULL)
*p = '\0';
/* Remove comments */if ((p = strchr(text, ';')) != NULL)
*p = '\0';
/* First column */if ((p = strchr(text, '\t')) != NULL) {
*p = '\0';strcpy(rec, text);strcpy(text, p+1);
}else {
strcpy(rec, text);strcpy(text, "");
}ncols++;
/* Second column */if ((p = strchr(text, '\t')) != NULL)
*p = '\0';if (strlen(text) > 0) {
strcpy(vcb, text);ncols++;
}}return ncols;
}
int main(int argc, char *argv[]){
int dev = 0, connected = 0, playdev = -1;int i, n, nind, ncols, mode, error, hHELP;int index[MAXINDEX+1];float score[MAXINDEX+1];char RecFileName[MAXFILENAME];char PathRecFileName[MAXFILENAME];char Text[MAXTEXT];char *VcbFileName = "vdemo.txt";char *ListOfFiles = "vdemo.gui";char *LogFileName = "vdemo.dat";const char* deflng = LNG_SPANISH;const char* configuration = CFG_SPANISH_CATALAN;unsigned long dwfilever, dwprodver;short buffer_in[AUDIO_BUFFER_SIZE];FILE *fp = NULL;int retv = 0;int nASR = 0, nTTS = 0;int volume = 0;int speed = 0;int pitch = 0;
Capítulo 4. Código de ejemplos en C/C++
140 Referencia de las funciones del Library SDK Verbio Technologies
#ifdef _DEBUGint timeout = -1;
#endif
if (argc > 1)VcbFileName = argv[1];
if (argc > 2)ListOfFiles = argv[2];
if (argc > 3)LogFileName = argv[3];
if (argc > 4)deflng = argv[4];
if (argc > 5)configuration = argv[5];
if (argc > 6)server = argv[6];
if ((fplog = fopen(LogFileName, "wt")) == NULL)return 1;
do {#ifdef _DEBUG
vox_setparm(-1, VXGB_NETTIMEOUT, &timeout);#endif
if (server)
vox_setparm(-1, VXGB_DEFSERVER, server);
connected = vox_asr_init(configuration, deflng);
if (connected >= 0)
connected = vox_tts_init(0, deflng);
} while (connected < 0);
// Get Verbio Product Version and Serial Number
vox_GetDllVersion(&dwfilever, &dwprodver);
printf("SAMPLE. Verbio %d.%02d, S/N: %s\n\n", HIWORD(dwprodver), LOWORD(dwprodver), vox_SerialNumber());
// Get number of licenses for vox_recstr
nASR = vox_getasrlic(CFG_SPANISH);printf(" * ASR licenses: %2d\n", nASR);
// Get number of licenses for vox_playstr
nTTS = vox_getttslic(LNG_SPANISH);printf(" * TTS licenses: %2d\n\n", nTTS);
vox_getparm(-1, VXGB_LICMODE, &mode);
if (mode & LIC_ASR_CATALAN) printf(" * ASR Catalan : Yes\n");else printf(" * ASR Catalan : No\n");if (mode & LIC_TTS_CATALAN) printf(" * TTS Catalan : Yes\n");else printf(" * TTS Catalan : No\n");if (mode & LIC_EVALUATION) printf(" * Evaluation\n");if (mode & LIC_LITE) printf(" * Lite\n");
if (nTTS) {// Get volumevox_getparm(dev, VXCH_TTSVOLUME, &volume);printf("TTSVOLUME = %d\n", volume);
// Get speedvox_getparm(dev, VXCH_TTSSPEED, &speed);printf("TTSSPEED = %d\n", speed);
// Get pitchvox_getparm(dev, VXCH_TTSPITCH, &pitch);printf("TTSPITCH = %d\n", pitch);
}
if (nASR) {
if (vox_reccfg_wait(dev, 500, CFG_SPANISH_CATALAN)) {vox_error("vox_reccfg_wait", dev);retv = ATVOX_LASTERR(dev);goto error;
}
if (vox_getusedasrlic() <= 0) {goto error;
}
if (vox_recstr_wait(dev, 500)) {vox_error("vox_recstr_wait", dev);retv = ATVOX_LASTERR(dev);goto error;
}
if (vox_prevcbex("comandos.txt", 0, &error) < 0) {vox_error("vox_prevcbex", dev);retv = error;
Capítulo 4. Código de ejemplos en C/C++
Verbio Technologies Referencia de las funciones del Library SDK 141
goto error;}
if (vox_prevcb(VcbFileName, 0) == -1) {vox_error("vox_prevcb", dev);
retv = ATVOX_LASTERR(-1);goto error;
}
if (vox_unloadvcb(dev, -1, 0) < 0) {vox_error("vox_unloadvcb", dev);retv = ATVOX_LASTERR(-1);goto error;
}
if (vox_setvcb(dev, VcbFileName, SETMODE) < 0) {vox_error("vox_setvcb", dev);retv = ATVOX_LASTERR(dev);goto error;
}
if ((hHELP = vox_loadvcb(dev, "comandos.txt", GVX_ISOLATED)) < 0) {vox_error("vox_loadvcb", dev);
retv = ATVOX_LASTERR(dev);goto error;
}
if (vox_activatevcb(dev, hHELP, 0) < 0) {vox_error("vox_activatevcb", dev);retv = ATVOX_LASTERR(dev);goto error;
}}
if ((fp = fopen(ListOfFiles, "rt")) == NULL) {retv = 2;goto error;
}
strcpy(Text, "");while ((ncols = nextfile(fp, RecFileName, Text)) != 0) {
printf("%s", Text);
fprintf(fplog, "%s", RecFileName);fprintf(fplog, "\t%s", VcbFileName);fprintf(fplog, "\t%s", Text);
strcpy(PathRecFileName, Path);strcat(PathRecFileName, RecFileName);strcat(PathRecFileName, RecExt);
if (RecStr(dev, PathRecFileName, 100) < 0)continue;
if ((nind = vox_recind(dev, MAXINDEX, index, score, 0)) < 0) {vox_error("vox_recind", dev);continue;
}
fprintf(fplog, "\t%d", nind);
strcpy(Text, "");if (nind == 0) {
printf("\t%s", vox_word(dev, index[0]));fprintf(fplog, "\t%s", vox_word(dev, index[0]));
}else {
for (i=0; i<nind; i++) {printf("\t%s\t(%d)", vox_word(dev, index[i]), (int) score[i]);fprintf(fplog, "\t%s\t(%d)", vox_word(dev, index[i]), (int) score[i]);
strcat(Text, vox_wordex(dev, index[i], 0)); strcat(Text, " ");}
if (ATVOX_IVCB(dev) != hHELP) {
if (vox_getusedttslic() <= 0)continue;
if (vox_playstr_wait(dev, 500)) {vox_error("vox_playstr_wait", dev);continue;
}
strcpy(PathRecFileName, Path);strcat(PathRecFileName, RecFileName);strcat(PathRecFileName, "REC");strcat(PathRecFileName, RecExt);
Capítulo 4. Código de ejemplos en C/C++
142 Referencia de las funciones del Library SDK Verbio Technologies
vox_playstr(dev, PathRecFileName, Text, CODER);
if ((playdev = vox_playstr_open(dev, Text, CODER)) < 0) {vox_error("vox_playstr_open", dev);continue;
}
do {
n = vox_playstr_read(playdev, buffer_in, AUDIO_BUFFER_SIZE);if (n > 0) {
//TODO: Process audio samples stored in buffer_in://1. Send to a CTI board channel//2. Send to a PC sound card//3. Store in a file//4. Send to any audio device
}} while (n == AUDIO_BUFFER_SIZE);
if (vox_playstr_close(dev, playdev) < 0) {vox_error("vox_playstr_close", dev);continue;
}
if (vox_playstr_release(dev)) {vox_error("vox_playstr_release", dev);continue;
}}
}
printf("\n");fprintf(fplog, "\n");
}if (fp)
fclose(fp);if (fplog)
fclose(fplog);
error:
vox_recstr_release(dev);
vox_deactivatevcb(dev, hHELP, 0);vox_setvcb(dev, NULL, 0);
vox_reccfg_release(dev, CFG_SPANISH_CATALAN);
vox_srvclose(server);
vox_libclose();return retv;
}
#ifdef _MEM
int RecStr(int dev, const char *filename, int maxsil){
int retv, nsamples;VX_RSP rsp;unsigned char *mem;struct _stat buf;FILE *fp;
vox_clrrsp(&rsp);rsp.maxsil = maxsil;rsp.skip_samples = 0;
if (_stat(filename, &buf))return -1;
mem = malloc(buf.st_size);fp = fopen(filename, "rb");nsamples = fread(mem, sizeof(char), buf.st_size, fp);fclose(fp);
if ((retv = vox_recstrm(dev, mem, nsamples, &rsp, CODER)) < 0) {vox_error("vox_recstr", dev);printf("%s\n", filename);getchar();
}
free(mem);return retv;
}
#else
int my_recstr(int chdev, const char *fileName, VX_RSP *rspp, unsigned int mode){
int retv = 0;int recdev, n;FILE *fp;char buffer[BUFFER_SIZE];
if ((fp = fopen(fileName, "rb")) == NULL)
Capítulo 4. Código de ejemplos en C/C++
Verbio Technologies Referencia de las funciones del Library SDK 143
return -1;
if ((recdev = vox_recstr_open(chdev, rspp, mode)) == -1) {fclose(fp);return -1;
}
do {n = fread(buffer, 1, BUFFER_SIZE, fp);
if (n>0) n = vox_recstr_write(recdev, buffer, n);}while (n == BUFFER_SIZE);
fclose(fp);
retv = vox_recstr_close(chdev, recdev);
return retv;}
int RecStr(int dev, const char *filename, int maxsil){
int retv;VX_RSP rsp;
vox_clrrsp(&rsp);rsp.maxsil = maxsil;
if ((retv = my_recstr(dev, filename, &rsp, CODER)) < 0) {vox_error("my_recstr", dev);printf("%s\n", filename);getchar();
}
return retv;}
#endif
void vox_error(const char *function, int dev){
printf("*** ERROR: %s failed. %s ***\n", function, ATVOX_ERRMSGP(dev));fprintf(fplog, "*** ERROR: %s failed. %s ***\n", function, ATVOX_ERRMSGP(dev));
}
Capítulo 4. Código de ejemplos en C/C++
144 Referencia de las funciones del Library SDK Verbio Technologies
2. Ejemplo de Detección de voz y de tonos DTMF
Ejemplo 4.2. Ejemplo de Detección de voz y de tonos DTMF
Este fragmento de código pretende ilustrar un posible uso del detector de voz y de DTMF. En él, únicamente semandan muestras al reconocedor cuando se ha detectado algo de señal, evitando que el servidor dereconocimiento malgaste recursos rechazando la parte de silencio inicial. Por simplicidad, se ha omitido lacomprobación de errores.
#define BUFFER_SIZE 512
int chdev = 0, retv = 0, state = 0;int recdev, vsddev, dtmfdev, n;int mode = MC_MULAW;
char buffer[BUFFER_SIZE];const char *dtmf, *result;bool bVoice = false;FILE *fp = 0;
VX_RSP rsp;vox_clrrsp(&rsp);rsp.maxsil = 1500;
VAD_PRM prm;vox_clrvad(&prm);prm.frame_len = BUFFER_SIZE;prm.frame_step = BUFFER_SIZE;
fp = fopen(fileName, "rb");
recdev = vox_recstr_open(chdev, &rsp, mode);vsddev = vox_vsd_open(chdev, recdev, &prm, mode);dtmfdev = vox_dtmf_open(chdev, mode);
do {n = fread(buffer, 1, BUFFER_SIZE, fp);
dtmf = vox_dtmf_write(dtmfdev, buffer, n);if (dtmf) {
printf("DTMF tone %s received\n", dtmf);
if ((result = vox_dtmf_word(chdev, dtmf))) { //A previously loaded and activated DTMF grammar is requiredprintf("DTMF tone valid: %s returned\n", result);
}break;
}
state = vox_vsd_write(vsddev, buffer, n);if (!bVoice && state!=VVX_INIT && state!= VVX_SILENCE)
bVoice = true;
if (bVoice && n>0)n = vox_recstr_write(recdev, buffer, n);
}while (n == BUFFER_SIZE);
fclose(fp);
vox_dtmf_close(chdev, dtmfdev);vox_vsd_close(chdev, vsddev);vox_recstr_close(chdev, recdev);
Capítulo 4. Código de ejemplos en C/C++
Verbio Technologies Referencia de las funciones del Library SDK 145
3. Ejemplo de uso del reconocimiento natural basado en modelosestadísticos (SLM)
Ejemplo 4.3. Ejemplo de reconocimiento SLM
Este ejemplo pretende mostrar cómo debe usarse Verbio cuando se desee realizar reconocimiento de en "hablanatural", basado en modelos estadísticos del lenguaje (SLM).
#include <windows.h>#include <stdio.h>#include "voxlib.h"
#define USE_CALLBACK#define MAXINDEX 1024
#ifdef USE_CALLBACKstatic int VVI_callback (const char *result, unsigned long score, size_t ntfyId){
if (result) {printf("%s (%lu) ", result, score);
}
return 0;}#endif
int main(int argc, char *argv[]){
int dev = 0, nind, ivcb, timeout = -1;char *information = 0;
int index[MAXINDEX];float score[MAXINDEX];
vox_setparm(-1, VXGB_DEFSERVER, "127.0.0.1");vox_setparm(-1, VXGB_NETTIMEOUT, &timeout);
if (vox_asr_init(CFG_SPANISH16K, LNG_SPANISH) == -1)return -1;
// Get Vox Product Versionunsigned long dwfilever = 0, dwprodver = 0;vox_GetDllVersion(&dwfilever, &dwprodver);printf("VVI TEST. VOXLIB %d.%02d\n", dwprodver>>16, dwprodver & 0xFFFF);printf("------------------\n");
if (vox_getparm(-1, VXGB_START_VIT, &information) == 0)printf("Configuraciones SLM disponibles: %s\n", information);
if (vox_getparm(-1, VXGB_START_SLM, &information) == 0)printf("\tModelos SLM disponibles: %s\n", information);
while (1) {// Load vvi grammarif ((ivcb = vox_loadvcb(dev, "vvi:grammar/generic", 0)) == -1){ vox_libclose(); return -1; }
// Activate vvi grammarif (vox_activatevcb(dev, ivcb, 0) == -1){ vox_libclose(); return -1; }
#ifdef USE_CALLBACK// Set callback
vox_RegisterVVICallback(dev, VVI_callback);#endif
VX_RSP rsp;vox_clrrsp(&rsp);rsp.maxsil = 300;
if (vox_recstr(dev, "vvi.esu", &rsp, MC_MULAW) < 0){ vox_libclose(); return -1; }
#ifndef USE_CALLBACKif ((nind = vox_recind(dev, MAXINDEX, index, score, 0)) < 0){ vox_libclose(); return -1; }
if (nind == 0) {printf("Recognition finished due to: %s\n", vox_word(dev, index[0]));
}else {
for (int i=0; i<nind; i++) {printf("%s (%.2f) ", vox_word(dev, index[i]), score[i]);
}}
#endifvox_deactivatevcb(dev, ivcb, 0);vox_unloadvcb(dev, ivcb, 0);
}
vox_setvcb(dev, NULL, 0);
Capítulo 4. Código de ejemplos en C/C++
146 Referencia de las funciones del Library SDK Verbio Technologies
vox_libclose();
printf("Press return to continue");getchar();return 0;
}
Capítulo 4. Código de ejemplos en C/C++
Verbio Technologies Referencia de las funciones del Library SDK 147
4. Ejemplo de ASV
Ejemplo 4.4. Ejemplo de Verbio Library para verificación del locutor
#include <stdio.h>#include "voxlib.h"
int main(int argc, char *argv[]){
int dev = 0, ret = 0;const char *server = "127.0.0.1";ASV_SPKINFO info;float score;
if (server)vox_setparm(-1, VXGB_DEFSERVER, server);
/* Init VOX library */
if ((vox_asr_init(CFG_SPANISH, LNG_SPANISH) < 0) || (vox_asv_init() < 0)) {printf("*** ERROR: %s failed. %s ***\n", "vox_libinit", ATVOX_ERRMSGP(-1));return(ATVOX_LASTERR(-1));
}
/* Training */
if ((vox_asv_addfile(dev, "1234", "1234_0294653871.wav", "0294653871", MC_WAVE) < 0) ||(vox_asv_addfile(dev, "1234", "1234_3250948716.wav", "3250948716", MC_WAVE) < 0) ||(vox_asv_addfile(dev, "1234", "1234_6940582713.wav", "6940582713", MC_WAVE) < 0) ||(vox_asv_addfile(dev, "1234", "1234_7182539460.wav", "7182539460", MC_WAVE) < 0) ||(vox_asv_addfile(dev, "1234", "1234_8450629713.wav", "8450629713", MC_WAVE) < 0)) {printf("*** ERROR: %s failed. %s ***\n", "vox_asv_addfile", ATVOX_ERRMSGP(dev));ret = ATVOX_LASTERR(dev);goto error;
}
if (vox_asv_train(dev, "1234", 0, 0, 0) < 0) {printf("*** ERROR: %s failed. %s ***\n", "vox_asv_train", ATVOX_ERRMSGP(dev));ret = ATVOX_LASTERR(dev);goto error;
}
/* Speaker info */
if ((ret = vox_asv_spkinfo(dev, "1234", &info)) < 0) {printf("*** ERROR: %s failed. %s ***\n", "vox_asv_spkinfo", ATVOX_ERRMSGP(dev));ret = ATVOX_LASTERR(dev);goto error;
}if (ret >= 1) {
printf("Total audio files: %u\n", info.num_files);printf("Time from last addition (hrs): %u\n", info.files_age);printf("Speech actually processed (sec): %.3f\n\n", (float)info.speech_ms/1000.0F);
}
/* Verifying */if (ret == 2) {
if ((ret = vox_asv_verify(dev, "1234", "1234_3578091426.wav", "3578091426", &score, MC_WAVE)) < 0) {printf("*** ERROR: %s failed. %s ***\n", "vox_asv_verify", ATVOX_ERRMSGP(dev));ret = ATVOX_LASTERR(dev);goto error;
}else if (ret == 1)
printf("file matches user voiceprint (score %.1f)\n", score);else
printf("file does not match user voiceprint (score %.1f)\n", score);}
error:vox_libclose();return(ret);
}
Capítulo 4. Código de ejemplos en C/C++
148 Referencia de las funciones del Library SDK Verbio Technologies
Apéndice A. Ficheros utilizados por losejemplos
Importante
Atención, utilice el tabulador para separar las columnas de los ficheros de texto que contengan más deuna.
Ficheros utilizados en el ejemplo. El fichero de guía vdemo.gui es un listado de ficheros de audiopregrabados con algún nombre de la lista, etiquetados de manera que posteriormente se pueda validar larespuesta del reconocimiento.
comandos.txt
REPEAT Repetir //Repetirá la preguntaHOME Inicio //Empezará de nuevo el diálogoHELP Ayuda //Dictará un mensaje más preciso
vdemo.txt
Eduardo CampilloAsunción ChineaMarta CuencaEmilio DobladoGuillermo EstradaMaría FríasSergio GalíndezEloy de la FuenteEnrique HurtadoPablo JiménezFrancisco LunaFernando MayoralSusana MartínezGermán MoralesAlfonso MorilloJuan OlivaInmaculada SánchezGloria MachadoPilar ZaragozaIrene PonsaJose RiveiroMarcial RodríguezJorge SánchezAlberto SalvadorHéctor OsorioCarmen PuenteCarolina SegoviaAlejandro TarridaLeonardo TorontoJesús UrrubietaDepartamento ComercialDepartamento TécnicoProveedoresAdministraciónDirección
vdemo.gui
DEMO0001 Eloy de la FuenteDEMO0002 Francisco LunaDEMO0003 ProveedoresDEMO0004 Alberto SalvadorDEMO0005 Guillermo EstradaDEMO0006 Sergio GalíndezDEMO0007 José Mariño
Apéndice A. Ficheros utilizados por losejemplos
150 Referencia de las funciones del Library SDK Verbio Technologies
ÍndiceA
ASV Speaker InformationASV_SPKINFO, 127
CCliente-Servidor
cerrar conexión, 100desconexiones, 85
DDefinición de parámetros, 129Detección de la voz
ejecución, 115finalización, 112inicialización, 113parámetros, 24
Detección de tonos DTMFejecución, 31finalización, 28inicialización, 29
EErrores
obtención, 32, 42
GGramáticas
activación, 4carga, 46, 47desactivación, 25descarga, 110establecimiento, 98preparación, 22, 59, 61, 64, 66
IInicialización
recursos ASR, 8recursos ASR y TTS, 44Recursos ASV, 13recursos TTS, 104
LLiberación
recursos ASR y TTS, 43, 103Licencias
reconocimiento, 33, 39síntesis, 37, 40
NNúmero de serie, 91
PParámetros
asignación, 97obtención, 36
RRecognize String Parameter
VX_RSP, 122Reconocimiento
detener, 102ejecución, 75, 77, 83finalización, 79función de callback, 84información adicional, 137inicialización, 80liberación de recursos, 69, 81número de resultados, 51obtención de los resultados, 30, 116, 117obtención de resultados, 49, 73parámetros, 23reserva de un recurso, 71, 82tipo de gramática, 21vocabulario, 41
Reconocimiento del hablaobtención de los resultados, 118
Recursosliberación, 27, 43, 103
SSAPI
MODEATTRIBUTES, 128SAPI 4.0
abrir, 87, 89cerrar, 86seleccionar, 90
Síntesisejecución, 56finalización, 54inicialización, 55
Síntesis del hablaconfiguración, 92, 95, 106, 108detener, 101ejecución, 52liberación de recursos, 57reserva de un recurso, 58
VVAD, Voice Activity Detection
VAD_PRM, 123VAD_PRM
inicialización, 24Verificación del locutor
Creación de la huella vocal, 16Entrenamiento, 11Usuarios registrados, 14Verificación, 19
Versiónobtención, 35
Vocabulariosactivación, 4carga, 46, 47desactivación, 25descarga, 110establecimiento, 94, 98obtención, 41preparación, 6, 22, 59, 61, 64, 66
VX_RSPinicialización, 23
Índice
152 Referencia de las funciones del Library SDK Verbio Technologies