Está en la página 1de 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


Temario

1 Introducción

2 Conceptos básicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audio
Efectos basados en delays
Distorsiones

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


Introducción

Índice

1 Introducción

2 Conceptos básicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audio
Efectos basados en delays
Distorsiones

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


Introducción

Materiales que ofrece la facultad

Ademas de las herramientas básicas como puede ser osciloscopio,


generador de funciones, etc, se dispone de:
Micrófono dinámico profesional.
Interfaz de audio USB (24 bits hasta 96 KHz de frecuencia de
muestreo).
Monitores de audio amplificados (30 W).
Analizador de Audio (uso avanzado).

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


Introducción

¿Por qué 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 señal.
Provee la utilización de Breakpoints para realizar un seguimiento
detallado mediante gráficos y audio.
Es posible procesar en tiempo real con filtros parametrizados (aunque
requiere una pc potente e interfaz de audio).
Una vez alcanzado el resultado deseado, se puede implementar con
confianza en un sistema embebido.

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


Conceptos básicos

Índice

1 Introducción

2 Conceptos básicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audio
Efectos basados en delays
Distorsiones

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


Conceptos básicos

Estándares de audio

Muestreo:
8 kHz (telefonı́a)
22,05 kHz (comunicación por radio)
32 kHz (video miniDV)
44,1 kHz (CD)
48 kHz (Audio profesional y televisión digital)
96 kHz (Audio de alta definición, dvd y blu-ray)
Resolución:
8 bits (tı́pico audio de los juguetes)
16 bits (CD y archivos que emplean PCM)
24 bits (Alta calidad de audio - Estudio de grabación)

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


Conceptos básicos

Audio en Matlab

Matlab contempla el procesamiento digital de:


Grabación en formato WAV (nuestro caso central) o FLAC
Formatos de audio de uso profesional sin compresión.

Audio ingresado en tiempo real (también se verá en este dı́a)

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


Conceptos básicos

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

Waveform Audio File Format (WAV, también llamado WAVE ) es un


formato de audio digital sin compresión de datos desarrollado y propiedad
de Microsoft e IBM que se utiliza para almacenar sonidos en la formato
digital, admite archivos mono y estéreo a diversas resoluciones y
velocidades de muestreo, su extensión es .wav. Es una variante del formato
RIFF (Resource Interchange File Format), el cual es un método para
almacenamiento en ”paquetes”.
Las condiciones de muestreo están establecidas en el protocolo PCM...

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


Conceptos básicos

genial... ¿y el PCM con qué se come?


El protocolo PCM (por su sigla en ingles Pulse Code Modulation) es un
procedimiento de modulación para la conversión analógica - digital a
través de un tren de impulsos, el cual es el estándar para la digitalización
de Audio. El mismo establece un muestreo temporal periódico y una
cuantización equiespaciada de las palabras de código que representa cada
muestra.
El estándar que consideramos mayormente es de 44100 Hz de muestreo y
16 bits de resolución.

Accesoriamente se debe tener


presente los problemas del muestreo
temporal vistos en el dı́a uno de
este workshop y ademas considerar
que existe un error inherente a la
cuantización.

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


Ingreso de archivos de audio

Índice

1 Introducción

2 Conceptos básicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audio
Efectos basados en delays
Distorsiones

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 parámetros disponibles de la función audioread.
interpretar la matriz de audio.
ver caracterı́sticas de cada canal, audio estéreo y decidir como
trabajar.

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


Resampling

Índice

1 Introducción

2 Conceptos básicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audio
Efectos basados en delays
Distorsiones

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


Resampling

Sobre y Sub muestreo

La frecuencia de muestreo es el parámetro mas importante a definir para


un sistema de conversión analógico - digital dado que definirá entre otras
cosas la resolución espectral ası́ como temporal y el ancho de banda
admisible de la señal.Pero una vez muestreado un bloque de señal,
podremos hacer de cuenta que resampleamos para tener una cantidad de
muestras más conveniente y una nueva interpretación del ancho de banda.
Esta técnica es mucho más compleja de lo propuesto aquı́ donde solo
veremos lo referido a señales 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.
señal a determinada fs
2

1.5

0.5

0
0 5 10 15 20 25 30 35 40

señal resampleada a fs/2


2

1.5

0.5

0
0 2 4 6 8 10 12 14 16 18 20

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


Resampling

Se puede ver que en frecuencia, como ”bajé”la frecuencia de muestreo, la


misma señal expone un espectro hasta fs original/4.
0.8

0.6

0.4

0.2

0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

0.8

0.6

0.4

0.2

0
0 500 1000 1500 2000 2500

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


Resampling

Consideremos una señal con ruido aditivo y su espectro, la cual, por tener
la información concentrada en la banda baja, sub muestrearemos a fs/2.
2 1.5

1.5
1
1

0.5 0.5

0
0
-0.5

-1 -0.5
0 5 10 15 20 25 30 35 40 0 5 10 15 20

0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 1000 2000 3000 4000 5000 0 500 1000 1500 2000 2500

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


Resampling

Quedandonos con la mitad de las muestras simplemente obtengo en el


espectro los siguientes resultados.
tenia
0.6

0.4

0.2

0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

obtuve
0.8

0.6

0.4

0.2

0
0 500 1000 1500 2000 2500

esperaba
0.6

0.4

0.2

0
0 500 1000 1500 2000 2500

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


Resampling

resultados

De lo visto podriamos abordar a algún cuestionamiento de los resultados.


¿Cometimos un error al quedarnos con 1 de cada 2 muestras
originales?
¿Es el resampleo algo más 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 la
nueva fs y la existencia de información sobre la condición de Nyquist que
impusimos. AFORTUNADAMENTE, MATLAB LO RESUELVE!!!
20

-20
Magnitude (dB)

-40

-60

-80

-100

-120
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( ×π rad/sample)

-500
Phase (degrees)

-1000

-1500

-2000

-2500
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( ×π rad/sample)

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


Resampling

Función Resample

Propuesta y objetivos

experimentar con las funciones de resampleo.


entender la practicidad de los parámetros previstos y la
automatización del proceso.
discutir cuando usar estas técnicas.

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


Salida de audio y archivos

Índice

1 Introducción

2 Conceptos básicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audio
Efectos basados en delays
Distorsiones

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 comprobar


resultados de Audio:
Sound
Envia a la interfaz de audio configurada en la pc la señal 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 sonoramente
la misma.

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


Efectos de audio

Índice

1 Introducción

2 Conceptos básicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audio
Efectos basados en delays
Distorsiones

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


Efectos de audio Efectos basados en delays

Índice

1 Introducción

2 Conceptos básicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audio
Efectos basados en delays
Distorsiones

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 entrada


o salida, y los suma a la entrada actual para generar la salida, esto da
lugar a efectos como:
Eco (en sus multiples variantes)
Flanger
Reverberación
Se entiende como eco a aquella señal mecánica que retorna producto de la
geometria del espacio fisico donde se propaga la onda de audio. Es por ello
que en ocaciones se busca modelar estas reflexiones y otras veces se
intenta aprovechar el fenomeno para generar efectos más 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 más básico es el que llamaremos eco FIR. El eco fir se
realiza simplemente sumando a la entrada, una muestra retrasada de la
misma. Dado un impulso como entrada, la salida es finita en tiempo. El
sistema 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 la


salida. Dado un impulso como entrada, la salida es infinita en tiempo.
Como la salida es infinita en tiempo ante un impulso, también lo es ante
cualquier 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 mismos
recaudos 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

Introducción a transformada Z
La transformada Z es similar a la transformada de fourier, solo que
presenta algunas caracteristicas diferentes: Z = e σ+jΩ
X∞
x[n] → X (Z ) = x[n] · Z −n (5)
n=0


X
x[n − 1] → x[n − 1] · Z −n
n=0
m = n − 1; n = m + 1
X∞
x[m] · Z −(m+1) (6)
m=0

X
−1
Z · x[m] · Z −m
n=0
−1
Z · X (Z )
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 · g
Y (Z )
= 1 + Z −M · g (7)
X (Z )
ZM + g
H(Z ) =
ZM

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 · g
Y (Z ) 1
= −M
X (Z ) Z ·g (8)
Z M
H(Z ) = M
Z +g

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

Z M · BL + 1
H(Z ) = (9)
Z M + FB

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

Índice

1 Introducción

2 Conceptos básicos

3 Ingreso de archivos de audio

4 Resampling

5 Salida de audio y archivos

6 Efectos de audio
Efectos basados en delays
Distorsiones

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


Efectos de audio Distorsiones

Naturaleza de la distorsión
Existen distintos tipos de distorsiones:
Por amplitud
De fase
Por intermodulación
Armónica
Esta última es el tipo de distorsión de la que se habla en el ámbito musical
normalmente. La misma es producida por efectos de alinealidad de los
sistemas intervinientes, es decir, cambian la forma de onda, sin perjudicar
su frecuencia.

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


Efectos de audio Distorsiones

Fuentes de distorsión

En principio, este efecto era indeseado y se presentaba mayormente en


equipos de audio de potencia, los cuales eran valvulares. Es por ello que
nuestro primer caso de estudio serán las válvulas en una modesta
interpretación de las mismas.
Consideremos un amplificador en zona lineal donde out(t) = A ∗ in(t)

A continuación 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 señal de audio.
analizar codigo de distorsión a parametros variables

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


Efectos de audio Distorsiones

Muchas Gracias por su atención


¿Preguntas?

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

También podría gustarte