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