• No se han encontrado resultados

Descripción del proyecto para la Síntesis de Voz

Proceso Comprobar

Capítulo 3 Proyecto de procesamiento de voz

3.6. Descripción del proyecto

3.6.1 Descripción del proyecto para la Síntesis de Voz

La función de la clase sintetizador es generar la voz humana, a partir de una frase a pronunciar. La

Figura 3.6 muestra el diagrama de clases llamado sintetizador, el cual realiza lo siguiente:

1. Solución de las irregularidades de la lengua española (específicamente la empleada en México, ya que podemos analizar fácilmente a las personas que nos rodean) aplicadas a todas las frases. 2. Sustitución de grafemas por los símbolos empleados en la representación de fonemas en el

sintetizador de voz.

3. Separación en sílabas de la frase de acuerdo a reglas de silabación. 4. Extracción de fonemas de la frase.

5. Concatenación de las muestras de los archivos de audio de los fonemas a emplear. 6. Reproducción de las muestras de la concatenación resultante.

La Figura 3.7 muestra los componentes que realizan las funciones anteriores y que fueron obtenidos a partir del diagrama de clase sintetizador (ver Figura 3.6).

Figura 3.6. Diagrama de clases del módulo sintetizador.

Figura 3.7. Diagrama de objetos que componen la clase sintetizador

De la Figura 3.6. se observa la clase Ana1, en donde la entrada al diagrama de actividad Ana1 se

presenta en la Figura 3.8, la cual es una cadena de tipo “String” que contiene la frase a reproducir. Se analiza que carácter se esta leyendo, y si es alguno de los que presentan irregularidades, se hace la

sustitución pertinente. Además los grafemas de la frase se van reemplazando por los símbolos que representan a los fonemas correspondientes.

Figura3.8.Diagrama de actividad de la clase Ana1.

La clase Ana2 se encarga de hacer el análisis y la aplicación de las reglas de silabación, y prepara la

cadena resultante. Para las reglas 1 a 4, se requiere leer grupos de tres en tres letras, dado que se verifica la existencia de tres grafemas para hacer una separación. En esta clase se hace uso de una variable de tipo booleana para indicar si ya se aplicó alguna regla, y verificar la no existencia de las demás. Esto permite que otras condiciones no sean probadas. Si ya se aplicó una regla, es mejor no verificar las demás y seguir avanzando. La aplicación de las reglas 5 a 9 necesita que se lean de dos en dos grafemas para ver su aplicación. Los grafemas que serán separados son: b, d, f, g, k, l, m, n, r, s.

Existen también los grafemas p y t, pero por su naturaleza generativa, la mejor solución es buscar las

combinaciones de fonemas que tienen como coda estos grafemas y grabar. Cuando en la verificación de las reglas no se cumple ninguna, el primer carácter de los leídos (dos o tres, según la regla aplicada) se escribe en la cadena de salida, esto asegura que los caracteres que deban ir juntos no sean separados. La figura. 3.9 muestra el diagrama de actividad de la clase Ana 2.

Figura 3.9. Diagrama de Actividad de la Clase Ana2.

La clase Ana3 se encarga de buscar los archivos por lo que hay que crear un arreglo que contenga los

nombres de los archivos de audio a concatenar, esto se hace leyendo la cadena para ubicar una letra y recorrer hasta encontrar un espacio o un guión. Si el final de la palabra es una “s” se coloca un espacio corto y si no, se coloca un espacio largo. La Figura 3.10 muestra el diagrama de actividad de la clase

Figura 3.10. Diagrama de actividad del módulo Ana3.

La clase Conca se encarga de concatenar los diferentes archivos ya almacenados en el arreglo en un

objeto, el cual es el responsable de reproducir el mensaje de entrada. Una vez obtenido el arreglo con los nombres de los archivos de audio, la clase Conca abre cada uno de estos archivos y se leen sus

muestras. Dichas muestras se almacenan en un objeto que contenga las muestras de todos los archivos (cada archivo contiene un fonema). Al terminar de escribir este objeto, se comienza a escribir las muestras del archivo siguiente, hasta terminar con el último. La Figura 3.11 presenta el diagrama de actividad correspondiente a la clase Conca.

Figura 3.11. Diagrama de actividad de la clase Conca.

En el diagrama de estados de la clase Reproduce, la frase creada se toma y se reproduce. Es posible

ajustar el volumen y balance de la reproducción mediante dos parámetros en este módulo. La Figura 3.12 muestra el diagrama de estados correspondiente a la clase Reproduce.

En la Figura 3.13 se presenta una fotografía del sistema físico de reproducción de voz, donde se observa los componentes que contienen a la clase Conca y la clase Reproduce. Dichas clases pueden verse

como cajas negras puesto que las dos clases mencionadas fueron implementadas en hardware mediante un PIC16F84.

Figura 3.13 Sistema físico de reproducción de voz

La Figura 3.14 muestra el diagrama esquemático del sistema de reproducción de voz propuesto en este trabajo.

3.7. Conclusiones

Se obtuvo un sistema que permite la concatenación de fonemas a través de un estudio fonológico del español hablado en México, empleando componentes reutilizables implementados en hardware y otra parte en software. El sistema se basa en la programación orientada a objetos por lo que se desarrollo los diagramas más adecuados para su diseño. El sistema emplea una relación entre las silabas y los fonemas mismos que se reproducen concatenándose para lo cual se usa dos objetos. Estos son lo que en la literatura de programación orientada a objetos se le conoce como been (Componente reutilizable).

3.8. Referencias

[1] R. Romero Herrera, “Fonemas del español hablado en México para Síntesis por concatenación”, XII

Congreso Internacional de Computación, México, 2003.

[2] J. Bernal Bermúdez, J. Bobadilla Sancho, P. Gómez Vilda, Reconocimiento de Voz y Fonética Acústica, Alfaomega, México D.F. 2000.

[3] A. Ríos Mestre, “La transcripción fonética automatica del Diccionario Electrónico de Formas Simples Flexivas del español: Estudio Fonológico en el Léxico”, Departamento de Filología Española,

Universidad Autónoma de Barcelona, España,2003

[4] M. Faúndez Zanuy, Tratamiento Digital de Voz e Imagen y aplicación a la Multimedia, Alfaomega marcombo, España, 2001.

[5] R. Romero, “Desarrollo de un sistema de síntesis de voz en hardware para la implementación de fonemas del español hablado en México“, XXVII Congreso Internacional de Ingeniería Biomédica, México, 2004.

[6] B. S. Atal, S. L. Hanauer, “Speech analysis and synthesis by linear prediction of the speech wave”,

Journal of the Acoustic Society of America, vol. 50, 1971.

[7] L. A. Valero, “Cursos audiovisual interactivo de codificación de voz”, Departamento de electrónica y Tecnología de computadoras, Universidad de Granada, http://ceres.ugr.es/~alumnos/luis/codif.htm, España, 2005.

[8] L. Aguilar, J. M. Fernandez, J. M. Garrido, J. Llisterri, “Evaluation of a Spanish Text to Speech System”, Conference Proceedings of the second ESCA/IEEE wokshop on speech Syntesis, http://liceu.uab.es/~joaquim/publicacions/newyork_94.html, U.S.A., 1994.

[9]T. Goette, “Factors Leading to the successful use of voice reconigtion technology”, Proceedings of the

third international ACM conference on Assistive technologies, 1998.

[10] J. Llisterri, M. West, “Los sistemas de conversión de texto a voz mediante síntesis por reglas una aproximación interdisciplinaria”, II Congreso de Lenguajes Naturales y Lenguajes Formales

http://liceu.uab.es/~joaquim/publicacions/llisterri_west_1987.html, España, 1987.

[11] J. Martí Roca, “Situación actual de la síntesis de voz”, Estudios de fonética experimental, España,

1987

[12] Saloma, Formal Languages, Academia Press., Series In Computer Science Classics, USA,1987. [13] F. Galindo, http://www.fgalindosoria.com/linguistica/, Mexico, 2005

[14] C. Monroy Olivares, Curvas Fractales, Alfaomega, México, 2002.

[15] F. Galindo, http://www.fgalindosoria.com/ecuaciondelanaturaleza/, Mexico, 2005. [16] Golwave Inc. http://www.goldwave.com, USA, 2005

Capítulo 4 Resultados de la metodología

Documento similar