Evaluación comparativa de sistemas
de reconocimiento de locutor basados en los algoritmos LPC, CC y MFCC
Comparative Evaluation of Speaker Recognition Systems
Based on the LPC, CC and MFCC Algorithms.
Yesenia González1[1] Héctor Juárez2, Oscar
Rocha3, Rubén Hernández4, Alfredo Bermúdez5.
Recibido: 06/2019
Aceptado: 09/2019
Resumen.
- El presente documento propone realizar la evaluación de sistemas de
reconocimiento de locutor basados en los algoritmos LPC (Coeficientes de
Predicción Lineal), CC (Coeficientes Cepstrales) y MFCC (Coeficientes Cepstrales
en Frecuencias Mel), empleados en la extracción de parámetros de voz. La
evaluación, siguiendo una metodología cuantitativa experimental, consiste en
determinar el cambio de desempeño cuando la señal de entrada es expuesta a
diferentes condiciones de ruido (bullicio y gaussiano), es decir, a
distintos niveles de SNR, comparando los resultados de verificación para 2
locutores. Aunque todos los sistemas disminuyen su desempeño en ambientes
ruidosos, cada uno posee de forma intrínseca cierto nivel de robustez. Esta
evaluación servirá de referencia en la construcción de
sistemas de reconocimiento de locutor, los cuales incluyan sistemas de mejora
de voz para disminución del ruido.
Palabras clave: Reconocimiento de locutor,
ruido de bullicio, algoritmo MFCC, algoritmo CC, algoritmo LPC.
Summary. -This document proposes the evaluation of speaker recognition systems based on the LPC (Linear Predicting Coding), CC (Cepstral Coefficients) and MFCC (Mel Frequency Cepstral Coefficients) algorithms, used in the extraction of voice parameters. The evaluation, following an experimental quantitative methodology, consists of determining the change in performance when the input signal is exposed to different noise conditions (crowd and Gaussian noise), namely, at different levels of SNR, comparing the verification results for 2 speakers. Although all the systems decrease their performance in noisy environments, each one possesses intrinsically a certain level of robustness. This evaluation will serve as a reference in the construction of speaker recognition systems, which include voice enhancement systems to reduce noise.
Keywords: Speaker
recognition systems, crowd noise, MFCC algorithm, CC algorithm, LPC algorithm.
1 Introducción. - Los
sistemas de procesamiento de voz se han desarrollado a la par que las
comunicaciones digitales y su principal uso es en los sistemas de telefonía. Además,
existen aplicaciones en otros campos, como en el reconocimiento de palabras y
reconocimiento de locutor.
En éste
análisis se plantea el método de la verificación de locutor, el cual consiste
en obtener un análisis de las características de la voz, las cuales están
determinadas por factores físicos del locutor (tráquea, laringe y labios) y por
el hábito o manera de hablar (ritmo, entonación y pronunciación), que permiten
la comparación con una referencia y que, a su vez, pueda definir si la persona
que habla es quien se encuentra en el registro.
En
particular, el reconocimiento de locutor tiene utilidad en sistemas de acceso
seguro y en cuestiones forenses, es decir, el procesamiento de voz para el
reconocimiento de locutor puede auxiliar en la restricción de acceso por medios
electrónicos, donde sirve para la identificación de la persona, con base en
parámetros característicos de su voz. Asimismo, puede auxiliar en
procedimientos en ciencias criminalísticas para determinar si la voz de una
persona coincide con algún actor involucrado en algún hecho delictivo o bajo
proceso legal
En los
sistemas de reconocimiento de locutor se han empleado diversos métodos de
extracción de parámetros de voz como lo son: Coeficientes de Predicción Lineal
(LPC, por sus siglas en inglés), Coeficientes Cepstrales (CC, por sus siglas en
inglés), Coeficientes Cepstrales en Frecuencias Mel (MFCC, por sus siglas en
inglés), bajo diferentes circunstancias y en combinación con diferentes
sistemas de clasificación incluyendo redes neuronales, distancias específicas y
sistemas difusos
Resulta de
interés medir la eficiencia, bajo ambientes ruidosos, de los diferentes procedimientos
de extracción de parámetros de voz: LPC, CC y MFCC. Estos procedimientos, han
sido evaluados con diferentes propósitos, y son utilizados ampliamente en
diferentes sistemas modernos. Por ejemplo, los LPC se emplean para la síntesis
de voz en telefonía celular y telefonía IP
Un método para
poder medir la eficiencia de un sistema de reconocimiento de voz es el
porcentaje de éxito al reconocer un locutor, es decir, si de 100 vectores de
prueba el sistema identifica al locutor en todos los casos, para este conjunto
se tendrá un 100% de éxito. El incorrecto reconocimiento puede ser causa de:
los efectos sonoros que hay en el ambiente, el ruido que se agrega a la señal
digitalizada, los dispositivos y/o materiales (propiedades acústicas, mala
calidad de los materiales) empleados en la captura de la voz, el algoritmo
empleado en el sistema, la mala pronunciación del hablante, entre otros.
2 Desarrollo.
- La investigación aquí desarrollada pretende
brindar información para la selección de los sistemas de reconocimiento de
locutor de acuerdo con su porcentaje de reconocimiento, viabilidad de
aplicación en ambientes ruidosos y la cantidad de coeficientes que son usados
por sus algoritmos de extracción de características.
El
trabajo consiste en la programación de tres sistemas de reconocimiento de
locutor que difieren en la etapa de extracción de
características. Un diagrama a bloques de un sistema de reconocimiento de
locutor se puede observar en la Figura I.
Figura I. Etapas en un sistema de reconocimiento de locutor
Cada sistema es evaluado con las
diferentes señales de voz originales, obteniéndose así un conjunto de
estadísticas de desempeño. Posteriormente, se evalúan reiteradamente empleando
las señales con diferentes niveles de ruido aditivo (ruido de bullicio y ruido
gaussiano), lo cual, permite comparar las variaciones en el desempeño de cada
sistema respecto al obtenido con las señales originales. Es importante resaltar
que no se encontraron trabajos previos donde se realice la comparativa de
reconocimiento de locutor entre los 3 algoritmos aquí presentados y que
incluyan una variación del SNR (relación señal a ruido) en las señales de
entrada al sistema. Si bien, existen estudios comparativos
Se decidió utilizar una metodología cuantitativa de tipo experimental debido a que esta se
caracteriza, básicamente, por la manipulación intencional de una o más
variables independientes (nivel de SNR y número de coeficientes empleados en
los algoritmos de extracción de características), para observar/medir su
influencia en una o más variables dependientes (porcentaje de reconocimiento
correcto).
Para el desarrollo del proyecto, se
recolectaron grabaciones de voz de los dos alumnos participantes en el
proyecto, pronunciando 9 palabras con 10 repeticiones cada una. Para la recolección
del ruido de bullicio, se realizaron grabaciones de audio dentro de la Unidad
Académica de los autores, en lugares donde se encontraban entre 10-30 personas
hablando al mismo tiempo.
2.1 Algoritmos
de reconocimiento de locutor. - Como se ha mencionado, el trabajo
implementa los algoritmos LPC, CC y MFCC. A continuación, se realiza una
descripción de cada uno de ellos.
2.1.1 Codificación
de predicción lineal (LPC).- El modelo de Codificación de Predicción
Lineal es considerado uno de los modelos más próximos (analógicamente hablando)
al sistema vocal humano
Lo
fundamental de este modelo es representar una señal de voz como una función de
excitación constituida por un tren de pulsos cuasi periódicos (para sonidos
vocalizados) o una fuente de ruido aleatorio (para sonidos no vocalizados). La
idea básica del modelo LPC es que una muestra de voz dada en un tiempo
|
|
(1) |
donde los
coeficientes
|
|
(2) |
se define al
error de predicción
|
|
(3) |
sustituyendo (2) en (3) se tiene:
|
|
(4) |
el error de una
trama
|
|
(5) |
Para minimizar el error de predicción
respecto al conjunto de parámetros
|
|
(6) |
Siendo la derivada de una sumatoria, la
suma de sus derivadas, y teniendo la función de la forma:
|
|
(7) |
Dado que
|
|
(8) |
reacomodando términos,
con
|
|
(9) |
con la expresión
de autocorrelación
|
|
(10) |
Se puede observar que en (9) existe una autocorrelación en la parte derecha
de la ecuación y una autocorrelación retrasada
|
|
(11) |
Lo que constituye un conjunto de
|
|
(12) |
como la función de autocorrelación es simétrica:
|
|
(13) |
teniendo así:
|
|
(14) |
La matriz en (14) se puede resolver mediante el método
recursivo de Levinson – Durbin
2.1.2 Cepstrum y coeficientes cepstrales (CC).- De acuerdo con el modelo mostrado en Figura II, el habla está compuesta de una
secuencia de excitación convolucionada con la respuesta al impulso del modelo
del sistema vocal. Solo se tiene acceso a la salida, por lo que muchas veces es
deseable eliminar algunas de sus componentes para que otras puedan ser
examinadas, codificadas, modeladas, o usadas en un algoritmo de reconocimiento.
Figura II. Diagrama a bloques de producción de habla humano
El cepstrum viene de aplicar una
operación no lineal al espectro (función logaritmo) de una señal, y aplicar la
operación contraria de la transformada de Fourier, de aquí su analogía al
dominio espectral, teniendo así términos similares con silabas invertidas, por
ejemplo, del inglés spectral, se invierte la primera silaba spec, a ceps, y se
combina con la segunda silaba teniendo la palabra cepstral. Así como el
espectro de una señal permite ver cada una de sus componentes en el dominio de
la frecuencia, el cepstrum permite representar señales combinadas por
convolución en las sumas de sus componentes cepstrales
Figura III. Proceso de extracción de coeficientes cepstrales. siendo s(n) la
señal de entrada y c(n) los coeficientes cepstrales
La producción de la voz puede ser
representada como un sistema con entradas y salidas. Por lo que, si la señal de
voz es
|
|
(15) |
donde * representa la operación de convolución. Por
propiedades de la transformada de Fourier, se puede obtener lo siguiente:
|
|
(16) |
Ahora, al aplicar la función absoluto y logaritmo en (16), se puede separar la señal correspondiente a la
excitación
|
|
(17) |
sin embargo, aún se encuentra en el dominio de la
frecuencia, para regresar al dominio del tiempo se aplica la transformada de
Fourier inversa, llegando así a un nuevo dominio llamado dominio cepstral.
|
|
(18) |
donde los valores de
Siendo que el modelo representativo de
una persona no es algo que varíe mucho, mientras que la excitación sí lo es,
los primeros
2.1.3 Coeficientes cepstrales en la frecuencia de
Mel (MFCC). - En el
procesamiento de sonido, el cepstrum en frecuencias Mel es una representación
del espectro de potencia a corto plazo de un sonido. El cepstrum en frecuencias
Mel (MFC), realmente es un cepstrum con su espectro mapeado en la escala Mel.
Los coeficientes cepstrales en frecuencias Mel (MFCC) son coeficientes que colectivamente
forman un MFC. La diferencia entre el “cepstrum” y el “cepstrum en frecuencia
de Mel” es que, en la MFC, las bandas de frecuencia están igualmente espaciadas
en la escala de Mel, esto se aproxima más a la respuesta del sistema auditivo
humano que las bandas de frecuencia linealmente utilizadas en el cepstrum
normal. Esta distorsión de frecuencia puede permitir una mejor representación
del sonido.
Ventaneo
y tramas. - En todas las
aplicaciones de procesamiento de señales, es necesario trabajar con términos
cortos o tramas de la señal, necesitando hacer la selección de esas tramas o
intervalos elegidos; por lo que se requerirá hacer uso de una función de
ventana.
Una función de ventana
Escala
de Mel. - La escala de
Mel relaciona la frecuencia percibida, o el tono, de un tono puro con su
frecuencia real medida. Por ejemplo, los seres humanos son mucho mejores para
discernir pequeños cambios en el tono en las frecuencias bajas a comparación de
las frecuencias altas. Por lo tanto, esta escala hace que las características
coincidan más estrechamente con lo que escuchan los humanos.
La escala Mel fue desarrollada por
Stanley Smith Stevens, John Volkman y Edwin Newman
|
|
(19) |
|
|
(20) |
Figura IV. a) Gráfica de escala Mel versus escala
Hertz. b) Gráfica de escala de Hertz versus escala de Mel.
Una vez filtrada la señal, se obtiene la potencia
promedio de cada vector resultante.
|
|
(21) |
y después, se
aplica la función logaritmo y por último la transformada discreta de coseno.
|
(22) |
El resultado
de la aplicación de las ecuaciones (20) y (21) es la obtención del espectro de
potencia de la señal en los intervalos de frecuencia establecidos por la escala
Mel. El cepstrum en frecuencias Mel (MFC), realmente es un cepstrum con su
espectro mapeado en la escala Mel antes de aplicar la operación logarítmica y
la transformada inversa de Fourier, como lo mostrado en la Figura
V.
Figura V. Proceso de extracción de MFCC [20].
Al multiplicar la señal por un banco de filtros triangulares (Figura VI) se logra
obtener las componentes de frecuencia que le aporta la señal analizada a cada
banda del banco de filtros. Comúnmente se usan 24 filtros triangulares
espaciados de acuerdo con la escala de frecuencias Mel. Con estos filtros se
calcula el promedio del espectro alrededor de cada frecuencia central.
Figura VI. Banco de filtros triangulares superpuestos en escala de Mel.
Cada banco de filtros
corresponde a la función (23), donde
|
|
(23) |
2.2 Diseño del sistema de reconocimiento de locutor.- Tomando como base el diagrama a bloques
de la Figura I, en la Tabla I se describen cada una de
las etapas de los sistemas de reconocimiento de locutor propuestos.
Tabla I. Descripción de las etapas de los
sistemas de reconocimiento de locutor basados en los
Algoritmos LPC, CC y MFCC.
Etapa |
Descripción |
Fuente |
La fuente corresponde a las señales de audio
grabadas de diferentes locutores, estas constan de emisiones de audio en
idioma español. Se propone obtener muestras originales consideradas sin ruido
y versiones diferentes de las mismas, pero con diferentes niveles de ruido,
es decir con variaciones en el nivel de relación señal a ruido (SNR, por sus
siglas en inglés). Las señales de ruido que se agregan a las muestras
originales se pueden generar de forma artificial para el caso de ruido
gaussiano y por la mezcla de diferentes voces para el caso de ruido de
bullicio. |
Captura y digitalización |
Esta etapa consta de un transductor (micrófono) que
convierte las vibraciones sonoras en variaciones de voltaje, después,
mediante un convertidor analógico digital (ADC, por sus siglas en inglés) se
realiza un muestreo de la señal. |
Pre procesamiento |
En la etapa de pre procesamiento se realiza el
ventaneo y se aplican filtros para adecuar la señal antes de ser procesada.
En esta investigación se propone utilizar un filtro preénfasis, ya que los
segmentos de voz sonoros tienen una pendiente espectral negativa, este filtro
permite contrarrestar esta pendiente, mejorando así la eficiencia de las
etapas posteriores. Se utiliza una ventana de Hamming (proceso de ventaneo)
para poder eliminar problemas causados por los cambios rápidos en los
extremos de las tramas de voz. |
Extracción de características |
Para la extracción de las características del
hablante se aplican los algoritmos LPC, CC y MFCC en los que se basa esta
investigación. Cada algoritmo se implementó en Matlab el cual a comparación
de Python permite un manejo sencillo de vectores en tiempo real gracias a su
Workspace. Cabe resaltar que no se usaron las funciones nativas para una
posible implementación en cualquier otro lenguaje de programación; se hizo la
validación de estos algoritmos comparándolos con los de Matlab y, también se
corroboraron con la reconstrucción del espectro de la señal original. |
Modelo de referencia y semejanza |
El modelo de referencia utilizado es una red
neuronal, debido a su capacidad de clasificación y aprendizaje para
determinadas tareas, con solamente datos y sin necesidad de conocer la
fuente. Las redes neuronales se componen de dos etapas: etapa de
entrenamiento y etapa de validación En la etapa de entrenamiento la red neuronal se
ajusta de tal manera que relaciona los valores de entrada a su salida
correspondiente, en este caso, relaciona cada grabación de voz con el usuario
a verificar o rechazar. En la etapa de validación se introducen grabaciones
que no se hayan utilizado en la etapa de entrenamiento, pudiendo tener un
resultado exitoso o erróneo en la verificación de locutor, calculando así el
porcentaje de eficiencia de la red. |
2.2.1 Red neuronal .- Como modelo
de referencia se utilizó una red neuronal tipo perceptrón multicapa con el algoritmo
de entrenamiento de retropropagación, este tipo de red es el más usado
2.3 Variables de estado. - La Tabla II describe las diferentes variables de
estado aplicadas a los sistemas de reconocimiento de locutor. Para determinar
el número de bits de resolución, se utilizó la siguiente ecuación de error de
cuantificación
|
|
(24) |
donde
|
|
(25) |
Tabla II. Descripción de variables de estado
utilizadas.
Variable |
Descripción |
Frecuencia de muestreo |
Se eligió la frecuencia de 16000 Hz. Se conoce como
audio de banda ancha o audio de alta definición, debido a que permite una
mejor calidad al grabar la voz, permitiendo grabar así hasta 8 hasta fonemas.
Esta frecuencia de muestreo es utilizada en aplicaciones modernas de VoIP |
Bits de resolución |
Se utilizaron 16 bits/muestra para minimizar el
error de cuantificación. Con esta resolución utilizando la ecuación (23), el
error de cuantificación |
Tamaño de la ventana/trama |
El tamaño elegido es de Con una |
Número de puntos en FFT |
Se utilizan 512 puntos, correspondiente con el
tamaño de la trama. |
Número de repeticiones |
Se eligieron 10 repeticiones, de las cuales 8 se
utilizan para entrenar la red neuronal artificial y 2 repeticiones se
utilizan para probar la red. |
Palabras a utilizar |
Estas palabras se seleccionaron basándose en |
Grabaciones con ruido de bullicio |
Se han realizado grabaciones dentro de la Unidad
Académica, buscando los lugares con mayor cantidad de personas hablando,
destacando la cafetería de la Unidad. |
Formato de audio |
Se hizo la elección del formato “.wav”, tomando en
cuenta que es un formato sin compresión, que es de los más usados y es
soportado por una gran cantidad de reproductores y programas. |
Número de coeficientes en los algoritmos |
El número de coeficientes se puede seleccionar
dentro del sistema, sin embargo, siguiendo las recomendaciones de |
3 Resultados.
-
Esta sección describe la validación de los algoritmos utilizados y los
distintos escenarios de prueba que se llevaron a cabo.
3.1 Validación
de algoritmos. - Para corroborar la implementación de los algoritmos,
es decir, que extraen de forma correcta las características de la voz, se
realizó una aproximación al espectro de voz del locutor, basándose en los
coeficientes de cada algoritmo. La Figura
VII muestra la
reconstrucción del espectro de voz para los algoritmos LPC, CC y MFCC
respectivamente usando 8, 16, 32, 64, 128 y 256 coeficientes.
Figura VII. Espectro aproximado de voz variando los coeficientes LPC, CC y MFCC.
Se realizó una comparación entre los
algoritmos implementados y los nativos de Matlab, para una palabra con 30
tramas de 32ms los resultados se muestran en la Tabla III. Para los
algoritmos LPC y CC las funciones nativas muestran un menor tiempo, mientras
que en MFCC es lo contrario, al revisar la documentación de Matlab se justifica
el mayor tiempo por el banco de filtros el cual presenta además de estar en
intervalos logarítmicos, presenta amplitudes logarítmicas. Otra explicación, es
que la función de Matlab nativa calcule el banco de filtros por cada vez que se
manda a llamar la función, mientras que el algoritmo que se implementó permite
guardar el banco de filtros en una variable para evitar tener que calcularlo en
cada iteración. Por otra parte, al usar la función FFT nativa de Matlab se
explica que el error cuadrático medio del algoritmo CC sea 0.
Para los algoritmos LPC y CC las funciones nativas muestran un menor
tiempo, mientras que en MFCC es lo contrario, al revisar la documentación de
Matlab se justifica el mayor tiempo por el banco de filtros el cual presenta además
de estar en intervalos logarítmicos, presenta amplitudes logarítmicas. Otra
explicación, es que la función de Matlab nativa calcule el banco de filtros por
cada vez que se manda a llamar la función, mientras que el algoritmo que se
implementó permite guardar el banco de filtros en una variable para evitar
tener que calcularlo en cada iteración. Por otra parte, al usar la función FFT
nativa de Matlab se explica que el error cuadrático medio del algoritmo CC sea
0.
Tabla III. Resultados con coeficientes de orden 30.
|
Algoritmo
LPC |
Algoritmo
CC |
Algoritmo
MFCC |
Complejidad
computacional |
O( |
O( |
O( |
Tamaño
de la matriz resultante |
30x32 |
30x512 |
30x32 |
Tiempo
de ejecución Matlab [s] |
0.016263 |
0.006297 |
0.297807 |
Tiempo
de ejecución propio [s] |
0.020659 |
0.010825 |
0.063452 |
Diferencia
de tiempos |
-0.004396 |
-0.004528 |
0.234355 |
Error
cuadrático medio. [Amplitud2] |
7.2166e-20 |
0 |
0.8799 |
Error
cuadrático medio [dB] |
-881.5064 |
-Inf |
-2.5596 |
Al realizar la prueba de las 9 propuestas con 10 repeticiones (Figura VIII.a), se
observó que existen puntos (representaciones de cada muestra) que están
sobrepuestos entre cada locutor, a diferencia de realizar la prueba para una
palabra con 100 repeticiones (Figura VIII.b).
a) b)
Figura VIII. a) 9 palabras con 10 repeticiones, b) 1 palabra con 100 repeticiones.
3.2 Escenarios de prueba. - Para la
selección de los escenarios de prueba, se utilizaron 32 coeficientes en los
algoritmos de extracción, se programó una red neuronal con 5 capas ocultas y 16
neuronas por capa y un entrenamiento con 10,000 épocas para cada una de las
palabras. El resultado del porcentaje de reconocimiento por cada locutor es
mostrado en la Tabla III.
Tabla IV. Porcentaje de reconocimiento de locutor de una red neuronal entrenada
por palabra.
Palabras |
Locutor 1 |
Locutor 2 |
||||
LPC |
CC |
MFCC |
LPC |
CC |
MFCC |
|
Barra |
75 |
75 |
75 |
75 |
75 |
75 |
Daga |
50 |
50 |
75 |
75 |
75 |
75 |
Gama |
100 |
100 |
100 |
100 |
100 |
100 |
Lava |
75 |
75 |
75 |
75 |
75 |
75 |
Llave |
75 |
50 |
75 |
75 |
75 |
75 |
Lobo |
100 |
100 |
100 |
100 |
100 |
100 |
Mano |
75 |
75 |
75 |
50 |
50 |
50 |
Mayo |
100 |
100 |
100 |
75 |
75 |
75 |
Niño |
100 |
75 |
75 |
75 |
100 |
100 |
Murciélago |
75 |
75 |
75 |
75 |
50 |
100 |
Aurelion |
100 |
75 |
75 |
75 |
100 |
100 |
Tomando
como punto de partida la palabra “Gama” en la que se obtuvo mayor porcentaje en
los tres algoritmos de reconocimiento, se realizaron pruebas utilizando un
mayor número de repeticiones, procurando tener los mismos parámetros (entonación
y rapidez) en ambos usuarios para después corromper las muestras de voz con
ruido (bullicio y gaussiano) y observar los resultados de eficiencia de estos
sistemas.
3.3 Discusión de resultados.- El porcentaje de reconocimiento de
locutor para las muestras contaminadas con ruido gaussiano con una variación en
la SNR de 60 dB a -20 dB se muestra en la Tabla V. La Figura IX y
la Figura X muestran las gráficas respectivas. Para ambos locutores, el
algoritmo que presentó mejor desempeño fue el de MFCC, seguido del algoritmo
LPC (el porcentaje de reconocimiento correcto logra mantenerse para valores más
pequeños de SNR). Para el caso del algoritmo CC, incluso con valores altos de
SNR mantuvo un bajo desempeño.
Tabla V.
Porcentaje de reconocimiento de locutor para la palabra “Gama” obtenido al
variar la SNR con ruido gaussiano y utilizando 16 y 32 coeficientes.
Locutor 1 |
Locutor 2 |
|||||||||||
LPC |
CC |
MFCC |
LPC |
CC |
MFCC |
|||||||
SNR [dB] |
16 c. |
32 c. |
16 c. |
32 c. |
16 c. |
32 c. |
16 c. |
32 c. |
16 c. |
32 c. |
16 c. |
32 c. |
60 |
100 |
100 |
5 |
5 |
97.5 |
100 |
100 |
100 |
7.5 |
5 |
100 |
100 |
50 |
97.5 |
100 |
5 |
7.5 |
97.5 |
100 |
100 |
100 |
7.5 |
5 |
100 |
100 |
40 |
92.5 |
92.5 |
5 |
7.5 |
97.5 |
100 |
97.5 |
97.5 |
7.5 |
5 |
100 |
100 |
30 |
52.5 |
62.5 |
5 |
5 |
97.5 |
97.5 |
70 |
82.5 |
7.5 |
5 |
100 |
100 |
20 |
50 |
50 |
5 |
5 |
95 |
95 |
40 |
50 |
7.5 |
5 |
100 |
85 |
10 |
50 |
32.5 |
5 |
5 |
70 |
70 |
42.5 |
45 |
7.5 |
5 |
72.5 |
55 |
0 |
50 |
2.5 |
5 |
5 |
55 |
52.5 |
45 |
45 |
7.5 |
5 |
55 |
50 |
-10 |
50 |
7.5 |
5 |
5 |
50 |
47.5 |
37.5 |
35 |
7.5 |
5 |
55 |
40 |
Figura IX. Porcentaje de reconocimiento en locutor
1 con ruido gaussiano.
Figura X. Porcentaje de reconocimiento de locutor
2 con ruido gaussiano.
El
porcentaje de reconocimiento de locutor para las muestras contaminadas con
ruido de bullicio con una variación en la SNR de 60 dB a -20 dB se muestra en
la Tabla VI. La Figura XI y
la Figura XII muestran las gráficas correspondientes. Los algoritmos
presentaron comportamientos similares a los obtenidos al aplicar ruido
gaussiano, es decir, el algoritmo MFCC obtuvo el mejor desempeño, seguido por
el algoritmo LPC y muy por debajo el desempeño del algoritmo CC.
Tabla VI. Porcentaje de reconocimiento de locutor para la palabra “Gama”
obtenido al variar la SNR con ruido de bullicio y utilizando 16 y 32
coeficientes.
Locutor 1 |
Locutor 2 |
|||||||||||
LPC |
CC |
MFCC |
LPC |
CC |
MFCC |
|||||||
SNR [dB] |
16 c. |
32 c. |
16 c. |
32 c. |
16 c. |
32 c. |
16 c. |
32 c. |
16 c. |
32 c. |
16 c. |
32 c. |
60 |
100 |
100 |
5 |
5 |
97.5 |
100 |
100 |
100 |
7.5 |
5 |
100 |
100 |
50 |
97.5 |
100 |
5 |
7.5 |
97.5 |
100 |
100 |
100 |
7.5 |
5 |
100 |
100 |
40 |
100 |
100 |
5 |
5 |
97.5 |
100 |
97.5 |
100 |
7.5 |
5 |
100 |
100 |
30 |
92.5 |
92.5 |
5 |
5 |
97.5 |
97.5 |
95 |
100 |
7.5 |
5 |
100 |
100 |
20 |
72.5 |
57.5 |
5 |
5 |
95 |
95 |
70 |
87.5 |
7.5 |
5 |
95 |
87.5 |
10 |
50 |
50 |
5 |
5 |
80 |
65 |
50 |
57.5 |
7.5 |
5 |
82.5 |
62.5 |
0 |
50 |
42.5 |
5 |
5 |
65 |
60 |
40 |
45 |
7.5 |
5 |
50 |
52.5 |
-10 |
50 |
37.5 |
5 |
7.5 |
40 |
50 |
42.5 |
35 |
7.5 |
7.5 |
50 |
32.5 |
Figura XI. Porcentaje de reconocimiento de locutor
1 con ruido de bullicio.
Figura XII. Porcentaje de reconocimiento de locutor
2 con ruido de bullicio.
Al
variar la SNR de las señales de entrada, a partir de los 40 dB’s se observó un
decremento en la eficiencia de los sistemas LPC mientras que los sistemas MFCC
mostraron soportar hasta 20 dB’s antes de disminuir su eficiencia. En la
variación de los coeficientes, las gráficas tienen un comportamiento similar,
por lo que no es un factor para mejorar la robustez del algoritmo frente al
ruido. En cuanto a las diferencias de ruido gaussiano y de bullicio, en este
último las gráficas presentan un comportamiento más inestable, esto podría ser
por una mayor presencia de falsos positivos, debido a que se el ruido de
bullicio proviene del mismo tipo de fuente que se desea reconocer (locutores).
Por otro lado, los sistemas con LPC mostraron un decremento mayor frente al
ruido gaussiano, llegando al 50% de reconocimiento en los 25 dB.
Con
respecto a la red neuronal, la topología influyó en el porcentaje de
reconocimiento que se obtuvo en los sistemas antes de probarlos con señales con
ruido. Para poder escoger la topología de red a utilizar, se realizaron pruebas
variando el número de capas y el número de neuronas de la red. Finalmente, se
observó una mejor relación entre porcentaje de reconocimiento y tiempo de
procesamiento al usar 5 capas ocultas con 16 neuronas en cada capa.
4 Conclusiones. - En este
trabajo se han implementado sistemas de verificación de locutor utilizando los algoritmos
LPC, CC y MFCC de extracción de características de la voz. Para llevar a cabo
estos sistemas, se desarrolló e implementó una red neuronal tipo perceptrón
multicapa entrenada con el algoritmo de retropropagación.
Los
resultados muestran que el ocupar más coeficientes en los algoritmos, no implica
que estos sean más resistentes al ruido, sin embargo, la necesidad de mayor
número de coeficientes para obtener un mayor porcentaje de reconocimiento se
hace presente en el algoritmo CC. Con respecto al tipo de palabras a utilizar,
el usar palabras con todas las vocales, no hace al sistema más robusto. Un punto
para resaltar es que la utilización de una palabra con varias repeticiones, a
diferencia de varias palabras con pocas repeticiones, presenta una mejora en la
verificación de locutor (reconocimiento). Las gráficas de porcentaje de
reconocimiento cuando están bajo el ruido de bullicio presentan un
comportamiento más caótico que cuando están bajo el ruido gaussiano, sin
embargo, el desempeño de los algoritmos con ambos tipos de ruido utilizados se
mantuvo.
5 Referencias
[1] |
T. Kinnunen y H. Li, "An Overview of
Text-Independent Speaker Recognition: from Features to Supervectors," Speech Communication, vol. 52, no. 1,
pp. 12-40, 2010. |
|
[2] |
H. Beigi, Fundamentals
of speaker recognition. New York, USA: Springer, 2011. |
|
[3] |
M. Ray, M. Chandra y B. Patil, "Speech Coding
Techniques for VoIP Applications: A Technical Review," World Applied Sciences Journal, vol.
33 no. 5, pp. 736-743, 2015. |
|
[4] |
C. Ittichaichareon, S. Suksri y T. Yingthawornsuk,
"Speech Recognition using MFCC," en International Conference on
Computer Graphics, Simulation and Modeling (ICGSM'2012), Pattaya (Thailand),
2012, pp. 135-138. |
|
[5] |
X. Jing, J. Ma, J. Zhao y H. Yang, "Speaker
recognition based on principal component analysis of LPCC and MFCC.," en
International Conference on Trends in Automation, Communications and
Computing Technology, 2015, December, pp. 1-5. |
|
[6] |
A. Charisma, M. Reza Hidayat y Y. Bakti Zainal,
"Speaker Recognition Using Mel-Frequency Cepstrum Coefficients and Sum
Squar," Engineering Faculty of Universitas Jenderal Achmad Yani,
Cimahi, Indonesia, 2017. |
|
[7] |
A. N. Chadha, J. H. Nirmal y P. Kachare, A
comparative performance of various speech analysis-synthesis techniques, International
Journal of Signal Processing Systems, vol. 2, no. 1, Jun., pp. 17-22, 2014. |
|
[8] |
P. Manrique Ramírez y M. A. Meléndez Velázquez, «Diseño de
un sistema de codificación de predicción lineal (LPC),» Ciudad de México,
1999. |
|
[9] |
L. Rabiner y B.-H. Juang, Fundamentals of Speech Recognition. Englewood Cliffs: Petrince
Hall International, 1993. |
|
[10] |
C. Collomb, "Tutorial on linear prediction and
Levinson Durbin," Empty Loop,
febrero 3, 2009. [En línea]. Disponible en: http://www.emptyloop.com/technotes/A%20tutorial%20on%20linear%20prediction%20and%20Levinson-Durbin.pdf.
[Último acceso: 12 02 2019]. |
|
[11] |
J. R. Deller, J. H. L. Hansen y J. G. Proakis, Discrete-Time Processing of Speech
Signals. New York: Macmillan, 1993. |
|
[12] |
J. L. Cheang Loong, K. S. Subari, M. Kamil
Abdullah, N. N. Ahmad y R. Besar, «Comparison of MFCC and Cepstral
Coefficients as a Feature Set for PCG Biometric Systems,» 2010. |
|
[13] |
S. S. Stevens, Volkmann y E. B. John & Newman, "A
Scale for the Measurement of the Psychological Magnitude Pitch," Acoustical Society of America, vol.
8, nº 3, p. 6, 1937. |
|
[14] |
V. G. Vílchez García, "Estimación y clasificación de
daños en materiales utilizando modelos AR," Sep. 2010. [En línea]. Disponible
en: http://ceres.ugr.es/~alumnos/esclas/. [Último acceso: 12 05 18]. |
|
[15] |
W. Gevaert, G. Tsenov y V. Mladenov, "Neural
Networks used for Speech Recognition," Journal of Automatic Control, University of Belgrade, vol. 20
pp. 1-7, 2010. |
|
[16] |
VoIP Supply, «Cisco hd voice,» VoIP Supply, [En
línea]. Disponible
en: https://www.voipsupply.com/cisco-hd-voice. [Último acceso: 22 03 2019]. |
|
[17] |
K. K. Paliwal, J. G. Lyons y K. K. Wojcicki, "Preference
for 20-40 ms window duration in speech analysis," en 2010 4th
International Conference on signal Processing and Communication Systems
(ICSPCS). |
|
[18] |
C. S. Aguilar Orozco y M. W. Marín Benítez, Sistema certificador de locutor por voz.
México: Instituto Politécnico Nacional, 2003. |
[1] Instituto Politécnico Nacional. ygonzalezn@ipn.mx, ORCID 0000-0003-2370-4660
2 Instituto Politécnico Nacional. hjuarezl1400@alumno.ipn.mx, ORCID 0000-0003-1347-0645
3Instituto Politécnico Nacional. orochaa1400@alumno.ipn.mx, ORCID 0000-0002-1676-6620
4Instituto Politécnico Nacional. rhtovar@ipn.mx, ORCID 0000-0001-7059-6426
5Instituto Politécnico Nacional. jbermudezs@ipn.mx, ORCID 0000-0001-5714-0061