Procesamiento digital de audio usando Matlab [width=0.07 ......Audio en Matlab Matlab contempla el...

42
Procesamiento digital de audio usando Matlab Laboratorio de procesamiento digital de audio Disertantes: Pablo R. D’Angelo / Agust´ ın M. Ortiz AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 1 / 42

Transcript of Procesamiento digital de audio usando Matlab [width=0.07 ......Audio en Matlab Matlab contempla el...

Procesamiento digital de audio usando Matlab

Laboratorio de procesamiento digital de audio

Disertantes: Pablo R. D’Angelo / Agustın M. Ortiz

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 1 / 42

Temario

1 Introduccion

2 Conceptos basicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audioEfectos basados en delaysDistorsiones

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 2 / 42

Introduccion

Indice

1 Introduccion

2 Conceptos basicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audioEfectos basados en delaysDistorsiones

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 3 / 42

Introduccion

Materiales que ofrece la facultad

Ademas de las herramientas basicas como puede ser osciloscopio,generador de funciones, etc, se dispone de:

Microfono dinamico profesional.

Interfaz de audio USB (24 bits hasta 96 KHz de frecuencia demuestreo).

Monitores de audio amplificados (30 W).

Analizador de Audio (uso avanzado).

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 4 / 42

Introduccion

¿Por que usar Matlab para procesar Audio?

Matlab ofrece todo lo necesario para ingreso y egreso de audio.

Posee funciones de alto nivel para el tratamiento de la senal.

Provee la utilizacion de Breakpoints para realizar un seguimientodetallado mediante graficos y audio.

Es posible procesar en tiempo real con filtros parametrizados (aunquerequiere una pc potente e interfaz de audio).

Una vez alcanzado el resultado deseado, se puede implementar conconfianza en un sistema embebido.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 5 / 42

Conceptos basicos

Indice

1 Introduccion

2 Conceptos basicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audioEfectos basados en delaysDistorsiones

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 6 / 42

Conceptos basicos

Estandares de audio

Muestreo:

8 kHz (telefonıa)

22,05 kHz (comunicacion por radio)

32 kHz (video miniDV)

44,1 kHz (CD)

48 kHz (Audio profesional y television digital)

96 kHz (Audio de alta definicion, dvd y blu-ray)

Resolucion:

8 bits (tıpico audio de los juguetes)

16 bits (CD y archivos que emplean PCM)

24 bits (Alta calidad de audio - Estudio de grabacion)

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 7 / 42

Conceptos basicos

Audio en Matlab

Matlab contempla el procesamiento digital de:

Grabacion en formato WAV (nuestro caso central) o FLAC

Formatos de audio de uso profesional sin compresion.

Audio ingresado en tiempo real (tambien se vera en este dıa)

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 8 / 42

Conceptos basicos

Pero... ¿Por que wav y que demonios es?

Waveform Audio File Format (WAV, tambien llamado WAVE ) es unformato de audio digital sin compresion de datos desarrollado y propiedadde Microsoft e IBM que se utiliza para almacenar sonidos en la formatodigital, admite archivos mono y estereo a diversas resoluciones yvelocidades de muestreo, su extension es .wav. Es una variante del formatoRIFF (Resource Interchange File Format), el cual es un metodo paraalmacenamiento en ”paquetes”.Las condiciones de muestreo estan establecidas en el protocolo PCM...

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 9 / 42

Conceptos basicos

genial... ¿y el PCM con que se come?

El protocolo PCM (por su sigla en ingles Pulse Code Modulation) es unprocedimiento de modulacion para la conversion analogica - digital atraves de un tren de impulsos, el cual es el estandar para la digitalizacionde Audio. El mismo establece un muestreo temporal periodico y unacuantizacion equiespaciada de las palabras de codigo que representa cadamuestra.El estandar que consideramos mayormente es de 44100 Hz de muestreo y16 bits de resolucion.

Accesoriamente se debe tenerpresente los problemas del muestreotemporal vistos en el dıa uno deeste workshop y ademas considerarque existe un error inherente a lacuantizacion.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 10 / 42

Ingreso de archivos de audio

Indice

1 Introduccion

2 Conceptos basicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audioEfectos basados en delaysDistorsiones

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 11 / 42

Ingreso de archivos de audio

Ingreso de Audio.wav

Propuesta y objetivos

ingresar al workspace archivos de audio.

probar los parametros disponibles de la funcion audioread.

interpretar la matriz de audio.

ver caracterısticas de cada canal, audio estereo y decidir comotrabajar.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 12 / 42

Resampling

Indice

1 Introduccion

2 Conceptos basicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audioEfectos basados en delaysDistorsiones

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 13 / 42

Resampling

Sobre y Sub muestreo

La frecuencia de muestreo es el parametro mas importante a definir paraun sistema de conversion analogico - digital dado que definira entre otrascosas la resolucion espectral ası como temporal y el ancho de bandaadmisible de la senal.Pero una vez muestreado un bloque de senal,podremos hacer de cuenta que resampleamos para tener una cantidad demuestras mas conveniente y una nueva interpretacion del ancho de banda.Esta tecnica es mucho mas compleja de lo propuesto aquı donde soloveremos lo referido a senales de audio y su utilidad en las mismas.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 14 / 42

Resampling

Sub muestreo a mano

Suponemos que queremos sub muestrear para lograr una fs = fs original/2,entonces a priori basta con quedarnos con una de cada 2 muestras.

0 5 10 15 20 25 30 35 40

0

0.5

1

1.5

2señal a determinada fs

0 2 4 6 8 10 12 14 16 18 20

0

0.5

1

1.5

2señal resampleada a fs/2

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 15 / 42

Resampling

Se puede ver que en frecuencia, como ”baje”la frecuencia de muestreo, lamisma senal expone un espectro hasta fs original/4.

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

0

0.2

0.4

0.6

0.8

0 500 1000 1500 2000 2500

0

0.2

0.4

0.6

0.8

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 16 / 42

Resampling

Consideremos una senal con ruido aditivo y su espectro, la cual, por tenerla informacion concentrada en la banda baja, sub muestrearemos a fs/2.

0 5 10 15 20 25 30 35 40

-1

-0.5

0

0.5

1

1.5

2

0 1000 2000 3000 4000 5000

0

0.1

0.2

0.3

0.4

0.5

0.6

0 5 10 15 20

-0.5

0

0.5

1

1.5

0 500 1000 1500 2000 2500

0

0.1

0.2

0.3

0.4

0.5

0.6

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 17 / 42

Resampling

Quedandonos con la mitad de las muestras simplemente obtengo en elespectro los siguientes resultados.

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

0

0.2

0.4

0.6tenia

0 500 1000 1500 2000 2500

0

0.2

0.4

0.6

0.8obtuve

0 500 1000 1500 2000 2500

0

0.2

0.4

0.6esperaba

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 18 / 42

Resampling

resultados

De lo visto podriamos abordar a algun cuestionamiento de los resultados.

¿Cometimos un error al quedarnos con 1 de cada 2 muestrasoriginales?

¿Es el resampleo algo mas complejo?

¿Deberia cambiarme a Sistemas?

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 19 / 42

Resampling

Sucedio que deberiamos haber generado un nuevo filtro anti alias dada lanueva fs y la existencia de informacion sobre la condicion de Nyquist queimpusimos. AFORTUNADAMENTE, MATLAB LO RESUELVE!!!

Normalized Frequency ( ×π rad/sample)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Ph

ase

(d

eg

ree

s)

-2500

-2000

-1500

-1000

-500

0

Normalized Frequency ( ×π rad/sample)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Ma

gn

itu

de

(d

B)

-120

-100

-80

-60

-40

-20

0

20

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 20 / 42

Resampling

Funcion Resample

Propuesta y objetivos

experimentar con las funciones de resampleo.

entender la practicidad de los parametros previstos y laautomatizacion del proceso.

discutir cuando usar estas tecnicas.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 21 / 42

Salida de audio y archivos

Indice

1 Introduccion

2 Conceptos basicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audioEfectos basados en delaysDistorsiones

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 22 / 42

Salida de audio y archivos

Escuchar resultados y generar archivo

Matlab dispone de 2 funciones sumamente utiles para comprobarresultados de Audio:

Sound

Envia a la interfaz de audio configurada en la pc la senal sonora

audiowrite

Genera un archivo de audio con parametros ajustables

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 23 / 42

Salida de audio y archivos

Funciones sound y audiowrite

Propuesta y objetivos

conocer las distintas opciones de sound y audiowrite.

combinar sound con la funcion resample para entender sonoramentela misma.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 24 / 42

Efectos de audio

Indice

1 Introduccion

2 Conceptos basicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audioEfectos basados en delaysDistorsiones

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 25 / 42

Efectos de audio Efectos basados en delays

Indice

1 Introduccion

2 Conceptos basicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audioEfectos basados en delaysDistorsiones

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 26 / 42

Efectos de audio Efectos basados en delays

Efectos con delays

El filtro mas sencillo en principio es aquel que aplica retardos de la entradao salida, y los suma a la entrada actual para generar la salida, esto dalugar a efectos como:

Eco (en sus multiples variantes)

Flanger

Reverberacion

Se entiende como eco a aquella senal mecanica que retorna producto de lageometria del espacio fisico donde se propaga la onda de audio. Es por elloque en ocaciones se busca modelar estas reflexiones y otras veces seintenta aprovechar el fenomeno para generar efectos mas complejos.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 27 / 42

Efectos de audio Efectos basados en delays

Diagramas de ecos (FIR)

Existen tres modelos basicos de ecos:El efecto de eco mas basico es el que llamaremos eco FIR. El eco fir serealiza simplemente sumando a la entrada, una muestra retrasada de lamisma. Dado un impulso como entrada, la salida es finita en tiempo. Elsistema siempre es estable.

y [n] = x [n] + x [n − 1] · g (1)

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 28 / 42

Efectos de audio Efectos basados en delays

Diagramas de ecos (IIR)

El eco iir se realiza sumando a la entrada, una muestra retrasada de lasalida. Dado un impulso como entrada, la salida es infinita en tiempo.Como la salida es infinita en tiempo ante un impulso, tambien lo es antecualquier tipo de entrada. Esto puede llevar a que sea inestable.

y [n] = x [n]− y [n −M] · g ; 0 < g < 1 (2)

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 29 / 42

Efectos de audio Efectos basados en delays

Diagramas de ecos (FIR-IIR)

En el eco fir-iir se combinan ambos efectos de eco, pero sigue siendo iir(tiene respuesta infinita al impulso), por lo cual hay que tener los mismosrecaudos respecto a la estabilidad.

y [n] = xh[n] · BL + xn[n −M] ; 0 < BL < 1 (3)

xh[n] = x [n] + xh[n −M] · FB ; 0 < FB < 1 (4)

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 30 / 42

Efectos de audio Efectos basados en delays

Introduccion a transformada Z

La transformada Z es similar a la transformada de fourier, solo quepresenta algunas caracteristicas diferentes: Z = eσ+jΩ

x [n]→ X (Z ) =∞∑n=0

x [n] · Z−n (5)

x [n − 1]→∞∑n=0

x [n − 1] · Z−n

m = n − 1; n = m + 1∞∑

m=0

x [m] · Z−(m+1)

Z−1 ·∞∑n=0

x [m] · Z−m

Z−1 · X (Z )

(6)

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 31 / 42

Efectos de audio Efectos basados en delays

Diagramas de eco FIR en Z

Y (Z ) = X (Z ) + X (Z ) · Z−M · gY (Z )

X (Z )= 1 + Z−M · g

H(Z ) =ZM + g

ZM

(7)

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 32 / 42

Efectos de audio Efectos basados en delays

Diagramas de eco IIR en Z

Y (Z ) = X (Z ) + Y (Z ) · Z−M · gY (Z )

X (Z )=

1

Z−M · g

H(Z ) =ZM

ZM + g

(8)

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 33 / 42

Efectos de audio Efectos basados en delays

Diagramas de eco FIR-IIR en Z

H(Z ) =ZM · BL + 1

ZM + FB(9)

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 34 / 42

Efectos de audio Efectos basados en delays

Propuesta y objetivos

transcribir los diagramas a codigo Matlab.

analizar la respuesta en frecuencia de cada uno y compararlos.

analizar la respuesta auditiva.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 35 / 42

Efectos de audio Efectos basados en delays

Flanger

Retardo de tiempo variable, muy similar, en estructura al eco.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 36 / 42

Efectos de audio Distorsiones

Indice

1 Introduccion

2 Conceptos basicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audioEfectos basados en delaysDistorsiones

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 37 / 42

Efectos de audio Distorsiones

Naturaleza de la distorsion

Existen distintos tipos de distorsiones:

Por amplitudDe fasePor intermodulacionArmonica

Esta ultima es el tipo de distorsion de la que se habla en el ambito musicalnormalmente. La misma es producida por efectos de alinealidad de lossistemas intervinientes, es decir, cambian la forma de onda, sin perjudicarsu frecuencia.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 38 / 42

Efectos de audio Distorsiones

Fuentes de distorsion

En principio, este efecto era indeseado y se presentaba mayormente enequipos de audio de potencia, los cuales eran valvulares. Es por ello quenuestro primer caso de estudio seran las valvulas en una modestainterpretacion de las mismas.Consideremos un amplificador en zona lineal donde out(t) = A ∗ in(t)

A continuacion veremos dispositivos amplificadores alineales.

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 39 / 42

Efectos de audio Distorsiones

Triodo

Pentodo

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 40 / 42

Efectos de audio Distorsiones

Propuesta y objetivos

modelar el pentodo mediante funciones conocidas.

aplicar efecto a senal de audio.

analizar codigo de distorsion a parametros variables

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 41 / 42

Efectos de audio Distorsiones

Muchas Gracias por su atencion

¿Preguntas?

AudioDPLab (UTN-FRBA) DSP Audio 15 de Septiembre 2016 42 / 42