La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Algoritmo de Detección de Silencio Sebastián Meric. Tomás Urra B. Pregrado.

Presentaciones similares


Presentación del tema: "Algoritmo de Detección de Silencio Sebastián Meric. Tomás Urra B. Pregrado."— Transcripción de la presentación:

1 Algoritmo de Detección de Silencio Sebastián Meric. Tomás Urra B. Pregrado

2 Algoritmo Básico Pasos para generar el algoritmo:  Establecer límites mínimos para los indicadores de voz:  Amplitud Media de la Señal  Tasa de Cruzamiento por cero.  Dividir la señal en pequeños segmentos y en cada segmento verificar si el valor de uno de los indicadores es mayor que el límite.  En caso de que uno de los indicadores sea mayor, el segmento se considera voz.

3 Algoritmo Básico ¿Cómo se implementó el algoritmo?  Implementación de algoritmo en Matlab ®.  Uso de la función WAVREAD de Matlab ® para leer archivos de audio con extensión.wav.  Establecimiento de un segmento de señal de 15ms.  Límites mínimos de los indicadores de voz.

4 Algoritmo Básico function Basico2 a=input('Ponga el nombre ','s') %archivo de sonido a leer [A FM BPM] = wavread(a); %wavread entrega amplitud (A), frecuencia de muestreo (FM) y bits por muestra (BPM) del archivo plot(A); %dibuja amplitud versus tiempo TSegm= 0.015 % se define un tamaño de segmento de 15 ms. MuSegm= fix(FM*TSegm) %Nº de muestras por segmento (Diapositiva siguiente) TotMuestras= wavread(a,'size') %wavread entrega el total de muestras del archivo TotSegm= fix(TotMuestras/MuSegm) % total de segmentos en el archivo for i=0:(TotSegm-1) %recorrido de cada uno de los segmentos de 15 ms Seg=wavread(a,[(MuSegm*i+1) MuSegm*(i+1)]); %retorna las muestras del segmento estudiado AmpmediaSeg=sum(abs(Seg/MuSegm));%amplitud media de un segmento cruces=0; for j=1:(MuSegm-1) %recorrido de las muestras del segmento en cuestión if(Seg(j)*Seg(j+1)<0) %compara muestras consecutivas cruces=cruces+1; %contador de los cruces por cero end end if(0.04<AmpmediaSeg || 60<cruces) %condición que determina si segmento es voz disp('VOZ') else disp('SILENCIO') end figure; plot(sol); %dibuja la señal resultante comprimida wavwrite(sol,FM,'resultado'); %generación de archivo de reslutado con la supresión de silencios EndSiguiente

5 Diapositiva anterior

6 Algoritmo Básico Resultados: Archivo original Archivo original Original

7 Algoritmo Básico Resultados: Archivo comprimido Archivo comprimido Comprimido


Descargar ppt "Algoritmo de Detección de Silencio Sebastián Meric. Tomás Urra B. Pregrado."

Presentaciones similares


Anuncios Google