IMPLEMENTACION DE UN SISTEMA DE CONVERSION DE AUDIO A TEXTO EN TIEMPO REAL PARA PERSONAS CON DISCAPACIDAD AUDITIVA. AUTORES: ORBE OROZCO LUIS IVÁN ZURITA.

1 IMPLEMENTACION DE UN SISTEMA DE CONVERSION DE AUDIO A T...
Author: Pilar Álvarez Belmonte
0 downloads 0 Views

1 IMPLEMENTACION DE UN SISTEMA DE CONVERSION DE AUDIO A TEXTO EN TIEMPO REAL PARA PERSONAS CON DISCAPACIDAD AUDITIVA. AUTORES: ORBE OROZCO LUIS IVÁN ZURITA ULLAURI VÍCTOR JULIO SANGOLQUÍ – ECUADOR AÑO 2015

2 INTRODUCCIÓN

3 El Procesamiento de señales, tiene una larga e interesante historia, siendo esta una tecnología que posee un conjunto de disciplinas, entre las cuales se puede encuentran a las telecomunicaciones. A finales de los años 90, según la O.M.S. (organización mundial de la salud), el 15% de la población mundial tiene alguna discapacidad física, psíquica o sensorial que dificulta su desarrollo personal e integración social.

4 JUSTIFICACIÓN E IMPORTANCIA

5 En el Ecuador existe muy poca penetración de sistemas tecnológicos. Contribuir con el plan nacional del buen vivir. El sistema tiene la característica de libre adquisición. La ventaja del presente proyecto es que maneja un lenguaje propio Español Ecuatoriano.

6 ALCANCE DEL PROYECTO

7

8 OBJETIVOS

9 GENERAL Diseñar, implementar y analizar el desempeño de un sistema de conversión de audio a texto en tiempo real para personas con discapacidad auditiva.

10 ESPECIFICOS Realizar un estudio de investigación sobre las diferentes técnicas y métodos de conversión audio a texto para aplicaciones de conferencias o reproducción de video en tiempo real. Entrenar el sistema mediante la utilización de las técnicas y métodos propuestos, de tal forma que este responda de una manera ágil y robusta ante las palabras de su locutor. Ajustar los filtro para reducir los efectos del ruido que acompaña la señal de voz ingresada y hacer una adecuada discriminación de las voces. Implementar y validar el sistema de conversión audio a texto sobre un escenario de reconocimiento del habla y/o reproducción de video en formato específico. Diseñar una base de datos que sirva como diccionario para almacenar y agregar nuevas palabras. Diseñar un PS (procesamiento de señales) para hacer un correcto tratamiento de la información de las señales de voz.

11 FUNDAMENTO TEORICO

12 DISCAPACIDAD AUDITIVA EN EL ECUADOR En el año 1996 existen en promedio 213.000 personas con sordera en el Ecuador, estadísticas más actuales establecidas por FUNCORAT (Fundación contra el ruido contaminante), señala que el 20% de la población ecuatoriana tiene problemas auditivos, esto significa que alrededor de 2.890.000 personas tienen algún grado de sordera.

13 Las personas con un grado de sordera crítica incluidas laboralmente, en muchos casos reciben constante maltrato por parte de sus compañeros. La inclusión tanto laboral como educativa no significa ubicación física como objetos sino como sujetos. En Ecuador la televisión pública y privada no ofrece acceso a la información a las personas sordas por la falta de subtítulos y/o lengua de señas. En las ventanillas de atención para personas con discapacidad, tanto en las empresas públicas como privadas, quienes atienden desconocen cómo relacionarse con una persona sorda, se limitan a gritar y enojarse.

14 LAS TICs EN LA SOCIEDAD El uso de las TIC tiene un importante potencial para apoyar las acciones orientadas a contribuir en la satisfacción de las diferentes demandas sociales. Sus principales aportaciones a las actividades humanas se concretan en una serie de funciones que nos facilitan la realización de nuestros trabajos y a menudo también la comunicación con otras personas. Las TIC indudablemente han tenido un profundo impacto en todos los ámbitos, generando el desarrollo de diversas áreas del conocimiento de la ingeniería.

15 NUEVAS TECNOLOGIAS APLICADAS A LA DISCAPACIDAD A NIVEL DE SOFTWARE

16 A NIVEL DE HARDWARE EEATCO, un grupo de investigación de proyectos tecnológicos

17 MATERIALES

18

19

20 MÉTODOS

21 SE NECESITA INVESTIGAR PARA TENER CLARO LOS CONCEPTOS BASICOS DEL ENTRENAMIENTO PARA RECONOCIMIENTO DEL HABLA Cada palabra hablada es única y tiene su propia “huella digital” y por lo tanta aparecen probabilísticamente según su mención. La percepción común a menudo es que; el discurso se construye con palabras, y cada palabra se compone de fonemas. Los discursos de traducción a texto, y otras aplicaciones semejantes de discurso, nunca son 100% correctas, porque las descripciones de discurso son probabilísticas.

22 De código restringido y utilización de una licencia demasiado costosa para el análisis y estudio. Base de datos robusta (del tipo diccionario) pero obliga al usuario a estar conectado a la red par poder utilizarlo. Una ves desconectado el software es obsoleto. Se estimo la posibilidad de crear nuestro propio software desde cero, utilizando Matlab como herramienta. Sucedieron algunos inconvenientes. De código abierto diseñado para desarrolladores, que introduce algunas herramientas que nos ayudan con el educamiento de este nuevo software de Speech to Text.

23 En primer lugar se separa a la señal en pequeños tramos y se obtiene un vector de características (coeficientes cepstrales) En segundo lugar se estima la probabilidad de aparición de las palabras. En tercer lugar, decodifica las palabras y hace la comparación de acuerdo a una lista de fonemas y al diccionario. (senoides)

24 Sphinx desarrollado en la Universidad de Carnegie Mellon (Pensilvania Estados Unidos). Se trata de un grupo de investigación, para aplicar la tecnología de voz en sus aplicaciones. HERRAMIENTA CMU SPHINX

25 EL KIT DE HERRAMIENTAS SPHINX, INCLUYE UNA SERIE DE PROGRAMAS PARA RECONOCIMIENTO DE VOZ. Ciertas herramientas robustas para reconocimiento de voz y entrenamiento del sistema (Modelo de Lenguaje, Modelo Acústico, Modelo Diccionario). Utiliza el Modelo oculto de Márkov (HMMs) Un lenguaje de modelado estadístico de n-gramas. Análisis de WER (tasa de error) para mayor confiabilidad. Permite ajustar los parámetros de QoS para el afinamiento de los filtros, calidad de audio y de volumen. Interpretan frases de un dictado y no solo palabras de mando. Puede ser desarrollado como multiplataforma

26 Este modelo es independiente del contexto, es decir que se pueden ver como la probabilidad de que dada una señal de entrada se obtiene probabilísticamente lo que el hablante ha dicho, teniendo en cuenta la variabilidad acústica de una lengua. Modelo Acústico

27 Este modelo define qué palabra podría seguir la secuencia, teniendo en consideración que Sphinx trabaja con el modelo oculto HMM. El modelo de lenguaje utilizan comúnmente modelos de estados n-gramas que contienen estadísticas de las secuencias de palabras. Modelo de Lenguaje

28 En él se especifica la adecuada secuencia de sonidos representados mediante un conjunto de símbolos denominados fonemas y que componen una palabra. Modelo Diccionario

29

30 ENTRENAMIENTO SPHINX (LINUX – POCKETSPHINX)

31 Sphinxbase.- Es una biblioteca de apoyo requerido por Pocketsphinx Pocketsphinx.- Pocketsphinx es un reconocedor de voz. Sphinxtrain.- Estas herramientas son las encargadas del tratamiento y entrenamiento del sistema. Sphinx4-5prealpha.- Se trata de un ajustable reconocedor, modificable, que proporciona alta precisión y alta velocidad en su desempeño. Cmuclmtk.- Se encarga del tratamiento y ajuste de la gramática del lenguaje de oraciones. ANTES DE ENTRENAR

32 Los paquetes se los puede descargar de la pagina oficial de CMU-Sphinx, y tienen que mantenerse instalados dentro de una misma carpeta, puesto que se deben manejar los directorios durante todo el proceso de entrenamiento

33 En la carpeta “data”, es la carpeta madre contenedora de los archivos de entrenamiento del sistema de reconocimiento de voz.

34 Crear desde cero un nuevo modelo del reconocimiento del habla propio del lenguaje Español Ecuatoriano Entrenar el modelo y optimizar los parámetros. Sphinx recomienda por lo menos recolectar 50 horas de grabaciones de al menos 200 oradores para el reconocimiento de voz de cualquier persona (40h - 22) ¿QUÉ VAMOS A HACER CON SPHINX ?

35 La primera cosa que hay que hacer, es crear un corpus de datos de adaptación. Esto consistirá en crear: Una lista de frases. Grabación hablada de cada frase. Un diccionario que describe la pronunciación de cada palabras. La respectiva configurar de los parámetros para el afinamiento del sistema. PARA ENTRENAR

36 PROCESO DE GRABACÍON

37 Asegurar que se grabe en una tasa de muestreo 16KHz en MONO, es decir en un solo canal, 16bits y en formato WAV. Se alimento la base de datos con temas tales como por ejemplo: noticias, cuantos infantiles, historias, deportes, reportajes, decoración de hogares, conversaciones telefónicas, anuncios, comidas, etc. Utilizando vos de hombre, mujer, con diferentes edades y con diferentes tractos vocales. Además de utilizar diversos escenarios de grabación (con ruido, sin ruido, de cerca, de lejos) para tratar de crear un diccionario lo suficiente mente robusto.

38

39 MODELO DICCIONARIO

40 Se debe llevar a cabo un proceso de normalización de las oraciones en los archivos "txt“. El proceso de normalización también consiste en indicar el inicio y final de cada frase mediante los indicadores y

41 Mediante la utilización del comando "sort" y "uniq" en linux se ordenaron en columna alfabéticamente las palabras y se eliminan las palabras repetidas dando lugar al archivo "diccionario.list "

42 Consiste en definir un conjunto de fonéticas y generar una lista de pronunciación de las palabras (diccionario) para el entrenamiento acústico y del modelo de lenguaje. Entonces tendremos dos diccionarios, uno que contendrá las palabras legitimas del idioma “diccionario.dic" y otro que contendrá palabras que no pertenecen al habla, es decir un diccionario de relleno "diccionario.filler "

43

44 MODELO ACÚSTICO

45 El entrenador del sistema, necesita que se le informe las unidades de sonido para aprender los parámetros, y la secuencia en que se produce cada señal en su base de datos de entrenamiento. Esta información se proporciona a través de un archivo llamado “transcripción”, en el que la secuencia de palabras se escriben exactamente como se produce cada señal de voz. Entonces, el entrenador mira dentro de un diccionario y mapea cada palabra, con el objetivo de asociar cada señal dicha, y deducir la secuencia de unidades de sonido que producen.

46 audioTrain.fileids / audioTrain.transcription.- Archivo denominados para todo el entrenamiento del modelo acústico. Contiene los directorios de toda la base de datos existente. audioTest.Fileids / audioTest.transcription.- Archivo denominados para las pruebas y mediciones de WER y SER. Contiene los directorio de una solamente una porción de la base de datos destinados a la decodificación.

47 El sistema no funciona directamente con señales acústicas. Las señales se transforman primero en una secuencia de vectores de característicos, que se utilizan en lugar de las señales acústicas reales. El script calcula para cada expresión del entrenamiento, una secuencia de vectores (vectores de características) que consisten en los coeficientes Mel-frequency cepstral (MFCC).

48

49 MODELO DE LENGUAJE

50 El trabajo del modelo de lenguaje generalmente es restringir el vocabulario considerando las palabras que contiene. Ayuda a limitar significativamente el proceso de correspondencia puesto que utiliza comúnmente modelos de estados n-gram Los n-gramas contienen estadísticas de las secuencias de palabras y definen su probabilística secuencias de voz en un archivo denominado archivo " ARPA ".

51 Para cargar rápidamente grandes modelos, es necesario convertirlos a un formato binario " DMP ", ya que al estar en su forma binaria, esto ahorrará mucho tiempo de inicialización en el decodificador.

52 PROCESO DE DECODIFICACIÓN

53 Al final se verán generados los siguientes archivos en el directorio actual, estos archivos forman el corpus para el proceso de entrenamiento del sistema:

54 Ahora se debe editar los archivos de configuración en el directorio: "etc / sphinx_train.cfg" Entre las configuraciones mas importantes que se debe hacer aquí dentro, es importante destacar los parámetros en la cantidad de senoides a utilizar. Entre más senoides tenga el modelo, hay más precisión en la discriminación de los sonidos. Pero el exceso de senoides puede hacer ineficiente al modelo, es por eso importante buscar un equilibrio de senoides para que no se sobre entrene el modelo si se tiene demasiados senoides

55 Para entrenar, basta con ejecutar el siguiente comando: para probar la calidad del entrenamiento, con el fin corregir y de seleccionar los mejores parámetros: Cuando el trabajo de reconocimiento se haya completado, el script calcula el Word Error Rate (WER) y Sentence Error Rate (SER).

56 PRUEBAS E IMPLEMENTACIÓN

57 ARCHIVO DE FORMATO SRT Los archivos SRT son usados para proporcionarle subtítulos a un video como un archivo separado, en lugar de codificarlo directamente dentro del propio video. Los subtítulos dentro de un archivos SRT se organizan en bloques que representan cada cuadro en el que aparecen. Hay cuatro elementos en cada bloque: * El orden de los subtítulos * La indicación del tiempo y la duración * El subtítulo en sí mismo * Una línea en blanco para separarlo del siguiente subtítulo.

58 Esto especifica que el primer subtítulo comienza casi siete segundos de un video, y tiene una duración de poco más de un segundo, el siguiente comienza casi inmediatamente después. El formato básico pasa por la hora, el minuto, el segundo y la milésima de segundo, o hh:mm:ss, zzz. La flecha indica la duración y la segunda fecha denota cuándo se deben dejar de mostrar los subtítulos.

59 Reproductor VLC Media Player Es un reproductor portable y multiplataforma, con versiones para Linux, Mac, Microsoft Windows, Solaris, iOS y Android, entre otros. Soporta un gran número de formatos de audio y vídeo sin necesidad de instalar códecs adicionales Es capaz de montar archivos de subtitulado SRT

60 IMPLEMENTACION EN WINDOWS De todo el proceso de creación del nuevo sistema de reconocimiento realizado en la plataforma de Linux, el resultado es una carpeta que contiene el corpus de adaptación y los parámetros del modelo. En Windows, esta carpeta es convertida en una librería con extensión “.jar” y será utilizada en java NetBeans para la implementación de una interface gráfica.

61 Clases de Java

62 DIAGRAMA DE FLUJO CLASES DE JAVA USANDO SPHINX4

63

64 PRIMER ESCENARIO SPEACH TO TEXT

65

66 SEGUNDO ESCENARIO FILE TO TEXT

67

68

69

70 CONFIGURACIÓN DE PARAMETROS

71 Archivo de configuración XML.- es un archivo de configuración de parámetros. El archivo de configuración “xml” viene con sus valores de parámetros por defecto del entrenamiento con Sphinx utilizando PocketSphinx. Sin embargo, estos parámetros fueron debidamente ajustados de tal manera de ir calibrando el sistema para que este responda de una manera acertada y fluida con Sphinx4.

72 CONFIGURACIÓN DE PARÁMETROS

73

74 PROCESO DE INSTALACION DEL NUEVO SISTEMA DE RECONOCIMIENTO DE VOZ ESPAÑOL ECUATORIANO

75 Para la instalación del nuevo sistema de reconocimiento de voz en tiempo real, hay que seguir una serie de pasos para la correcta configuración y tener instalados los siguientes programas en el equipo a implementar. Java VM VLC media Player

76 CONFIGURACIÓN DE VARIABLES DE ENTORNO Clic derecho en equipo y se selecciona la opción de “Propiedades” Se abrirá una ventana donde se debe buscar la opción “Configuración avanzada del sistema” Se escoge la opción “Variables de entorno” Por ultimo verifíquese que la ruta de vlc está sobre la variable Path

77 Al tratarse de un ejecutable de java, no es necesario tener a mano todo el proyecto en NetBeans, basta con copiar en “C:/” la carpeta “dist” que contendrá las librerías y el ejecutable solamente. Cambiamos el nombre a la carpeta “dist” por “TesisASR”, de tal modo que el nuevo sistema de reconocimiento en tiempo real, queda bajo el directorio:

78 Crear acceso directo del ejecutable y luego pegarlo en el escritorio sería la mejor opción para no perder de vista el icono y utilizar el nuevo sistema de reconocimiento cuando se lo desee. Una vez hecho esto, se debe de configurar las propiedades del sistema dando clic derecho sobre el icono y luego eligiendo “Propiedades”

79 Entonces finalmente se verá implementado nuestro nuevo sistema de reconocimiento de voz en tiempo real con palabras propias del idioma español ecuatoriano, tal y como se muestra en la figura FUNCIONAMIENTO DEL PROGRAMA

80 Enseguida que se dé clic sobre el icono del proyecto, se abre una pequeña ventana la cual nos muestra que podemos elegir cualquiera de los dos escenarios propuestos, ya sea el de conversión de audio a texto o el de conversión de audio cargando un archivo de video

81 CONVERSIÓN DE AUDIO A TEXTO DESDE MICROFONO

82 Al escoger el primer escenario de “Conversión de audio desde micrófono” se abrirá una pequeña ventana en la cual es suficiente con dar clic en iniciar e inmediatamente comenzara a escuchar el sistema mediante el micrófono la voz del hablante y mostrará en la pantalla las oraciones dichas por el mismo.

83 CONVERSIÓN DE AUDIO A TEXTO DESDE UN ARCHIVO MULTIMEDIA

84 Cuando se haya elegido un video realizara el siguiente proceso: - Acondiciona los archivos - Extrae únicamente el sonido del archivo de video - Convierte el audio a un formato específico para el reconocimiento - Extrae las frases del audio del video - Crea un archivo SRT con las frases obtenidas y los tiempos - Monta el Archivo SRT sobre VLC player y reproduce el video con subtítulos

85

86 ANALISIS DE RESULTADOS

87

88 CONCLUCIONES Y RECOMENDACIONES

89

90

91

92