audio - software - Reconocimiento de orador
voice recognition software spanish (4)
Este es un problema extremadamente difícil, incluso para los expertos en procesamiento de voz y señal. Esta página tiene mucha más información: http://en.wikipedia.org/wiki/Speaker_recognition
Y algunos puntos de partida de tecnología sugeridos:
Las diversas tecnologías utilizadas para procesar y almacenar impresiones de voz incluyen la estimación de frecuencia, modelos ocultos de Markov, modelos gaussianos de mezclas, algoritmos de coincidencia de patrones, redes neuronales, representación de matrices, cuantificación de vectores y árboles de decisión. Algunos sistemas también usan técnicas "anti-hablante", como modelos de cohortes y modelos mundiales.
¿Cómo podría diferenciar entre dos personas hablando? Como si alguien dijera "hola" y luego otra persona dijera "hola" ¿qué tipo de firma debería estar buscando en los datos de audio? ¿periodicidad?
¡Muchas gracias a todos los que pueden responder esto!
Tener solo dos personas para diferenciar, si están pronunciando la misma palabra o frase hará que esto sea mucho más fácil. Sugiero comenzar con algo simple y solo agregar complejidad según sea necesario.
Para comenzar, probaría los conteos de muestras de la forma de onda digital, agrupados por tiempo y magnitud o (si tiene la funcionalidad del software a mano) una FFT de toda la emisión. También consideraría primero un proceso de modelado básico, como el discriminante lineal (o lo que sea que ya tengas disponible).
Otra forma de hacerlo es utilizar una variedad de micrófonos y diferenciar entre las posiciones y las direcciones de las fuentes vocales. Considero que es un enfoque más fácil ya que el cálculo de posición es mucho menos complicado que separar diferentes altavoces de una fuente mono o estéreo.
La solución a este problema radica en el Procesamiento Digital de Señales (DSP). El reconocimiento de parlantes es un problema complejo que hace que las computadoras y la ingeniería de comunicaciones trabajen de la mano. La mayoría de las técnicas de identificación de locutores requieren el procesamiento de la señal con el aprendizaje automático (capacitación sobre la base de datos del hablante y luego la identificación con los datos de capacitación). El esquema del algoritmo que se puede seguir -
- Grabe el audio en formato sin formato. Esto sirve como la señal digital que necesita procesarse.
- Aplique algunas rutinas de preprocesamiento sobre la señal capturada. Estas rutinas podrían ser simplemente normalización de la señal o filtrado de la señal para eliminar el ruido (utilizando filtros de paso de banda para el rango de frecuencia normal de la voz humana.) Los filtros paso banda pueden crearse a su vez utilizando un filtro de pase bajo y un filtro de paso alto en combinación ).
- Una vez que es bastante seguro que la señal capturada está prácticamente libre de ruido, comienza la fase de extracción de características . Algunas de las técnicas conocidas que se utilizan para extraer características de voz son: Coeficientes Cepstrales Mel-Frequency ( MFCC ), Codificación Predictiva Lineal ( LPC ) o funciones FFT simples.
- Ahora, hay dos fases: entrenamiento y prueba .
- En primer lugar, el sistema debe capacitarse sobre las funciones de voz de los diferentes altavoces antes de que sea capaz de distinguir entre ellos. Para garantizar que las características se calculen correctamente, se recomienda que se recojan varias (> 10) muestras de voz de los oradores para fines de capacitación.
- El entrenamiento se puede hacer usando diferentes técnicas como redes neuronales o clasificación basada en la distancia para encontrar las diferencias en las características de las voces de diferentes hablantes.
- En la fase de prueba, los datos de entrenamiento se utilizan para encontrar el conjunto de características de la voz que se encuentra a la distancia más baja desde la señal que se está probando. Se pueden usar diferentes distancias como las distancias euclidiana o Chebyshev para calcular esta proximidad.
Hay dos implementaciones de código abierto que permiten la identificación de los hablantes: ALIZE : http://mistral.univ-avignon.fr/index_en.html y MARF : http://marf.sourceforge.net/ .
Sé que es un poco tarde para responder esta pregunta, pero espero que alguien lo encuentre útil.