Table of Contents
Sobre Reconocimiento de patrones de voz
En este proyecto trabajamos las diferentes alternativas para el reconocimiento de patrones de voz basadas en la librería Resemblyzer de Python. Utilizando la versión 3.9 de Python para realización del proyecto y con Django en su versión 4.0.6 que beneficia en la creación de los servicios que expone la aplicación.
Trabajando con la librería
En el proyecto nos encontraremos con el archivo requirements.txt donde estan descriptas las versiones de cada librería necesaria para la implementación. Además es necesario que su entorno cuente con una base de datos MySQL para guardar el registro de valores correspondientes a las llamadas a los servicios expuestos.
Iniciar proyecto
Luego de la instalación de las librerías necesarias, el siguiente paso es iniciar la aplicación. Ejecutando el siguiente comando la aplicación se ejecutará:
python manage.py runserver
Ten en cuenta que el siguiente comando se ejecutará si tu versión por default de Python ya es la 3.9 La aplicación te brindará el puerto 8000 para tu aplicación, puedes cambiar ese puerto indicandoselo de la siguiente manera:
python manage.py runserver http://127.0.0.1:8080
Registro de Usuario
Luego de inciada la aplicación puedes acceder a los servicios a través de los siguentes endpoints
El primero de los servicios es el de Registro, para utilizarlo debes consumir el siguiente endpoint enviando como parametros, el DNI, nombre y el Wav codificado en base64 que corresponde al usuario que deseas registrar.
http://127.0.0.1:8000/api/register
Enviando en formato JSON los datos comentados anteriormente. La confirmación de que nuestro registro a funcionado correctamente se da a través de una respuenta en formato también JSON con un success
Chequeo de usuario
Como en el anterior apartado realizamos la registración de nuestro primer usuario, ahora debemos chequear coincidencia enviando un nuevo archivo wav encripado utilizando un nuevo servicio.
http://127.0.0.1:8000/api/check
En este caso nuestro JSON, solo contará con el DNI y el archivo wav encriptado en base64. La respuesta nos confirmará mediante otro JSON si el usuario es el mismo o no, comparando los dos archivos wavs, el que se guardo en el registro y el que estamos enviando. Devolviendo dos mensajes como Different Speaker para responder que no son los mismos usuarios o Same Speaker para mostrar la coincidencia.
Verificando existencia de usuario
Contamos con un servicio más que nos indica si el usuario existe dentro de la base de datos con su correspondiente valor de archivo wav codificado.
http://127.0.0.1:8000/api/whois
Este servicio solo aceptará 1 valor que es el wav encriptado en base64 que responderá solamente de quien es el wav (siempre que se encuentre registrado) con un saludo al nombre de usuario guardado en la registración