Programación Específica > Matlab

 Serapar De Un Archivo De Audio La Señal De Voz

(1/2) > >>

juanalajo:
Hola a todos, simplemente les agradesco el solo hecho de entrar aquì, pues si asi es, es por que vieron la posibilidad de ayudarme, estoy asiendo mi tesis y necesito eliminar la voz de un archivo de audio utilizando matlab, si alguien me puede dar una pista desde ya le agradesco :D

fa61an:
Según tengo entendido ADSL filtra la señal de 4 Hz a 4 kHz que hace referencia a la voz humana por tanto si quieres eliminar esa frecuencia en matlab primero deberias saber que espectro de frecuencia tiene tu señal y lo haces de la siguiente forma



--- Código: Text --- [y,FS,NBITS]=wavread('path de tu señal');   % FS es la f de muestreo de tu señal                   y(:,1)=[];                                                  % señal es estereo a mono....y = y';                                                      % la transpuesta para vector filaY=fft(y);                                                   % Transformada  fourierY=abs(Y);                                                 % valor absolutoN=size(Y);       N=N(2);F = FS*(0:N-1)/N;                                     % eje X de frecuencias figure (1)stem(F(1:N/2),Y(1:N/2));title('FFT ')xlabel('frequency (Hz)') 
luego de tener ese espectro debes implementar un filtro y con matlab en el prom escribes lo siguiente


--- Código: Text --->> FDATool  lo exportas al workspace y le haces convolucion y listo filtrada tu señal !!!

juanalajo:

--- Cita de: "fa61an" --- Según tengo entendido ADSL filtra la señal de 4 Hz a 4 kHz que hace referencia a la voz humana por tanto si quieres eliminar esa frecuencia en matlab primero deberias saber que espectro de frecuencia tiene tu señal y lo haces de la siguiente forma



--- Código: Text --- [y,FS,NBITS]=wavread('path de tu señal');   % FS es la f de muestreo de tu señal                   y(:,1)=[];                                                  % señal es estereo a mono....y = y';                                                      % la transpuesta para vector filaY=fft(y);                                                   % Transformada  fourierY=abs(Y);                                                 % valor absolutoN=size(Y);       N=N(2);F = FS*(0:N-1)/N;                                     % eje X de frecuencias figure (1)stem(F(1:N/2),Y(1:N/2));title('FFT ')xlabel('frequency (Hz)') 
luego de tener ese espectro debes implementar un filtro y con matlab en el prom escribes lo siguiente


--- Código: Text --->> FDATool  lo exportas al workspace y le haces convolucion y listo filtrada tu señal !!!
--- Fin de la cita ---
Gracias por contestarme, tengo todavia un problema al diseñar el filtro en el FDATOOL no se cual utilizar porque al realizar la convolucion me sale solo ruido :hola:

fa61an:
que pena no contestarte con prontitud pero no recibí la notificación de tu respuesta...

La frecuencia de muestreo de tu señal de audio debe ser la misma frecuencia de muestreo para el filtro tenlo bien presente.

El tipo yo diría que un band pass osea pasa banda tipo FIR WINDOW "kaiser" ("no me preguntes por que ese, solo te puedo decir que es el que he usado en la universidad") especificale un orden al filtro yo creo que con un orden de 128 estaría bien. no se que mas inconvenientes puedas tener.

yonni:
hello :D

como puedo hacer reconocimiento de voz en matlab ....ulguna  ayuda.... :rolleyes:
 :comp:------------- kyorijun@hotmail.com      :rolleyes:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa