CAPÍTULO 3 ARQUITECTURA DEL SISTEMA ELABORADO 3.1.- ARQUITECTURA DEL SISTEMA Para poder realizar la transcripción fonética de un texto, por medio de este sistema que aquí se presenta se necesitan como entradas: El texto en palabras del cual se quiere su pronunciación Directorio con archivos de sonido, los cuales son sílabas grabadas con el formato WAV (Waveform Audio File Format), descrito en el apéndice B. La operación del sistema se compone de dos fases: la grabación de los archivos de sonido y la generación de voz, como se muestra en la figura 3.1 Figura 3.1 Arquitectura del sistema Capítulo 3.- Arquitectura del sistema 3.1.1.- GRABACIÓN DE LOS ARCHIVOS DE SONIDO La grabación de los archivos de sonido, es la primera fase en la operación de este sistema, su finalidad es grabar dentro de un directorio las sílabas como archivos de sonido. Dicha fase se compone a su vez por dos partes: un segmentador y un comparador, como se muestra en la figura 3.2 Figura 3.2 Grabación de los archivos de sonido El texto de entrada, llega a un segmentador que se encarga de separar cada una de las palabras de este texto en sílabas (véase la sección 2.5), asignándoles su nombre correspondiente como archivo de sonido. Como ejemplo véase la figura 3.3. Figura 3.3 Segmentador 23 Capítulo 3.- Arquitectura del sistema Nótese que en las vocales acentuadas, el acento es sustituido por el carácter ‘~’, antes de la vocal. Por ejemplo, en el caso de la sílaba ‘ción’, quedará ‘ci~on’. Para el caso de la letra ‘ñ’, es sustituida por el carácter ‘-‘ antes de la letra n. Por ejemplo la sílaba ‘ña’ será sustituida por ‘-na’. Y para el caso de la diéresis se sustituirá por la ‘u’ precedida del carácter ‘^’. Estas modificaciones a los nombres de archivos son necesarias cuando se tiene el sistema operativo MsWindows, pues no es posible escribir vocales acentuadas, con diéresis o la letra ñ. Una vez que se conocen los nombres de las sílabas del texto como archivos de sonido, son comparados por el programa con los nombres de los archivos de sonido existentes, para conocer las sílabas que están dentro del texto y de las cuales hace falta su archivo de sonido. Para cada uno de estos sonidos faltantes se deberá ejecutar el programa que permite grabar sonido en MsWindows y que es parte del sistema operativo; el archivo de voz que se graba, se guarda con el nombre del archivo correspondiente a cada sílaba. Cuando se graba una sílaba, en la mayoría de los casos, se generan espacios sin voz, debido a que se empieza a hablar después de oprimir el botón de inicio de grabación, así como al terminar de hablar y detener la grabación; a este espacio sin voz, lo llamaremos vacío, por no contener información de sonido importante. Una vez que han sido grabadas estas sílabas, es necesario eliminar el vacío que se tiene al inicio y fin de la sílaba, como se observa en la figura 3.4. Figura 3.4 Señal de voz, con vacío 24 Capítulo 3.- Arquitectura del sistema Este recorte de las sílabas se lleva acabo, utilizando los algoritmos descritos en [Romero, 1990], y que consisten en encontrar el inicio y fin de la sílaba, extraer esta señal y desechar todo lo demás, que es considerado como vacío. Una vez que se ha llevado a cabo este recorte, la señal de voz queda como se observa en la figura 3.5 Figura 3.5 Señal de voz, sin vacío Si no se llevara a cabo este recorte de vacío, ocasionaría demasiado espacio entre una sílaba y otra, pues el vacío al final de una sílaba se sumaría con el vacío al inicio de la otra sílaba, al momento de concatenar estas sílabas para su reproducción final, como se ilustra en la figura 3.6 Figura 3.6 Unión de dos sílaba con vacío 25 Capítulo 3.- Arquitectura del sistema Con este recorte del vacío se mejora la naturalidad de la pronunciación de voz, así como la reducción significativa del espacio en el disco utilizado para cada archivo. En las pruebas se logró una reducción de espacio del orden del 50%. 3.1.2 GENERADOR DE VOZ Una vez que ha concluido la fase de grabación de archivos de sonido, se procede a concatenar las sílabas de cada palabra, generando un solo archivo de sonido por cada palabra que posteriormente será reproducido, cabe mencionar que dicho archivo se sobreescribe con cada palabra nueva. La figura siguiente muestra las partes de esta segunda fase. Figura 3.7 Generador de voz Por ejemplo, si se tiene la palabra “karina”, las sílabas que se unirán son: _ka.wav, _ri.wav y _na.wav, para generar un archivo llamado _palabra.wav, este archivo es el que finalmente se reproduce, logrando que la palabra “karina” sea escuchada. 26 Capítulo 3.- Arquitectura del sistema Cabe mencionar que si el texto contiene alguno de los siguientes símbolos ortográficos: coma, punto, punto y coma. Serán reemplazados por archivos de sonido que contienen el efecto de cada uno de ellos. Una coma se interpreta como una pausa corta, un punto como una pausa un poco más larga y un punto y coma como una pausa intermedia entre el punto y la coma. Finalmente cabe mencionar, que cuando no se encuentra el archivo de sonido de alguna de las sílabas del texto, su sonido es cambiado por un archivo llamado ERROR, el cual contiene un timbre indicando la falta de este archivo. 3.1.3 INTERFAZ DE USUARIO Este sistema elaborado, puede usarse haciendo llamadas a los programas mencionados a continuación. La forma de instalarse se puede consultar en el apéndice C. Para la fase de grabación de archivos de sílabas, se ejecuta el programa grabar.exe. Requiere como entrada un archivo con el texto y el nombre del directorio donde serán almacenados los archivos de sonido, cabe mencionar que durante esta fase, se puede realizar el recorte del vacío de cada una de las sílabas. Por medio del programa recorta.exe se elimina el vacío de los archivos de sonido. Logrando que estos archivos ocupen el mínimo espacio en el disco y tenga naturalidad la pronunciación de salida. El programa llamado tocawin.exe, realiza la fase de generación de voz, descrita en la sección 3.1.2, dicho programa requiere como entrada un archivo de texto del cual se quiere su reproducción, y que además deben estar en el mismo directorio donde fueron almacenados los archivos de sonido. 27