You are on page 1of 15

Universidad Politécnica de

Durango



Ingeniería en Telemática




Variable compleja


Aplicación de la Transformada de Fourier en el análisis de la voz







M.C. Raúl Villanueva vallejo.





1

Tabla de contenido


Introducción ........................................................................................................................................ 2
Desarrollo ............................................................................................................................................ 3
La frecuencia de voz humana .......................................................................................................... 3
Eligiendo el filtro a utilizar............................................................................................................... 3
Desarrollo de interfaz ...................................................................................................................... 5
Realizando pruebas ............................................................................................................................. 6
Grabación de sonido ....................................................................................................................... 6
Reproducción del sonido ................................................................................................................. 7
Invirtiendo la señal .......................................................................................................................... 8
Espectro de frecuencia .................................................................................................................... 9
Eliminando ruido ........................................................................................................................... 10
Comparación de señales ............................................................................................................... 11






2

Introducción


El análisis de voz es una de las tareas más difíciles que la ingeniería ha llevado a cabo al momento
de su estudio.
Para el análisis de voz es importante conocer diferentes factores para su correcto estudio, por
ejemplo, la frecuencia a la que se mueven los diferentes sonidos. Lla voz del humano se encuentra
en una frecuencia diferente a la de la música es por eso que se pueden crear filtros para separar
dichos elementos, inclusive dentro del mismo rango de la frecuencia de voz del ser humano existe
diferencia en cuanto al rango de la frecuencia entre un hombre y una mujer.
Para poder realizar el análisis de voz es necesaria la implementación de filtros digitales.







3

Desarrollo

La frecuencia de voz humana

Los diferentes sonidos se mueven a diferentes frecuencias por ejemplo:

La voz humana se encuentra dentro de la frecuencia de 50 a 500 Hz, sin embargo dentro de este
rango la frecuencia del hombre está entre 50 y 250 Hertz y la de la mujer entre 250 y 500, con lo
que es posible realizar el reconocimiento de género de acuerdo a la frecuencia de voz analizada.
De la misma forma si lo que se desea es realizar un karaoke, se podrían implementar filtros para
eliminar el rango de frecuencias de la voz y modular otros sonidos.



4

Eligiendo el filtro a utilizar

Para esta parte, es necesaria la implementación de un filtro Butterworth pasa banda, debido a su
eficiencia, el filtro de Butterworth es uno de los filtros electrónicos más básicos, diseñado para
producir la respuesta más plana que sea posible hasta la frecuencia de corte, en otras palabras, la
salida se mantiene constante casi hasta la frecuencia de corte.
A pesar de existir la posibilidad de desarrollar un filtro Butterworth de segundo o tercer orden, lo
recomendable es elaborarlo de primer orden para conservar la voz con sus respectivos rangos de
una mejor manera y, evitar perder algunas propiedades de la voz.



En la gráfica anterior se muestra como el filtro puede ser perfeccionado para dejar una frecuencia
de corte más exacta.





5

Desarrollo de interfaz

Se presenta el desarrollo de la interfaz en el software de matlab:


La idea principal de la interfaz es la facilidad para grabar dos sonidos (o palabras) y realizar una
comparación entre ambos.
Estructura:

 Un botón para cada grabación de voz a analizar.
 Un botón para reproducir el sonido grabado.
 Un botón para mostrar la grabación invertida.
 Un botón para mostrar el espectro de forma gráfica.
 Un botón para filtrar el sonido captado en el momento.



6

Realizando pruebas

Grabación de sonido

Asignar una frecuencia de muestreo de 44000 Hz o superior (90000 para el presente caso)



La variable funda=200 corresponde a la frecuencia fundamental para el filtro
La función axes se utiliza para mostrar lo grabado.





7

Reproducción del sonido



Los NBITS son para el número de bits designados a la calidad de la grabación, en caso de no indicarlo,
matlab lo toma como 16 como predeterminado.
El vector desarrollado se utiliza es para cargar el sonido previamente guardado en la misma carpeta
del proyecto.
wavread se utiliza para leer el archivo cargado.
wavplay lo reproduce.
plot lo muestra en forma gráfica.
El formato que usa matlab para la reproducción es en formato WAV.




8

Invirtiendo la señal

Para invertir la señal se utiliza el siguiente código:


Cargamos el archivo que tenemos guardado en la variable a, con el comando de length se determina
la longitud de la señal, luego se realiza un ciclo discreto en la variable z en forma invertida. Se utiliza
el comando específico para reproducir el archivo, primero con el sonido original, luego una pausa
de cinco segundos y por último el sonido invertido, finalmente se grafica el archivo.
Aquí se muestra la señal invertida:





9

Espectro de frecuencia

Para mostrar el espectro de frecuencia se realiza lo siguiente:
Se determina y se guarda el espectro de frecuencia en la variable espectro, primero se calcula con
la transformada rápida de Fourier (fft) calculándolo con la frecuencia sobre el tiempo.



El espectro es mostrado como un vector de la siguiente forma:






10

Eliminando ruido


Para eliminar el ruido se propone la implementación de un filtro Butterworth (empleado como pasa
banda), para esto se utiliza un vector con las especificaciones mostradas en la impresión, además
se muestra una constante en la que a la señal se le suman una señal senoidal en radianes y la
frecuencia fundamental para estabilizar la señal, enseguida se pasan los datos a dominio de la
frecuencia para, finalmente reproducir y graficar la señal filtrada.


11

Comparación de señales

Los factores que afectan en el proceso de comparación de las señales son varios, por ejemplo la
modulación de la voz, el tono y el tiempo.
Para esto es necesario realizar el siguiente procedimiento: para su análisis se recomienda
descomponer la señal en tres partes, para analizar sus componentes (la varianza, el promedio y la
desviación), estas variables engloban el tono de voz, el tiempo en articular la palabra y la forma de
decirlo.
Se declaran las variables a utilizar:


Se filtra la señal para eliminar posible ruido y que la comparación sea mucho más precisa:


Se descompone la señal en tres diferentes partes, con ayuda del comando wavedec:
Los componentes determinados serán a1, a2 y a3.


12


Después de descomponer la señal, se calculan los tres componentes previamente descritos.



Al analizar la comparación con la resta de matrices se puede observar lo siguiente:

13

Para determinar los parámetros en que es posible decir que una palabra es distinta de otra, es
necesario basarse en los resultados obtenidos en diferentes pruebas.








Al realizar la resta de las matrices, se observa que la principal diferencia más importante reside en
la desviación y después en la varianza, por lo que es posible determinar que una palabra es
probablemente igual a otra.


14