Procesamiento en el dominio del tiempo
Instituto de Ingenier´ıa El´ectrica, Facultad de Ingenier´ıa Universidad de la Rep´ublica, Uruguay
Grupo de Procesamiento de Audio
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 1 / 33
1
Introducci´ on
2
Energ´ıa y magnitud de tiempo corto
3
Tasa de cruces por cero
4
Estimaci´ on de frecuencia fundamental Autocorrelaci´ on
Funci´ on diferencia
Introducci´ on
•
procesamiento para estimar par´ ametros de an´ alisis y realizar diversas tareas (voz/silencio, sonoro/sordo, formantes, fonemas, f
0, etc.)
•
procesamiento en el tiempo operaciones sobre la forma de onda
•
procesamiento en frecuencia sobre alguna representaci´ on espectral Procesamiento en el tiempo
•
las propiedades de la se˜ nal var´ıan con el tiempo (e.g. 20 sonidos/seg)
•
soluci´ on de compromiso: bloques solapados de tiempo-corto
I siempre hay incertidumbre sobre estimaciones de tiempo-corto 5-20 ms: escasez de datos, 20-100 ms: ocurren cambios r´apidos (transitorios), 100-500 ms: grandes cambios (f0, formantes, etc)
tiempo
amplitud
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 4 / 33
Procesamiento en el dominio del tiempo
Esquema general de procesamiento de tiempo-corto
•
la mayor´ıa de las t´ ecnicas pueden expresarse como:
Q
nˆ=
∞
X
m=−∞
T {x [m]}w [n − m]
!
n= ˆncon T {} transformaci´ on lineal o no-lineal, y w [n] ventana de an´ alisis
•
Q
nˆ: promedio local ponderado de T {x [n]} en tiempo ˆ n
•
efecto del eventanado: w [n] funciona como pasabajos sobre T {x [n]}
Q
nˆ= T {x [n]} ∗ w [n]|
n= ˆntransformación
Qn x[n]
T{ }
T{x[n]}
^
w[n]
ventana
Energ´ıa de tiempo corto
•
representaci´ on de las variaciones de amplitud:
E
n=
∞
X
m=−∞
(x [m]w [n − m])
2E
n=
∞
X
m=−∞
x
2[m]h[n − m]
donde T {x [n]} = x
2[n] y h[n] = w
2[n]
transformación
En x[n]
T{ }
T{x[n]} = x2[n]
h[n]
ventana
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 7 / 33
Procesamiento en el dominio del tiempo
Efecto de la ventana
E
n= T {x [n]} ∗ h[n]|
n= ˆn= x
2[n] ∗ h[n]
n= ˆn•
ventana larga y de amplitud constante E
ncambia poco en el tiempo
•
compromiso habitual de representaci´ on de tiempo-corto
I ventana corta para responder a variaciones r´apidas
I ventana larga para un promedio adecuado y funci´on suave
•
para un mismo largo, tipo de ventana determina ancho de banda
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
−120
−100
−80
−60
−40
−20 0
Ventana de Hanning − diferentes largos
Frecuencia
Magnitud (dB)
hanning 128 hanning 256
0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3
−80
−60
−40
−20 0
Rectangular vs Hanning − ancho de banda
Frecuencia
Magnitud (dB)
rectangular hanning
Energ´ıa de tiempo corto
•
distinguir voz de silencio (s´ olo para SNR alta)
•
discriminar fonemas sonoros de sordos (principalmente a f
s≤ 16 kHz)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
Amplitud
Tiempo (s)
Frecuencia (kHz)
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
0 1 2 3 4 5 6 7
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 9 / 33
Procesamiento en el dominio del tiempo
Magnitud de tiempo corto
•
E
nmuy sensible a variaciones grandes de amplitud
•
alternativa: magnitud de tiempo corto
M
n=
∞
X
m=−∞
|x[m]| w [n − m]
donde T {x [n]} = |x [n]| y h[n] = w [n]
transformación
Mn x[n]
T{ }
T{x[n]} = |x[n]|
w[n]
ventana
Magnitud de tiempo corto
•
ejemplo de segmentaci´ on de fonemas sonoros y sordos
•
ejemplo de control autom´ atico de ganancia (AGC)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
−0.4
−0.2 0 0.2
amplitud
Magnitud de tiempo corto (short−time magnitude)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
0 0.2 0.4
amplitud
|y|
magnitud umbral
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
−0.4
−0.2 0 0.2
tiempo (s)
amplitud
segmentacion
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 11 / 33
Procesamiento en el dominio del tiempo
Magnitud de tiempo corto aplicaci´ on: segmentaci´ on de audio en notas
•
derivada de la magnitud de tiempo corto:
dtdM
n[Dixon, 2001]
•
refinamiento:
[Klapuri, 1999]procesamiento en bandas de frecuencia derivada relativa
d dtMn
Mn
0.0 0.5 1.0 1.5 2.0
−0.4
−0.2
−0.0 0.2 0.4 0.6
0.0 0.5 1.0 1.5 2.0
−0.4
−0.2
−0.0 0.2 0.4
0.6 Forma de onda de voz tarareada (con sílabas ’ta’) y función de detección de energía
Tiempo (s)
0 50 100 150 200
0.00 0.16 0.32
Trama
0.00 0.76 1.52 2.28 3.04 3.80
−0.5
−0.2 0.1 0.4 0.7
0.00 0.76 1.52 2.28 3.04 3.80
−0.5
−0.2 0.1 0.4
0.7 Forma de onda de voz cantada y función de detección de energía
Tiempo (s)
0 76 152 228 304 380
0.00 0.14 0.28
Trama
Magnitud de tiempo corto aplicaci´ on: clasificaci´ on de instrumentos musicales
•
caracter´ısticas derivadas de la magnitud de
tiempo corto
•
e.g. tiempo de ataque:
entre 20 y 80 % de amplitud m´ axima
LAT = log
10(t
80− t
20)
notas de guitarra y viol´ın [Klapuri and Davy, 2006]
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 13 / 33
Procesamiento en el dominio del tiempo
Tasa de cruces por cero
medida simple del contenido espectral:
Z
n=
∞
X
m=−∞
|sgn{x[m]} − sgn{x[m − 1]}| w [n − m]
sgn{x [n]} = 1 x [n] ≥ 0
= −1 x [n] < 0 w [n] = 1
2N 0 ≤ n ≤ N − 1
= 0 en otro caso
x[n] Zn
abs w[n]
dif sgn
Tasa de cruces por cero
•
e.g. sinusoide de frecuencia f
0, a f
s: Z
n= 2f
0/f
scruces/muestra
•
normalizaci´ on para un cierto intervalo de tiempo τ (e.g. τ = 10ms):
Z
M= Z
nx M con M = τ /f
s(resulta independiente de f
s)
•
sensible a valor de DC y zumbido de baja frecuencia (filtro pasaaltos)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
−0.5 0 0.5
amplitud
Tasa de cruces por cero
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
−0.5 0 0.5
amplitud
tiempo (s)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
20 40 60 80
tiempo (s)
zcr / 10 ms
zcr zcr offset
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 16 / 33
Procesamiento en el dominio del tiempo
Tasa de cruces por cero
•
ejemplo de detecci´ on de fonemas sordos
•
dificultad en establecer valor de umbral
•
combinaci´ on con M
npara segmentaci´ on de voz
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
−0.4
−0.2 0 0.2
amplitud
Tasa de cruces por cero
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
20 40 60 80 100
zcr / 10 ms
zcr umbral
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
−0.04
−0.02 0 0.02
tiempo (s)
amplitud
segmentacion
Frecuencia (kHz)
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
0 1 2 3 4 5 6 7
Tiempo (s)
Frecuencia (kHz)
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
0 1 2 3 4 5 6 7
Estimaci´ on de frecuencia fundamental
•
uno de los problemas fundamentales del procesamiento de audio
(d´ecadas de desarrollo desde 1960s y cientos de algoritmos propuestos)
voicing determinar tipo de excitaci´on: sonoro-sordo
f0 determinar frecuencia fundamental (tambi´en altura ´o pitch)
•
f
0= 1/T
0: per´ıodo fundamental, duraci´ on promedio de varios ciclos
•
f
0: frecuencia de sinusoide que evoca la misma sensaci´ on de altura
T0
tiempo
amplitud
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 19 / 33
Procesamiento en el dominio del tiempo
Dificultades para la estimaci´ on de f
0•
se˜ nal no-estacionaria y cuasi-peri´ odica
•
generalmente unos pocos per´ıodos de f
0•
intervalo de variaci´ on de 4 octavas o m´ as (e.g. 50-800 Hz en voz)
•
variaci´ on de formantes, interferencia de formantes de baja frecuencia
•
errores t´ıpicos de detecci´ on de arm´ onicos o sub-arm´ onicos
•
varias alturas simult´ aneas, interferencia de otros sonidos Algoritmos de pitch tracking
•
tres etapas: pre-procesado, estimaci´ on y post-procesado
•
en el dominio del tiempo (determinaci´ on de T
0)
•
en el dominio de la frecuencia (estimaci´ on de f
0)
Pre-procesado
•
filtrar componentes de muy baja frecuencia
•
filtro pasabajos, mejora periodicidad y aten´ ua efecto de formantes
•
blanqueo espectral, estimar excitaci´ on glotal
0.0 9.6 19.2 28.8 38.4 48.0 57.6 67.2 76.8 86.4 96.0
−0.150
−0.083
−0.017 0.050 0.117 0.183 0.250
Señal de voz Amplitud
Tiempo (ms)
0.0 9.6 19.2 28.8 38.4 48.0 57.6 67.2 76.8 86.4 96.0
−0.150
−0.083
−0.017 0.050 0.117 0.183 0.250
Estimación de la excitación con LPC Amplitud
Tiempo (ms)
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 21 / 33
Procesamiento en el dominio del tiempo
Autocorrelaci´ on de tiempo corto
•
funci´ on de autocorrelaci´ on:
φ[k] =
∞
X
m=−∞
x [m]x [m + k]
•
estimaci´ on de tiempo corto:
R
n[k] =
∞
X
m=−∞
x [m]w [n − m]x [m + k]w [n − k − m]
•
R
n[k] = R
n[−k], R
n[k] ≤ R
n[0] ∀ k, R
n[0] energ´ıa
Autocorrelaci´ on de tiempo corto
•
sonoro picos marcados en retardos m´ ultiplos del per´ıodo
•
sordo la falta de picos marcados indica ausencia de periodicidad
0 0.005 0.01 0.015 0.02 0.025 0.03
autocorrelacion
tiempo (s)
0 50 100 150 200 250
−0.5 0 0.5 1
retardo (muestras)
0 0.005 0.01 0.015 0.02 0.025 0.03
autocorrelacion
tiempo (s)
0 50 100 150 200 250
−0.5 0 0.5 1
retardo (muestras)
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 23 / 33
Procesamiento en el dominio del tiempo
Autocorrelaci´ on de tiempo corto
•
largo de la ventana N de al menos dos per´ıodos
•
al crecer k intervienen menos muestras (R
n[0]:N, R
n[k]:N − k)
•
reducci´ on de la amplitud de R
n[k] al crecer k
0 50 100 150 200 250
−0.5 0 0.5 1
autocorrelacion
N1 = 256 1−k/N1
0 50 100 150 200 250
−0.5 0 0.5 1
N2 = 128 1−k/N2
0 50 100 150 200 250
−0.5 0 0.5 1
N3 = 92 1−k/N3
Autocorrelaci´ on modificada
•
autocorrelaci´ on modificada:
R ˆ
n[k] =
∞
X
m=−∞
x [m]w
1[n − m]x [m + k]w
2[n − k − m]
w
1[n] largo N, w
2[n] largo N + K , con K mayor retardo deseado
•
R ˆ
n[k] 6= ˆ R
n[−k], es una correlaci´ on cruzada
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 25 / 33
Procesamiento en el dominio del tiempo
Autocorrelaci´ on modificada
•
no presenta el decaimiento al aumentar k
•
per´ıodo correspondiente al mayor pico de menor retardo
0 50 100 150 200 250
−0.5 0 0.5 1
autocorrelacion modificada
N1 = 256
0 50 100 150 200 250
−0.5 0 0.5 1
N2 = 128
0 50 100 150 200 250
−0.5 0 0.5 1
retardo (muestras)
N3 = 92
0 0.01 0.02 0.03 0.04 0.05 0.06
autocorrelacion modificada
tiempo (s)
0 50 100 150 200 250
−0.5 0 0.5 1
retardo (muestras)
Funci´ on diferencia
•
motivaci´ on: d [n] = x [n] − x [n − k] ≈ 0 ∀ k m´ ultiplo del per´ıodo
•
funci´ on diferencia (Average Magnitude Difference Function, AMDF):
D ˆ
n[k] =
∞
X
m=−∞
|x[m]w
1[n − m] − x [m + k]w
2[n − k − m]|
•
presenta m´ınimos donde ˆ R
n[k] tiene m´ aximos
0 0.01 0.02 0.03 0.04 0.05 0.06
funcion diferencia
tiempo (s)
0 50 100 150 200 250
0 10 20 30 40 50 60
retardo (muestras)
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07
funcion diferencia
tiempo (s)
0 50 100 150 200 250
0 5 10 15 20 25 30 35 40 45 50
retardo (muestras)
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 27 / 33
Procesamiento en el dominio del tiempo
YIN
[de Cheveign`e and Kawahara, 2002]•
distancia cuadr´ atica D ˆ
n[k] =
N−1
X
m=0
(x [m] − x [m + k])
2•
normalizaci´ on D ¯
n[k] =
( 1, k = 0
Dˆn[k]
1 k
Pk
j =1Dˆn[j ]
, k 6= 0
•
aproximaci´ on por par´ abolas, para aumentar resoluci´ on y evitar errores al buscar m´ınimo
0.00 1.86 3.72 5.58 7.44 9.31 11.17 13.03 14.89 16.75
0.0000 0.0356 0.0711 0.1067 0.1422 0.1778 0.2133 0.2489 0.2844 0.3200
Funcion diferencia Amplitud
Retardo (ms)
0.00 1.86 3.72 5.58 7.44 9.31 11.17 13.03 14.89 16.75
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8
Función diferencia normalizada Amplitud
Retardo (ms)
Post-procesado
•
contorno de f
0ruidoso
•
corregir errores m´ as nocivos (e.g. arm´ onico)
•
pasabajos afecta discontinuidades
•
filtro de mediana
¯
x [ ˆ n] = median{x [n]}
•
detecci´ on de errores gruesos con filtro
pasabajos y correcci´ on local con filtro de mediana
0 200 400 600 800 1000 1200 1400 1600
0 100 200 300 400 500 600 700 Frecuencia (Hz)
Trama
0 200 400 600 800 1000 1200 1400 1600
0 100 200 300 400 500 600 700
Contorno de f0 filtrado Frecuencia (Hz)
Trama
0 200 400 600 800 1000 1200 1400 1600
0 20 40 60 80 100 120 140 160 180 200
Valor absoluto de la diferencia entre contorno original y filtrado, Umbral Frecuencia (Hz)
Trama
0 200 400 600 800 1000 1200 1400 1600
0 100 200 300 400 500 600 700
Contorno de f0 luego de aplicar el filtro de mediana Frecuencia (Hz)
Trama
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 29 / 33
Procesamiento en el dominio del tiempo
Voicing
•
tanto en ˆ R
n[k] como en ˆ D
n[k] el valor del m´ aximo/m´ınimo detectado es un indicador del tipo de excitaci´ on sonoro-sordo
0 0.01 0.02 0.03 0.04 0.05 0.06
autocorrelacion modificada
tiempo (s)
0 50 100 150 200 250
−0.5 0 0.5 1
retardo (muestras)
0 0.01 0.02 0.03 0.04 0.05 0.06
funcion diferencia
tiempo (s)
0 50 100 150 200 250
0 10 20 30 40 50 60
retardo (muestras)
0 5 10 15
Amplitud
Tiempo (s)
Frecuencia (kHz)
2 4 6 8 10 12 14
0 0.5 1 1.5 2 2.5 3 3.5
ejemplo pitch tracking voz cantada
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 31 / 33
Referencias I
de Cheveign` e, A. and Kawahara, H. (2002).
Yin, a fundamental frequency estimator for speech and music.
JASA, 111:1917–1930.
Dixon, S. (2001).
Learning to detect onsets of acoustic piano tones.
Proceedings of the Workshop on Current Directions in Computer Music Research.
Klapuri, A. and Davy, M. (2006).
Signal Processing Methods for Music Transcription.
Springer, 1st edition.
Klapuri, A. P. (1999).
Sound onset detection by applying psichoacoustic knowledge.
Proceedings of the IEEE International Conference on Acoustics,
Speech and Signal Processing.
Rabiner, L. R. and Schafer, R. W. (2011).
Theory and Applications of Digital Speech Processing.
Prentice Hall, 1st edition.
Chapter 6 - Time-domain methods for speech signals.
Procesamiento en el tiempo (1 clase) Procesamiento digital de se˜nales de audio GPA - AudioDSP 2020 33 / 33