Sunteți pe pagina 1din 19

Curso: PROGRAMACIÓN DE SISTEMAS INTELIGENTES

Ingeniería de Sistemas
Universidad del Tolima
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

Como norma general se considera el espectro audible para una persona sana
el margen de frecuencias que va desde los 20 Hz a los 20 kHz.

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

Muestreo:
• 8 kHz (telefonía)
• 22,05 kHz (comunicación por radio)
• 32 kHz (video miniDV)
• 44,1 kHz (CD)
• 48 kHz (Audio profesional y televisión
digital)
• 96 kHz (Audio de alta definición, dvd y blu-
ray)

Resolución:
• 8 bits (típico audio de los juguetes)
• 16 bits (CD y archivos que emplean PCM)
• 24 bits (Alta calidad de audio - Estudio de
grabación)

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

El reconocimiento de locutor es un sistema que persigue reconocer


automáticamente la persona que está hablando teniendo como base un
conjunto de voces entrenadas previamente que se utiliza como patrón.

Los sistemas de reconocimiento de locutor se componen en general de tres


fases descritas a continuación:

• Procesamiento de la señal de audio capturada.


• Extracción de características
• Clasificación de vectores

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

Text-to-Speech o TTS y es la tecnología que permite


reproducir el habla humana de forma artificial. Esta
tecnología es capaz de recibir un texto y reproducirlo
con una voz artificial sintetizada.

Dependiendo del avance y grado de madurez de la


solución de síntesis, se podrá percibir una voz metálica
robotizada o una voz muy natural.

Speaker recognition: El reconocimiento por voz es una


tecnología biométrica que utiliza la voz de un individuo
para lograr su identificación. Este tipo de soluciones
biométricas son bastantes populares, dada la cantidad de
dispositivos que pueden usarse para tomar las muestras
de voz y su facilidad de integración. El reconocimiento
por voz difiere del reconocimiento de discurso, que
reconoce las palabras a medida que el individuo habla.
Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

SOUND(Y,FS).

WAVWRITE(Y,FS,NBITS,WAVEFILE)

WAVWRITE(Y,FS,WAVEFILE) assumes NBITS=16 bits.

WAVWRITE(Y,WAVEFILE) assumes NBITS=16 bits and FS=8000 Hz.

WAVRECORD(N,FS,CH)

WAVREAD (fileName)

WAVPLAY (audiosignal, fs)

FS: Standard audio rates are 8000, 11025, 22050, and 44100 Hz
Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

f=200;
fs=20*f;
Ts=1/fs;
Amp=2;

t_total=2;
t=0:Ts:t_total;

s=Amp*sin(2*pi*f*t);
s_norm=s/max(abs(s));

Num_per=3;
plot(t(1:(Num_per*1/f)/Ts),s_norm(1:(Num_per*1/f)/Ts));
grid on;

wavwrite(s_norm,fs,'sonido_seno_1.wav');
sound(s_norm,fs);
Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

num_seg=5;
fs=11025;
audio=wavrecord(num_seg*fs,fs,'int16');

wavplay(audio, fs);

wavwrite(audio, fs,'Locutor_1.wav');

audio= audio (:,1);


dt = 1/fs;
t = 0:dt:(length(audio)*dt)-dt;
plot(t, audio); xlabel('Seconds'); ylabel('Amplitude');
Figure;

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

[B,A] = BUTTER(N,Wn,'high') designs a highpass filter.

[B,A] = BUTTER(N,Wn,'low') designs a lowpass filter.

[B,A] = BUTTER(N,Wn,'stop') is a bandstop filter if Wn = [W1 W2]

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

[audio,fs]=wavread('Locutor_1.wav');
espectro=fft(audio);
espectro=espectro(1:end/2);

magnitud=abs(espectro);
freq=linspace(0,fs/2,length(espectro));

figure(1);
plot(freq,magnitud);
title('Audio Original');

fc=1000;
Rp=1; % ancho rizado en DB
Rs=60; % atenuación banda supresión en DB
Fnyquist=fs/2;

Wn=fc/Fnyquist; % Normalización de la frecuencias


Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

N=10;
[numB,denB] = butter(N,Wn,'high');

audio_filtrado=filter(numB,denB,audio);
espectro2=fft(audio_filtrado);
espectro2=espectro2(1:end/2);

magnitud2=abs(espectro2);
freq2=linspace(0,fs/2,length(espectro2));

figure(2);
plot(freq2,magnitud2);
title('Audio con Filtro Pasa Altos');

soundsc(audio,fs); %ESCUCHA AUDIO SIN FILTRAR


soundsc(audio_filtrado,fs); %ESCUCHA AUDIO FILTRADO

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

[audio,fs]=wavread('Locutor_1.wav');
espectro=fft(audio);
espectro=espectro(1:end/2);

magnitud=abs(espectro);
freq=linspace(0,fs/2,length(espectro));

figure(1);
plot(freq,magnitud);
title('Audio Original');

fc=1000;
Rp=1; % ancho rizado en DB
Rs=60; % atenuación banda supresión en DB
Fnyquist=fs/2;

Wn=fc/Fnyquist; % Normalización de la frecuencias


Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

N=10;
[numB,denB] = butter(N,Wn,'low');

audio_filtrado=filter(numB,denB,audio);
espectro2=fft(audio_filtrado);
espectro2=espectro2(1:end/2);

magnitud2=abs(espectro2);
freq2=linspace(0,fs/2,length(espectro2));

figure(3);
plot(freq2,magnitud2);
title('Audio con Filtro Pasa Bajos');

soundsc(audio,fs); %ESCUCHA AUDIO SIN FILTRAR


soundsc(audio_filtrado,fs); %ESCUCHA AUDIO FILTRADO

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

[audio,fs]=wavread('Locutor_1.wav');
espectro=fft(audio);
espectro=espectro(1:end/2);

magnitud=abs(espectro);
freq=linspace(0,fs/2,length(espectro));

figure(1);
plot(freq,magnitud);
title('Audio Original');

fc=1000;
Rp=1; % ancho rizado en DB
Rs=60; % atenuación banda supresión en DB
Fnyquist=fs/2;

Wn=fc/Fnyquist; % Normalización de la frecuencias


Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

N=10;
[numB,denB] = butter(N,[Wn-Wn/2 Wn+Wn/2],'stop');

audio_filtrado=filter(numB,denB,audio);
espectro2=fft(audio_filtrado);
espectro2=espectro2(1:end/2);

magnitud2=abs(espectro2);
freq2=linspace(0,fs/2,length(espectro2));

figure(4);
plot(freq2,magnitud2);
title('Audio con Filtro Pasa Banda');

soundsc(audio,fs); %ESCUCHA AUDIO SIN FILTRAR


soundsc(audio_filtrado,fs); %ESCUCHA AUDIO FILTRADO

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía
Programación de Sistemas Inteligentes | Unidad 1. Introducción a la Inteligencia Artificial

Actividad en CIPAS:

Programar las siguientes funciones en MATLAB:

 Grabación de audio de locutor, indicando nombre del usuario.


 Grabación de 5 señales de audio por locutor.
 Reproducción de audios grabados
 Interfaz gráfica de las funciones anteriores.

Tiempo: 1 Hora y 30 minutos

Ingeniería de Sistemas – Universidad del Tolima | Docente: Ing. Iván Andrés Blanco Polanía

S-ar putea să vă placă și