Diseño y prototipado de aplicación para identificación de individuos a partir de su voz usando técnicas de machine learning
Design and prototyping of application for identification of individuals from their voice using machine learning techniques
Autor
Polo Bolaño, José David
Villa Narvaez, Carlos Daniel
Tovar Agudelo, Wilson Andrés
Fecha
2020-05-30Resumen
El reconocimiento de la voz es un tema que ha empezado a cobrar interés en los últimos años. En especial, el reconocimiento de un individuo a partir de su voz está siendo ampliamente tratado desde el campo de la inteligencia artificial. Claro está, la mayoría de publicaciones y proyectos usan el inglés como lenguaje principal dejando de lado otros idiomas como el español. Es por tal motivo que en este proyecto se implementa un sistema de reconocimiento automático de hablantes hispanos a partir de su voz usando técnicas de machine learning.
Para la predicción se usaron los coeficientes cepstrales en las frecuencias de mel que, de acuerdo a (R. Sharma, et. al, 2017) representan el habla basado en la percepción auditiva humana, los cuales sirven como entrada de las dos redes. Para el reconocimiento del hablante implementamos un modelo de red neuronal convolucional con una salida para la probabilidad de las N personas y para el reconocimiento del dígito usamos una red neuronal similar, pero con una capa de memoria a largo plazo (LSTM) que también es usada por (Senior et al., 2015) para la tarea del reconocimiento del habla. Finalmente, tenemos una capa de salida de 10 neuronas, las cuales representan la probabilidad para cada dígito. Nuestro modelo alcanza una precisión de entre el 90% y 93%.
Los datos fueron recolectados usando una aplicación web propia que se construyó como parte del protocolo de recolección de datos del proyecto. Este conjunto de datos contiene los audios de un determinado grupo de personas, los cuales se pasan a través de un proceso de limpieza para la eliminación del ruido. Cada persona grabó un total de 50 audios en donde pronuncia cada uno de los dígitos del 0 al 9. Gracias a esto podremos determinar qué persona dijo cualquier dígito y además, el dígito que dijo esa persona. Voice recognition has begun to attract interest in recent years. In particular, the recognition of an individual from his voice is being widely addressed from the field of artificial intelligence. Of course, most publications and projects use English as the base language, leaving aside other languages such as Spanish. That is why in this project an automatic recognition system of Spanish speakers from their voice is implemented using machine learning techniques.
For the prediction we used the mel frequency cepstral coefficients, which according to (R. Sharma, et. al, 2017) represent speech based on human auditory perception and serve as input for the two networks. For speaker recognition we implemented a convolutional neural network model with an output for the probability of N persons and for digit recognition we used a similar neural network, but with a long-term memory layer (LSTM), used by (Senior et al., 2015) for the speech recognition task. Finally, we have an output layer of 10 neurons which represents the probability for each digit. Our model achieves an accuracy of between 90% and 93%.
The data was collected using a custom web application that was built as part of the project's data collection protocol. This dataset contains the audios of a certain group of people, which are then passed through a clean-up process to remove the noise. Each person recorded a total of 50 audios where they pronounce each digit from 0 to 9. As a result, we will be able to determine which person said any digit and also the digit that person said.