VOCE para C++

En el post anterior hablaba sobre qué librerías básicas utilizo en el Proyecto Mandala para el desarrollo del videojuego, entre ellas está VOCE para la detección de la voz a texto. Dado que la librería es un tanto antigua, de hecho funcionaba con la versión 2 de Java, he investigado y actualizado la configuración para que funcione con el actual Java 8. Lo primero que hay que saber es que esta librería de C++ utiliza su homóloga en Java para ejecutarse, esto se realiza mediante la interfaz nativa de Java llamada JNI. En la primera versión de VOCE funciona con JNI 4 pero ya está disponible con cualquier distribución del Kit de Desarrolladores de Java (o JDK de sus siglas en inglés) la versión 6. Para utilizarlo en nuestro proyecto tenemos que seguir los siguientes pasos: Descargar la versión del JDK de Java de 32bits desde la página oficial de Oracle (recuerda Windows x86) Descargar VOCE de mi repositorio   y descomprimirlo donde más te guste. En Visual Studio ir a Proyecto/Propiedades/Directorios de VC++  y añadir en los apartados indicados con negrita las rutas. Recuerda sustituir por su valor. Ya sabes que no me gusta dejar ningún tutorial que pueda quedarse obsoleto. Añadir en archivos de inclusión: • h que encontraremos en el directorio: C:\Program Files (x86)\Java\jdk\include • Y su cabecera de apoyo que encontraremos en /src/c++ Añadir los directorios de librerías adicionales: En este paso solamente tenemos que añadir a las rutas de librerías adicionales: • C:\Program Files (x86)\Java\jdk\lib • C:\ProgramFiles (x86)\Java\jdk_\jre\lib Tras esto nos dirigimos dentro del menú de Propiedades a Vinculador Entrada y le decimos que queremos añadir la librería jvm.lib Con esto lo único que restaría sería modificar la gramática para detectar lo que queramos. El lenguaje utilizado para definir la gramática recuerda mucho a la simbología de BNF y EBNF utilizada en los compiladores para definir un lenguaje de programación. La información completa sobre cómo hacerlo está en el Whitepaper de la página de la versión original de VOCE. Llegados a esta altura podrían pensar que ya está, que la actualización de esta librería es así de sencillo, pero no lo es. Los modelos del lenguaje que utiliza por debajo VOCE, pertenecientes a la librería SPhinx4, están desactualizados y además es complejo de añadir a VOCE otro modelo de un lenguaje que no sea el inglés de Estados Unidos. Me gustaría echarle un par de horas más para investigar como añadir el lenguaje español y a partir de ahí modificar la librería para que solamente con los archivos del lenguaje de Sphinx se pudiera usar VOCE para cualquier lenguaje. Así que continuará la aventura en algún momento cuando termine el trabajo de final de máster.