miércoles, 23 de junio de 2010
DISEÑO Y DESARROLLO DE PROTOTIPOS:
“DISEÑO Y DESARROLLO DE PROTOTIPO DE SISTEMA DE TRADUCCION INSTANTANEA DE HABLA Y TRANSMISION EN TIEMPO REAL, SOBRE EL PROTOCOLO RTP UTILIZANDO TECNOLIGIAS DE RECONOCIMIENTO DE VOZ.”
RESUMEN
Este documento propone el desarrollo de un prototipo de sistema de traducción de habla. Este consiste básicamente en la captura de flujo de voz del emisor integrando tecnologías de reconocimiento de voz avanzada, traducción instantánea, y comunicación sobre el protocolo internet RTP (protocolo de transporte de tiempo real) para enviar en tiempo real la información al receptor. Este prototipo no transmite imagen, solo aborda la etapa de audio.
INTRODUCCION
Actualmente internet brinda distintas y eficientes formas de comunicarnos casi instantáneamente y sin importar que tan lejanas se encuentren las personas. No obstante en el tema de video conferencia y específicamente en comunicaciones por voz, todavía quedan obstáculos que dificultan una plena comunicación, uno de ellos es la diferencia de lenguas e idiomas. “ESTE ES EL TEMA EN EL CUAL SE ENFOCA LA SOLUCION PROPUESTA EN ESTE DOCUMENTO.”
Palabras Claves - habla, reconocimiento, síntesis, RTP, traducción, tiempo, VoIP, voz.
EL PROCESO DE RECONOCIMIENTO DE VOZ SE PUEDE EXPLICAR EN DOS PASOS:
1. Extracción de fonemas: Los fonemas son unidades lingüísticas, sonidos que al agruparlos forman palabras. Son la unidad fonológica más pequeña en que puede dividirse un conjunto fónico; por ejemplo la palabra /páso/ “paso”, está formada por una serie de cuatro fonemas, ya que el máximo de unidades mínimas en que puede ser dividida es /p/+/a/+/s/+/o/ [2]. .
2. Conversión de los fonemas en palabras identificables: Este proceso se puede realizar con ayuda de métodos topológicos, probabilísticos y de redes neuronales. Cada uno de ellos se detallarán en el punto 2.3 “Métodos de reconocimiento de voz”
FUNDAMENTOS SOBRE RECONOCIMIENTO DE VOZ
La capacidad auditiva de un ser humano se caracteriza por percibir audio en un rango de 16Hz a 16Khz [1], y por diferenciar y comprender fácilmente distintos tipos de fuentes sonoras. Sin embargo, para que las máquinas logren tener esta última habilidad, se está trabajando durante muchos años. Dichos esfuerzos, han culminado en resultados que ya están presentes en el mercado mundial, y que se integran poco a poco al diario vivir
Ramas del Reconocimiento de voz:
Las técnicas de reconocimiento de voz se dividen en tres ramas principales [3]:
1. Reconocimiento de voz o Reconocimiento del habla: proceso que consiste en convertir un mensaje hablado en texto. Es la rama que más ha crecido en los últimos años.
2. Conversión texto-a-voz: generación de audio que emule la voz humana (síntesis de voz, TTS del inglés Text-To-Speech) a partir de información en formato texto digital.
3. Reconocimiento de Locutores: identificación o verificación de la persona que le habla a un sistema; su uso se proyecta como parte de medidas de seguridad.
La codificación de voz, también se postula como una rama del reconocimiento de voz; aunque pudiese considerarse un tema complementario al estar más relacionado con los canales de comunicación y el aprovechamiento del ancho de banda
Un tipo de HMM especialmente apropiado para reconocimiento de voz son los modelos "de izquierda a derecha" (Fig. 2.3.2-1); modelos en los que una vez abandonado un estado ya no se puede volver a él. Su plantilla se conforma de vectores que se obtienen en cada uno de los nodos recorridos; cada nodo visitado genera un vector [6].
1. Extracción de fonemas: Los fonemas son unidades lingüísticas, sonidos que al agruparlos forman palabras. Son la unidad fonológica más pequeña en que puede dividirse un conjunto fónico; por ejemplo la palabra /páso/ “paso”, está formada por una serie de cuatro fonemas, ya que el máximo de unidades mínimas en que puede ser dividida es /p/+/a/+/s/+/o/ [2]. .
2. Conversión de los fonemas en palabras identificables: Este proceso se puede realizar con ayuda de métodos topológicos, probabilísticos y de redes neuronales. Cada uno de ellos se detallarán en el punto 2.3 “Métodos de reconocimiento de voz”
FUNDAMENTOS SOBRE RECONOCIMIENTO DE VOZ
La capacidad auditiva de un ser humano se caracteriza por percibir audio en un rango de 16Hz a 16Khz [1], y por diferenciar y comprender fácilmente distintos tipos de fuentes sonoras. Sin embargo, para que las máquinas logren tener esta última habilidad, se está trabajando durante muchos años. Dichos esfuerzos, han culminado en resultados que ya están presentes en el mercado mundial, y que se integran poco a poco al diario vivir
Ramas del Reconocimiento de voz:
Las técnicas de reconocimiento de voz se dividen en tres ramas principales [3]:
1. Reconocimiento de voz o Reconocimiento del habla: proceso que consiste en convertir un mensaje hablado en texto. Es la rama que más ha crecido en los últimos años.
2. Conversión texto-a-voz: generación de audio que emule la voz humana (síntesis de voz, TTS del inglés Text-To-Speech) a partir de información en formato texto digital.
3. Reconocimiento de Locutores: identificación o verificación de la persona que le habla a un sistema; su uso se proyecta como parte de medidas de seguridad.
La codificación de voz, también se postula como una rama del reconocimiento de voz; aunque pudiese considerarse un tema complementario al estar más relacionado con los canales de comunicación y el aprovechamiento del ancho de banda
Un tipo de HMM especialmente apropiado para reconocimiento de voz son los modelos "de izquierda a derecha" (Fig. 2.3.2-1); modelos en los que una vez abandonado un estado ya no se puede volver a él. Su plantilla se conforma de vectores que se obtienen en cada uno de los nodos recorridos; cada nodo visitado genera un vector [6].
REDES NEURONALES
El empleo de redes neuronales en el reconocimiento de voz se justifica debido a que estas redes intentan emular complejos procesamientos cerebrales, y uno de ellos es precisamente el reconocimiento del habla. Además, su gran capacidad de resolver problemas que con otros métodos requieren mucha carga para los computadores, como son: el reconocimiento de patrones, evaluación de hipótesis y predicción.
Las redes neuronales organizan sus neuronas en capas (Fig. 2.3.3-1). Existe una capa de entrada y una de salida. La capa de entrada procesa directamente los vectores o plantillas, si el resultado de la operación de cada neurona supera un umbral predefinido la neurona realiza sinapsis con sus neuronas post-sinápticas. De esta forma, el resultado de la aplicación de una función de transformación no lineal a la combinación lineal de todos los puntos de la plantilla de entrada se traspasa a las neuronas siguientes.
Las redes neuronales organizan sus neuronas en capas (Fig. 2.3.3-1). Existe una capa de entrada y una de salida. La capa de entrada procesa directamente los vectores o plantillas, si el resultado de la operación de cada neurona supera un umbral predefinido la neurona realiza sinapsis con sus neuronas post-sinápticas. De esta forma, el resultado de la aplicación de una función de transformación no lineal a la combinación lineal de todos los puntos de la plantilla de entrada se traspasa a las neuronas siguientes.
METODOS DE SINTESIS DE VOZ
La síntesis de voz puede clasificarse dentro de tres tipos, según el modelo usado para generar la voz. Dichos modelos son: síntesis por formantes, síntesis articulatoria y síntesis por concatenación.
Sintetizadores por formantes:
Las formantes son las resonancias características de cada articulador del tracto vocal (Fig. 2.4.1-1) [5]. Determinan el timbre particular de cada vocal y definen las características individuales de las voces. Cada palabra emitida puede definirse en términos de las frecuencias formantes propias de cada individuo.
Sintetizadores por formantes:
Las formantes son las resonancias características de cada articulador del tracto vocal (Fig. 2.4.1-1) [5]. Determinan el timbre particular de cada vocal y definen las características individuales de las voces. Cada palabra emitida puede definirse en términos de las frecuencias formantes propias de cada individuo.
SINTETIZADORES ARTICULATORIOS
Los sintetizadores articulatorios usan un modelo físico de la producción de la voz, simulando la propagación de las ondas acústicas Emplean parámetros - definidos por reglas, al igual que los sintetizadores por formantes - que modelan los movimientos mecánicos del aparato fonador, y de las distribuciones resultantes de volumen y presión de aire en pulmones, laringe, tracto vocal y nasal
Esta técnica de síntesis no es capaz de generar voz con una calidad comparable a la síntesis por formantes y concatenación e implica altos costos en investigación sobre el sistema humano de generación de voz.
Sintetizadores por concatenación :En la síntesis por concatenación, un segmento de voz se sintetiza simplemente reproduciendo la onda sonora con el fonema respectivo. Un discurso completo se sintetiza entonces concatenando varios fragmentos de voz.
Esta técnica de síntesis no es capaz de generar voz con una calidad comparable a la síntesis por formantes y concatenación e implica altos costos en investigación sobre el sistema humano de generación de voz.
Sintetizadores por concatenación :En la síntesis por concatenación, un segmento de voz se sintetiza simplemente reproduciendo la onda sonora con el fonema respectivo. Un discurso completo se sintetiza entonces concatenando varios fragmentos de voz.
FUNDAMENTOS SOBRE RTP
- La tecnología VoIP consiste básicamente en la transmisión de voz sobre redes IP
- Se originó a partir de distintos factores que entre sí se potencian. El crecimiento de Internet y el desarrollo de métodos de compresión de voz, transmisión en tiempo real, y principalmente la necesidad de estar siempre comunicados son la base y antesala a la VoIP
Los Protocolos RTP Y RTCP
RTP al ser un protocolo de tiempo real, realiza sus operaciones manteniendo un comportamiento temporal estricto. Privilegia que las acciones se realicen intervalos de tiempo fijos, en lugar de ofrecer un desempeño a la velocidad más rápida`
RTP puede usarse para “media-on-demand” (servicio asíncrono de entrega de información) y para servicios interactivos. Su estructura básica está definida por dos partes: una relacionada con los datos a transmitir (sincronización, detección de pérdidas, seguridad e identificación de contenido) y otra dedicada a las funciones de control (identificación de fuente, soporte para gateways como puentes de audio y video, traductores de multicast a unicast).
RTP puede usarse para “media-on-demand” (servicio asíncrono de entrega de información) y para servicios interactivos. Su estructura básica está definida por dos partes: una relacionada con los datos a transmitir (sincronización, detección de pérdidas, seguridad e identificación de contenido) y otra dedicada a las funciones de control (identificación de fuente, soporte para gateways como puentes de audio y video, traductores de multicast a unicast).
RTP se implementa sobre UDP, no aportando fiabilidad adicional ni reservas de recursos u otras garantías. Incluye información sobre los orígenes del tráfico y marcas de tiempo específicas para la sincronización de cada medio transportado .
Entre emisores y receptores puede haber 2 tipos de nodos: mezcladores y receptores
Entre emisores y receptores puede haber 2 tipos de nodos: mezcladores y receptores
Mezclador, Recibe varios paquetes RTP, los combina, y envía otro nuevo. Puede utilizarse en casos donde algunos de los participantes pertenece a un área con bajo ancho de banda y los demás participantes son de un área con un ancho de banda privilegiado. En lugar de forzar a todos a usar una baja calidad en la comunicación se resincronizan los paquetes entrantes, mezcla el audio en un solo flujo, y recodifica el audio para enviarlo por bajos ancho de banda. Finalmente lo transmite a sus participantes en un paquete con un nuevo SSRC (Synchronization Source).
Traductor, . Cada participante envía un paquete RTCP para que se sepa quienes están escuchando Al igual que el mezclador, es un sistema intermedio. Ejemplos de traductor son:
• Conversores de codificación.
• Replicadores de multicast a unicast.
• Filtros a nivel de aplicación en cortafuegos.
El traductor reenvía paquetes tras modificarlos pero sin cambiar su identificador SSRC. Posibilita que los receptores identifiquen fuentes individualmente, aunque todos los paquetes pasen a través del mismo traductor y lleven la dirección fuente de la red del traductor.
Pero RTP solo se encarga de encapsular tráfico en tiempo real. El protocolo de reserva y garantía de calidad de servicio a determinados flujos se conoce como RTCP
Traductor, . Cada participante envía un paquete RTCP para que se sepa quienes están escuchando Al igual que el mezclador, es un sistema intermedio. Ejemplos de traductor son:
• Conversores de codificación.
• Replicadores de multicast a unicast.
• Filtros a nivel de aplicación en cortafuegos.
El traductor reenvía paquetes tras modificarlos pero sin cambiar su identificador SSRC. Posibilita que los receptores identifiquen fuentes individualmente, aunque todos los paquetes pasen a través del mismo traductor y lleven la dirección fuente de la red del traductor.
Pero RTP solo se encarga de encapsular tráfico en tiempo real. El protocolo de reserva y garantía de calidad de servicio a determinados flujos se conoce como RTCP
DISEÑO Y DESARROLLO DEL PROTOTIPO
Ya descritos los fundamentos tecnológicos sobre los cuales se basa el desarrollo expuesto se detalla a continuación su arquitectura, implementación y validación
ARQUITECTURA
representa el prototipo de sistema de reconocimiento, traducción y transporte de VoIP propuesto como solución. El diagrama muestra flujo enviado por un usuario A de lengua española hacia un usuario B de habla inglesa. El usuario B ejecuta una instancia del prototipo remotamente.
IMPLEMENTACION
El desarrollo del software fue por prototipado. Para implementarlo se buscó un lenguaje que además de ser compatible con las bibliotecas SAPI y WinRTP, fuese de un nivel lo más cercano posible al sistema operativo para obtener un mejor rendimiento.
Por estas razones, se optó por implementar el prototipo en Microsoft Visual C++ .NET accediendo directamente a las APIs de Windows. Cabe destacar que no se emplearon funciones propias de .NET tales como MFC (Microsoft Foundation Classes) y herramientas para servicios web.
Por estas razones, se optó por implementar el prototipo en Microsoft Visual C++ .NET accediendo directamente a las APIs de Windows. Cabe destacar que no se emplearon funciones propias de .NET tales como MFC (Microsoft Foundation Classes) y herramientas para servicios web.
VALIDACIÓN DEL PROTOTIPO
La variedad de voces disponibles para síntesis de voz pone a disposición del usuario distintas formas de identificarse. El prototipo cuenta con voces nítidas masculinas, femeninas, con variados tonos y en ambientes diversos.
CONECCION ENTRE NODOS
Se analizó también el comportamiento del ancho de banda (AB) al ejecutar una instancia del prototipo. Las pruebas se hicieron en dos conexiones distintas, y se observó el tráfico de entrada/salida en intervalos de 1 segundo en los nodos de menor velocidad. El software empleado para observar el tráfico fue PRTG Traffic Grapher V4.3.0.470 Freeware Edition.
CONCLUSIONES
Esta tesis se enfocó como un trabajo de ingeniería que busca solución a una limitante social y de comunicaciones, la diferencia de idiomas. Se enfrentaron procesos de apertura de paquetes tecnológicos e integración de reconocimiento de voz, síntesis de voz, VoIP y las funciones de un servicio web.
El diseño del prototipo propuesto posee una conectividad extensible. Incorporar un módulo SIP para abordar la telefonía IP y tradicional, no representaría un cambio radical en la arquitectura propuesta. Además, SIP emplea RTP para transmitir información en tiempo real
El diseño del prototipo propuesto posee una conectividad extensible. Incorporar un módulo SIP para abordar la telefonía IP y tradicional, no representaría un cambio radical en la arquitectura propuesta. Además, SIP emplea RTP para transmitir información en tiempo real
Suscribirse a:
Comentarios (Atom)














