Reconocimiento de voz en matlab

Solo disponible en BuenasTareas
  • Páginas : 5 (1077 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de noviembre de 2010
Leer documento completo
Vista previa del texto
Planteamiento del Problema

Reconocimiento de palabras
Consiste en un software que permita reconocer una de tres opciones y realizar alguna acción simple con la palabra reconocida, tal acción puede consistir en abrir una aplicación o iniciar la reproducción de alguna melodía o video.

Como requisito de funcionamiento se tienen:
• Se deben recortar las palabras para mejorar el nivel dereconocimiento y reducir la velocidad

• El programa debe estar esperando continuamente que se diga la palabra a reconocer, no se permite presionar algún botón justo antes de grabar la palabra

Requerimientos Básicos.
Para poder efectuar el problema anteriormente descrito se emplearan como herramienta básica el uso de Matlab 7.6, una computadora, un micrófono, bocinas.

Solución al problema.Teniendo en cuenta los requerimientos del problema el sistema esta compuesto de 3 palabras, dos de ellas abrirán un programa en específico de Windows, y la última de ellas finalizara el proceso de grabación y comparación.

Para poder resolver la problemática se emplearan bases sobre la transformada de Fourier y trasformada de laplace en tiempo discreto, así como herramientas provistas en Matlabcomo lo es la convolución entre matrices, para poder determinar la igualdad entre vectores.

Lo primero que debemos tener en cuenta es que se debe previamente grabar en una única matriz el conjunto de palabras base para poder ser comparadas posteriormente (en este caso las palabras, Excel, Paint, Fin).

Posteriormente dentro de un ciclo el cual inicia con una condición afirmativa, luego segraba un intervalo de 2 segundos a 8000 muestras las cuales son guardadas en una variable, dicha variable es reflejada sobre el eje horizontal para cumplir con el teorema de convolución, luego de ello se procede a realizar la convolución del sistema de entrada con el sistema existente h (t).

Una vez se tenga la expresión convolucionada se procede a realizara dentro de un ciclo una revisiónmuestra por muestra de pico mas alto o la mayor amplitud.

Teniendo el pico mas alto se podrá comparar entre rangos para poder determinar que palabra fue la que se asemejo mas a las ya existentes en el sistema, de esta manera ya determinada la estructura de la palabra se procede a abrir el programa indicado o a finalizar la aplicación.


Código Fuente
Reflejada.m

function z=reflejada(x);
c=1;for n=length(x):-1:1
z(c)=x(n);
c=c+1;
end

Comandos.m

pos=2;
while (pos>1)
disp('Grabando...')
y=wavrecord(16000,8000,'double');
yy=reflejada(y);
xx=wavread('progra.wav');
zz=conv(xx,yy);
pos=0;
mayor=abs(zz(1));

for j=2:length(zz)
if mayor16100) && (pos29000) && (pos45000
disp('Adios!!!')
pos=0;
break;
end
end

De esta manera para iniciar nuestraaplicación solo será necesario desde la consola de Matlab invocar a la función “comandos.m”.


Apéndice

Transformada de Fourier
En matemática, la transformada de Fourier es una aplicación que hace corresponder a una función f con valores complejos y definida en la recta, otra función g definida de la manera siguiente:

Donde f es L1, o sea f tiene que ser una función integrable en el sentido dela integral de Lebesgue. El factor, que acompaña la integral en definición facilita el enunciado de algunos de los teoremas referentes a la transformada de Fourier. Aunque esta forma de normalizar la transformada de Fourier es la más comúnmente adoptada, no es universal.
La transformada de Fourier así definida goza de una serie de propiedades de continuidad que garantizan que puede extenderse aespacios de funciones mayores e incluso a espacios de funciones generalizadas.
Además, tiene una multitud de aplicaciones en muchas áreas de la ciencia e ingeniería: la física, la teoría de los números, la combinatoria, el procesamiento de señales (electrónica), la teoría de la probabilidad, la estadística, la óptica, la propagación de ondas y otras áreas. En procesamiento de señales la...
tracking img