lunes, 6 de agosto de 2007

Compilación usando Loquendo

He conseguido compilar y ejecutar un programa de prueba que usa la librería de Loquendo y casi-funciona sobre una PDA real.

Cosas que faltaban el último día para funcionar:

- Sobre el lío de arquitecturas ARMV4 y ARMV4i: La buena, la que funciona de verdad en mi PDA es la ARMV4, que según lo que ponía en el post anterior es la que se corresponde con PocketPC 2003 . La ARMV4i es más moderna, y se corresponde con Windows Mobile 5.0. No hay que cambiar a mano ningún parámentro con la arquitectura de salida, tal como se decía erroneamente en el susodicho post (*).

- Además de las voces (por ejemplo 'Jorge'), en la PDA hay que instalar también el SDK. En mi caso concreto, el fichero con extensión .CAB que hay dentro de Loquendo_Embedded_TTS_6-PPC2003_SDK_Distribution_6.6.17.zip

- El anterior instala unos ficheros en el directorio de la PDA \Archivos de Programa\Loquendo\Loquendo TTS. Dentro de él hay varias DLLs y pogramas de prueba. Por ejemplo, el que se llama LTTSDemoMSX permite seleccionar una voz, escribir un texto en la pantalla, y hacerlo sonar por el altavoz de la PDA. Como curiosidad, al no tenerlo licenciado en lugar del texto la voz dice que es necesario instalar la licencia antes de usarlo.

- Sobre el programa de prueba: Tras construirlo para ARMV4 (PocketPC 2003) se copia el ejecutable automáticamente al directorio raiz de la PDA. Si se intenta ejecutar sale un error que dice que no es posible hacerlo porque falta un componente. Mensaje completamente distinto al que decía que no es una aplicación válida PocketPC. Para que encuentre los componentes que le faltan (las DLLs, vamos) se puede copiar el ejecutable en el directorio de instalación de Loquendo mencionado en el punto anterior.

- Tras copiar el ejecutable donde están el resto de componentes, al hacer doble click con el puntero se ejecuta sin dar más errores. En lugar de una voz se oye un ruido blanco, posiblemente por el tema de la licencia que se mencionaba antes. Para conseguirla hay que ejecutar un programa llamado GetID, que devuelve un código que hay que enviar a Loquendo para que a su vez manden la licencia que permite hacerlo funcionar.

- Para averiguar lo anterior me ha venido muy bien una utilidad que tra el Embedded Visual C++ llamada 'Dependency Walker', situada en el subdirectorio Common\Tools de la instalación de eVC. Lo que hace es, a partir de un fichero .EXE, mostrar las librerías dinámicas y estáticas de las que depende. De esa forma, he podido ver que necesitaba una DLL llamada LOQTTS6.DLL que no se encontraba en mi PDA, y a partir de ello me he dado cuenta de que tenía que instalar el SDK.



(*) Entrada de la Wikipedia aclaratoria sobre los nombres de los sistemas embebidos de Microsoft: PocketPC
Diferencia entre ARMV4 y ARMV4i.

No hay comentarios: