Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERIA EN MECATRONICA
ANALISIS DE SISTEMAS Y SEALES
PROFESOR: MIGUEL ANGEL DE LA TORRE GOMORA
PROYECTO: RECONOCIMIENTO AUTOMATICO DE LOCUTOR
DAZ PREZ SAMUEL: 209674837
25 DE MAYO DEL 2016
INTRODUCCION
La voz es el instrumento de comunicacin humana que posee caractersticas que
lo distinguen de los dems por su facilidad de uso, a diferencia de la escritura que
requiere elementos adicionales (papel, lpiz, mquina de escribir, computadora,
etc.), adems la adquisicin de la seal de voz se puede realizar con instrumentos
poco invasivos a diferencia de los requeridos para tomar una huella dactilar,
imagen del iris, muestra de ADN, etc.
Siendo la voz la forma ms natural de comunicacin humana, el procesamiento
del habla se ha convertido en un rea de gran inters dentro del procesamiento de
seales. Resultado de este inters es el desarrollo de diversas tecnologas
orientadas al tratamiento de las seales de voz, conocidas en su conjunto como
tecnologas del habla, las cuales comprenden dos reas: sntesis de voz y
reconocimiento vocal. Este ltimo engloba el reconocimiento automtico del habla
y el reconocimiento automtico de locutor.
El reconocimiento automtico de locutor es de particular inters por el amplio
espectro de aplicaciones en las que impacta: aplicaciones tales como control de
acceso, seguridad en el uso de dispositivos, bsqueda automtica de datos
asociados a un locutor, clasificacin de audio por locutor, entre otras.
Este proyecto consistir en reconocer la identidad de una persona mediante el
anlisis y procesamiento de su voz, auxiliados por una gran cantidad de tcnicas
matemticas y de computacin, con las cuales obtendremos las caractersticas
nicas de cada una de las voces de los participantes.
METODOLOGA EXPERIMENTAL
La metodologa de nuestro proyecto detector de locutor se realizara siguiendo la
siguiente metodologa particular, anteriormente ya se haban mencionado algunas
formas de lograrlo, nosotros elegimos este debido a su sencillez, adems
detallaremos ms la forma en la que realizaremos este proceso.
Pre-procesamiento Extraccin de Clasificacin Decisin
caractersticas
Captura Se tomara el canal Se realizara Almacenamiento Toma de
De las 1 de las mediante de decisin del
voces grabaciones Matlab caractersticas, programa de
Se recortara a 2 usando la almacenamiento acuerdo a los
segundos, serian transformada en la base de parmetros
88,200 muestras rpida datos dados
de Fourier
(FFT)
RESULTADOS
Despus de las pruebas, los resultados obtenidos de las diferentes sesiones y
variaciones se representan en las siguientes tablas.
La sesin numero 1 corresponde a la grabacin de la palabra murcilago, las
sesiones 2 a 5 corresponden a la grabacin de la frase el murcilago est en el
rbol amarillo.
Variacin 1. Sistema base, sin filtrado, caractersticas mximo y mnimo en
frecuencia
% de aciertos % de errores
Sesin 1 54.28 45.72
Sesin 2 48.57 51.43
Sesin 3 42.85 57.14
Sesin 4 45.71 54.29
Sesin 5 40 60
Variacin 2. Filtro de media en el dominio del tiempo, caractersticas de
mximo y mnimo en frecuencia
% de aciertos % de errores
Sesin 1 60 40
Sesin 2 57.14 42.86
Sesin 3 54.28 45.72
Sesin 4 48.57 51.43
Sesin 5 51.42 48.58
Variacin 3. Filtro de media en el dominio de Fourier, caractersticas de
mximo y mnimo en frecuencia
% de aciertos % de errores
Sesin 1 62.85 27.15
Sesin 2 54.28 45.72
Sesin 3 57.14 42.86
Sesin 4 54.28 45.72
Sesin 5 51.42 48.58
Variacin 4. Mejor resultado de las variaciones 1 a 3, utilizando todos los
coeficientes de Fourier
% de aciertos % de errores
Sesin 1 77.14 22.86
Sesin 2 74.28 25.71
Sesin 3 68.57 31.43
Sesin 4 60 40
Sesin 5 62.85 27.15
Una vez terminadas las variaciones con las sesiones, podemos concluir que el
mejor mtodo para este caso fue aplicar la transformada de Fourier, para despus
tomar todos sus valores y aplicar la comparativa. Esto podra parecer fcil de
deducir, pues al considerarse ms puntos que solo el mximo y su posicin, las
caractersticas obtenidas son ms precisas, con lo cual el rango de error se reduce
notablemente.
CONCLUSIONES
Como ya se vio al inicio, los sistemas de RAL tienen una gran cantidad de
utilidades, pero para que estos sean confiables, al tratarse de sistemas
automatizados, deben de contar con una precisin del 100%, es decir que el
sistema no cometa errores de confundir una persona con otra y considerarla como
el individuo correcto, pues esto podra traer una gran cantidad de problemas,
como el acceso de personal no autorizado a zonas restringidas, realice de tramites
de personas ajenas a los titulares, etc.
Al probar diferentes tipos de manejo de las seales de nuestras voces, filtros,
normalizaciones, cortes, aplicacin de tcnicas matemticas, etc, pudimos ver
como los resultados de la eficiencia y precisin aumentaron considerablemente,
ms sin embargo no se lleg a los resultados deseados para alguna aplicacin
comercial, dejndolo entonces como un proyecto meramente escolar.
Para esto habra que explorar otras caractersticas a considerar, nuevos mtodos
de procesamiento de seales o forma de tomar los datos para la comparacin,
como los supervectores, mencionados en la introduccin del proyecto, para as
esperar aumentar la precisin a un 100% o lo ms cercano posible a dicho valor.
REFERENCIAS
[1] Kinnunen, Tomi and Lib Haizhou, An overview of text-independent speaker
recognition: from features to supervectors, preprint submitted to Speech
Communication, July 1, 2009.
[2] http://yaqui.mxl.uabc.mx/~molguin/investigacion/th/protocolo.htm
[3] https://drive.google.com/open?id=0B8TFIDma7mpsdTlWQmRDZmx5c1k
ANEXOS
Cdigo base del programa utilizado:
% Sistema base que utiliza los algoritmos bsicos para todas las etapas
del
% reconocimiento biomtrico.
clear all; close all;
% I. Registro
% Listo
% II. Comparacin
%%%%%%%%%% Sesin 2, todos los individuos %%%%%%%%%%%%%%%%
individuos = [1:10, 12, 15:19, 22:26, 28, 30:37, 39, 40, 42, 44:55];
e = individuos == idi;
for I=1:length(individuos)
pth = ['datos/VIC/vic_i' num2str(individuos(I), '%.40i') '_s03.m4a'];
[y, Fs] = audioread(pth);
x = y(Fs:3*Fs,1); % Seleccionar canal 1, y acotar a los segundos 2 y
3
X = abs(fft(x));
X = X(100:1000, :);
[a(I,1), a(I,2)] = max(X);
plot( a(I,1), a(I,2), '*g');