Detector de voz
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Detector de voz

  • 1,025 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,025
On Slideshare
1,025
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. DETECTOR DE VOZ SIMPLE EN MATLAB Mauricio Herrera Duran C.C 1128453482 Jonny Uribe Tratamiento de Señales III Universidad de Antioquia Ingeniería de Telecomunicaciones Medellín 2012
  • 2. Como funcionaLa primera parte del código es básicamente la misma empleada para el vocoder, en la que selee una señal, se le quita el nivel DC y es graficada en el tiempo. La única diferencia es que paragarantizar una cantidad exacta de ventanas mas adelante, se aumento la señal hasta unmúltiplo entero de las ventanas con AWGN el cual no será interpretado como voz.Luego mediante la transformada de Fourier se calcula la densidad espectral de energía de laseñal por cada ventana y al dividirla por el tiempo entre muestras se tiene la potencia de laseñal, luego se pasa a decibeles en donde se puede dar una clasificación de intensidad desonidos según esos decibeles.Ahora que tenemos la energía, podemos contar los cruces por cero que tiene una señal en unaventana de 30ms.Ahora con la energía y la cantidad de cruces por cero podemos hacer un apareamiento deellos, para tener más control sobre la decisión a tomar. FUENTES DE SONIDO DECIBELES Umbral de audición 0 Susurro, respiración normal, pisadas suaves 10 Rumor de las hojas en el campo al aire libre 20 Murmullo, oleaje suave en la costa 30 Biblioteca, habitación en silencio 40 Tráfico ligero, conversación normal 50 Oficina grande en horario de trabajo 60 Conversación en voz muy alta, gritería, tráfico 70 intenso de ciudad Timbre, camión pesado moviéndose 80 Aspiradora funcionando, maquinaria de una fábrica 90 trabajando Banda de música rock 100 Claxon de un coche, explosión de petardos o 110 cohetes empleados en pirotecnia Umbral del dolor 120 Martillo neumático (de aire) 130 Avión de reacción durante el despegue 150 Motor de un cohete espacial durante el despegue 180Según la anterior tabla para 30dB o más ya hay posibilidad de voz humana, por lo menosmurmullosamente. Por tanto tomé 35dB como la potencia a considerar necesaria para un
  • 3. posible estado de voz. Pero esto se tiene que contrastar con la cantidad de cruces por cero, asíque según la potencia en dB y la cantidad de cruces por cero se tomara una mejor decisión. Lacantidad de cruces por cero es supuesta mayor donde hay voz y menor donde no la hay, yaque sacando unas graficas de las ventanas se noto que en los periodos donde no hay voz laseñal es por decirlo muy rebelde, puede que sea de mucha frecuencia pero puede estarsiempre en el eje positivo o negativo cruzando solamente una vez por cero, mientras que laseñal donde hay voz es mas bien definida y debido a su carácter de periodicidad garantizavarios cruces por cero, para notarlo miremos:Graficas de no vozEn las dos primeras graficas donde la escala vertical esta en el orden de se puede notaren la mayoría del tiempo la señal estuvo en un solo cuadrante de los dos posibles en amplitud,cruzando pocas veces por cero mientras que en la ultima donde la escala esta en ordenunitario la señal cruzo mas veces por cero, de aquí mis deducciones en la parte decomparaciones con la energía y cruces por cero, para la señal sonido7. Digo esto porque no
  • 4. todas las señales se comportan igual y dado el carácter de simple y los análisis que se hicieron,se esperaría que este detector funciones muy bien con la señal de referencia (sonido7) y notan bien con una señal proveniente de otra fuente. Esto se comparara mas adelante.Ahora multiplicamos la señal por un vector de banderas que tenia un 1 si el intervalo es de vozy 0 si no lo es, por lo que donde no hay voz quedará una línea recta horizontal en cero y si lahay quedara la señal tal cual.Por ultimo se pinta las partes donde hay voz con la función cuadrada discreta.Estrategias usadas para probarloComparacionesSonido7.wav vs vozmauro.wav
  • 5. Sonido7.wav Señal con intervalos de voz 1 amplitud 0 -1 -2 0 1 2 3 4 5 6 7 n señal original 1 amplitud 0 -1 -2 0 1 2 3 4 5 6 7 n Recoratada con vector bandera 1 amplitud 0 -1 -2 0 1 2 3 4 5 6 7 n Densidad espectral de la señal original 60amplitud 40 20 0 0 50 100 150 200 250 n
  • 6. Vozmauro.wav Señal con intervalos de voz 2 amplitud 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 4 n señal original 2 amplitud 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 4 n Recoratada con vector bandera 2 amplitud 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 4 n Densidad espectral de la señal original 60 amplitud 40 20 0 0 20 40 60 80 100 120 140 nClaramente se ve como la actuación del programa frente a la señal sobre la que se hizo elanálisis fue casi perfecto mientras que con otra no fue lo suficientemente eficaz. En sonido 7vemos como la posición 3 de la grafica muestra la señal multiplicada por las banderas, lascuales recortaron de manera aceptable los periodos con voz dejando los que no tenían voz con
  • 7. una amplitud de cero, mientras que en vozmauro.wav las banderas recortaron pedazos que nodebían cortar. Tocaría ver en que ambiente fue grabada una señal respecto a la otra, ya quepor debajo pueden haber sonidos interferentes o simplemente el aparato con el que se grabopudo introducir niveles diferentes en una u otra grabación.Comparación de cruces y no cruces.Aquí vamos a comparar como funciona el programa teniendo en cuenta los cruces por ceromas la energía con uno que solo tenga en cuenta la energía sobre el audio sonido7.wav.Cruces más energía Señal con intervalos de voz 1 amplitud 0 -1 -2 0 1 2 3 4 5 6 7 n señal original 1 amplitud 0 -1 -2 0 1 2 3 4 5 6 7 n Recoratada con vector bandera 1 amplitud 0 -1 -2 0 1 2 3 4 5 6 7 n Densidad espectral de la señal original 60 amplitud 40 20 0 0 50 100 150 200 250 n
  • 8. Solo energía (sin cruces) Señal con intervalos de voz 1 amplitud 0 -1 -2 0 1 2 3 4 5 6 7 n señal original 1 amplitud 0 -1 -2 0 1 2 3 4 5 6 7 n Recoratada con vector bandera 1 amplitud 0 -1 -2 0 1 2 3 4 5 6 7 n Densidad espectral de la señal original 60 amplitud 40 20 0 0 50 100 150 200 250De las anteriores graficas se puede decir que ambas muestran igual eficiencia en cuanto a losintervalos de voz que debían marcar, ya que por ejemplo si en la figura 1 se pinto un espacioque era de no voz en la figura 2 no salió pintado, mas si embargo hay otra parte donde pasaexactamente lo contrario, así que ambos muestran la misma eficiencia de desempeño. Simiramos la señal azul en ambos casos se ve que su semejanza con la original es grande pero sicontamos exactitudes ganara el código que suma cruces por cero contra el que no lo hace yaque este ultimo dejo perder mas información que el primero.Ahora comparemos ambos códigos con vozmauro.wav
  • 9. Cruces más energía Señal con intervalos de voz 2 amplitud 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 4 n señal original 2 amplitud 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 4 n Recoratada con vector bandera 2 amplitud 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 4 n Densidad espectral de la señal original 60amplitud 40 20 0 0 20 40 60 80 100 120 140 n
  • 10. Solo energía (sin cruces) Señal con intervalos de voz 2 amplitud 0 -2 0 0.5 1 1.5 2 2.5 3 3.5 4 n 1 0.5 0 0 1 2 3 4 5 6 7 Recoratada con vector bandera 2 amplitud 0 -2 0 1 2 3 4 5 6 7 n Densidad espectral de la señal original 60 amplitud 40 20 0 0 50 100 150 200 250Si comparamos los dos programas se nota claramente como el que no tiene los cruces por cerotuvo mejor desarrollo sobre una señal sobre la que no se analizo nada durante su desarrolloque el que conto los cruces, esto es básicamente debido a lo que se dijo anteriormente, nosabemos como y en que forma y con que características fue grabada la señal, por tanto unprograma mas general seria el que no cuenta cruces y uno mas especifico sobre una señal quese tiene un previo conocimiento valdría la pea utilizar el que si cuenta los cruces.
  • 11. A demás para efectos de multiplicidad se introdujo ruido aleatorio de distribución normal. Ensonido7 el programa que cuenta cruces no lo detecto como voz mientras el que no cuentacruces lo marco como si fuera voz, así que este resultado hace mejor al cuenta cruces que elque no sobre, como dije, una señal sobre la que hay un previo conocimiento. Si no se tiene unprevio conocimiento se debe utilizar el mas general que es que utiliza solo densidad espectralde energía.Fuenteshttp://es.calameo.com/read/000188805b50ca74ebdeehttp://arantxa.ii.uam.es/~tco/Practicas/Anexo_Representacion_Espectros.pdfhttp://es.wikipedia.org/wiki/Se%C3%B1al_de_voz#Energ.C3.ADa_y_cruces_por_cerohttp://www.asifunciona.com/tablas/intensidad_sonidos/intensidad_sonidos.htm