Fundamentos de Tratamiento Digital de Audio PDF

Document Details

ChivalrousPlutonium8456

Uploaded by ChivalrousPlutonium8456

Universidad Politécnica de Madrid

Francisco Javier Casajús Quirós

Tags

audio processing digital signal processing audio synthesis speech processing

Summary

This document presents the fundamentals of digital audio processing. It covers topics such as audio signals, the Fourier transform, spectrograms, and audio synthesis. The document appears to be part of a master's program in audio engineering and production.

Full Transcript

Señal de audio y vídeo Fundamentos de Tratamiento Digital de Audio Máster de formación permanente en ingeniería de producción y explotación de contenidos Francisco Javier Casajús Quirós Departamento de Señales, Sistemas y Radiocomunicaciones E.T.S. Ingenie...

Señal de audio y vídeo Fundamentos de Tratamiento Digital de Audio Máster de formación permanente en ingeniería de producción y explotación de contenidos Francisco Javier Casajús Quirós Departamento de Señales, Sistemas y Radiocomunicaciones E.T.S. Ingenieros de Telecomunicación Universidad Politécnica de Madrid Índice 1. Señales de audio Voz Música 2. Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Solapar y sumar 3. Herramientas espectro-temporales Espectrograma Análisis de base perceptual Síntesis de audio 4. Bancos de filtros de M bandas Diezmado interpolación Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) 5. Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Modified Discrete Cosine Transform (MDCT) *Time Domain Alias Cancellation (TDAC) 2 / 85 Señales de audio Índice 1. Señales de audio Voz Música 2. Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Solapar y sumar 3. Herramientas espectro-temporales Espectrograma Análisis de base perceptual Síntesis de audio 4. Bancos de filtros de M bandas Diezmado interpolación Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) 5. Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Modified Discrete Cosine Transform (MDCT) *Time Domain Alias Cancellation (TDAC) 3 / 85 Señales de audio Voz Voz 4 / 85 About formants as resonances of the vocal tract; Señales de audio How the glottis and the vocal tract are studied by speech acousticians. Voz 15.1 THE VOCAL ORGANS The human vocal organs, as well as a representation of the main acoustical features, are Generación de voz shown in Fig. 15.1. The lungs serve as both a reservoir of air and an energy source. In FIGURE 15.1 Human vocal organs and a representation of their main acoustical features. (After Flanagan 1965) 337 I Para sonidos sonoros (vocales, nasales, …) el aire hace que las cuerdas vocales vibren. I Para los sonidos sordos (fricativas, africadas, …) algún estrechamiento (labios, dientes,…) provoca turbulencias en el flujo de aire. I La cavidad bucal funciona como resonador. I La cavidad nasal funciona como una trampa de ondas.. 5 / 85 Señales de audio Voz Modelo de producción de voz 346 Chapter 15 Speech Production FIGURE 15.9 The effect of formants on sound: (a) waveform and spectrum of source sound; (b) filter function showing two formants (resonances); (c) waveform and spectrum of transmitted sound. t = time; f = frequency. (a) (b) (c) I Para sonidos sonoros hay una forma de onda de banda ancha que atraviesa un filtro lineal con resonancias.. Table 15.3 gives the average formant frequencies for the vowel sounds of men, women, and children. The first nine rows give the average frequencies of the first three formants. I Estas resonancias se The llaman last threeformantes. rows indicate the Hay relativeaproximadamente strengths of the three formantsuna porvowel. for each kHz.. For example, /ɑ/ (ah) has the strongest second formant, only 4 dB weaker than the first I Para sonidos sordos hay una formant. For /i/forma deotheronda (ee), on the ruidosa hand, the acoplada second formant a un is 20 dB below resonador. the first. I El sonido resultante es paso alto con una frecuencia de corte que depende del fonema.. TABLE 15.3 Formant frequencies and amplitude of vowels averaged for 76 speakers 6 / 85 The last three rows indicate the relative strengths of the three formants for each vowel. Señales de audio For example, /ɑ/ (ah) has the strongest second formant, only 4 dB weaker than the first Voz formant. For /i/ (ee), on the other hand, the second formant is 20 dB below the first. Formantes TABLE 15.3 Formant frequencies and amplitude of vowels averaged for 76 speakers /i/ // /!/ /#/ /ɑ/ /ɔ/ /υ/ /u/ /&/ /'/ Formant frequencies (Hz) (ee) (i) (e) (ae) (ah) (aw) (u̇) (oo) (u) (er) F1 M 270 390 530 660 730 570 440 300 640 490 W 310 430 610 860 850 590 470 370 760 500 Ch 370 530 690 1010 1030 680 560 430 850 560 F2 M 2290 1990 1840 1720 1090 840 1020 870 1190 1350 W 2790 2480 2330 2050 1220 920 1160 950 1400 1640 Ch 3200 2730 2610 2320 1370 1060 1410 1170 1590 1820 F3 M 3010 2550 2480 2410 2440 2410 2240 2240 2390 1690 W 3310 3070 2990 2850 2810 2710 2680 2670 2780 1960 Ch 3730 3600 3570 3320 3170 3180 3310 3260 3360 2160 −4 −3 −2 −1 −1 0 −1 −3 −1 −5 Formant amplitudes (dB) −24 −23 −17 −12 −5 −7 −12 −19 −10 −15 −28 −27 −24 −22 −28 −34 −34 −43 −27 −20 Source: Peterson and Barney (1952). I F1 y F2 bastan normalmente para identificar una vocal. 7 / 85 Señales de audio Música Música 8 / 85 listener is shown in Fig. 6.9. Señales de audio Composers use dynamic symbols to indicate the appropriate loudness to the performer. Música The six standard levels are shown in Table 6.3. Measurements of sound intensity of a number of instrumentalists have shown that sel- dom do musical performers actually play at as many as six distinguishable dynamic levels, Nivel y margen de frecuencias however. In one study, the dynamic ranges of 11 professional bassoonists were found to vary from 6 to 17 decibels with an average of 10 dB (Lehman 1962). A 10-dB increase FIGURE 6.9 Approximate range Threshold of audibility of frequency and sound level of music compared to the total range of hearing. I El margen de niveles es de aproximadamente 70 dB. I El margen de frecuencias cubre desde 50 hasta 17,000 Hz. 9 / 85 Señales de audio Música Rasgos de la música ritmo volumen altura timbre I Altura: frecuencia del primer armónico, m.c.d de las frecuencias armónicas, recíproca del periodo. I Timbre: envolvente espectral. I Ritmo: periodo de los picos de intensidad. I Volumen: energía localizada, envolvente temporal. 10 / 85 Técnicas basadas en la transformada de Fourier Índice 1. Señales de audio Voz Música 2. Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Solapar y sumar 3. Herramientas espectro-temporales Espectrograma Análisis de base perceptual Síntesis de audio 4. Bancos de filtros de M bandas Diezmado interpolación Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) 5. Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Modified Discrete Cosine Transform (MDCT) *Time Domain Alias Cancellation (TDAC) 11 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL La transformada de Fourier localizada : TFL 12 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Enventanado deslizante De una señal x(n) se selecciona un segmento mediante una función ventana w(n): xn (m) = w(n − m)x(m) que es el segmento de la señal x situado en el instante de tiempo n. La ventana verifica que:  6= 0 0 ≤ n ≤ L − 1 w(n) = 0 n < 0, n ≥ L Donde L es la longitud de la ventana 13 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Entra la DFT Definimos la TFL discreta de x(n) como: ∞ 2πk m X Xn (k) = w(n − m)x(m)e−j M , k = 0...M − 1 m=−∞ que puede interpretarse como: Xn (k) = DFT n [w(n − m)x(m)] 14 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Descomposición en subbandas Para un valor fijo y genérico de k, podemos escribir: ∞ 2πk n 2πk (n−m) X Xn (k) = e−j M w(n − m)ej M x(m) m=−∞ h 2πk n i 2πk n = x(n) ∗ w(n)ej M e−j M I Suponemos que W (Ω) es paso-bajo, lo que es el caso habitual. I x(n) se filtra con un filtro paso-banda centrado en 2πk/M I La salida de éste se traslada al origen de frecuencias. I El resultado es Xn (k) 15 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL El banco de filtros de M bandas mediante TFL La TFL es equivalente a un banco de filtros paso-banda, equiespaciados y con respuesta: Wk (Ω) = W (Ω − Ωk ) Xn ( 0 ) W0(!) 1 1 Xn ( k ) y(n) x(n) W k (! ) 2# 2# "j kn j kn e M e M Xn ( M " 1) WM-1(!) 2# 2# "j ( M "1) n j ( M "1) n e M e M 16 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Banco de filtros: reconstrucción (… I Reconstruimos x(n) quitando las demodulaciones y sumando todas las bandas. I Así el banco de filtros es la conexión en paralelo de los paso-banda: M −1 M −1 F X X Y (Ω) = X(Ω) Wk (Ω) ←→ y(n) = x(n) ∗ w(n)ejΩk n k=0 k=0 I Para que y(n) = x(n), es necesario que: M −1 M −1 F X X Wk (Ω) = 1 ←→ w(n)ejΩk n = δ(n) k=0 k=0 I esta condición se puede escribir en dominio del tiempo como: M −1 2πM X 1 − ej M n δ(n) = w(n) ejΩk n = w(n) 2π n = k=0 1 − ej M  w(n)M n = 0, ±M, ±2M,... = 0 resto 17 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Banco de filtros: reconstrucción … I La reconstrucción perfecta exige que los paso-banda cubran uniformemente el eje de frecuencias: suman la unidad I En el dominio del tiempo la condición puede ponerse como: w(0) = 1/M w(n) = 0 n = ±M, ±2M,... I Como el ancho de cada canal es 2π/M , la frecuencia de muestreo puede dividirse por M sin distorsión. I Para reconstruir, después del diezmado, tenemos que re-interpolar a la frecuencia de muestreo completa mediante filtros que ocupan la misma banda que los de análisis.. 18 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Banco de filtros: reconstrucción …) x0(n) y0(n) w0(n) H 0( ! ) M M G0(!) x1(n) y1(n) w1(n) ˆ( ) v(n) H 1( ! ) M M G1(!) xM-1(n) yM-1(n) HM-1(!) M M GM-1(!) wM-1(n) I El procesado, p.e. codificación, se aplica sobre el conjunto de señalas ym (n) I Un filtro de síntesis Gm (Ω) ocupa la misma banda que el homólogo de análisis Hm (Ω). 19 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Banco de filtros: calidad de los filtros (… 1. Sabemos que la condición de reconstrucción perfecta es: M −1 X Hi (Ω) = 1 i=0 si la condición se cumple: M −1 X xi (n) = v(n) i=0 2. Pero si diezmamos las salidas de los filtros, es preciso añadir requisitos. 3. Con diezmado, la síntesis perfecta requiere que: wi (n) = xi (n) y ello implica que los filtros deben ser de banda limitada estricta. 20 / 85 Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Banco de filtros: calidad de los filtros …) Dos ejemplos Hi(!) ! 0 2"/M 2.2"/M i.2"/M Hi(!) ! 0 2"/M 2.2"/M i.2"/M M −1 P 4. Ambos cumplen la condición de reconstrucción perfecta sin diezmado Hi (Ω) = 1 → i=0 5. Los filtros rectangulares ocupan una banda de 2π/M , se pueden diezmar sin aliasing. 6. La banda de los triangulares es mayor que 2π/M , el diezmado provoca aliasing. 7. El problema puede reducirse con un factor de diezmado S < M , aunque el flujo de datos aumenta. 21 / 85 Técnicas basadas en la transformada de Fourier Solapar y sumar Solapar y sumar 22 / 85 Técnicas basadas en la transformada de Fourier Solapar y sumar Diseño y uso del banco de filtros: Diseño (… 1. Queremos descomponer la señal en M bandas iguales entre 0 y 2π. La ventana es la respuesta al impulso de un filtro paso-bajo idealr:  1 −π/M ≤ Ω ≤ π/M W (Ω) = 0 resto 2. La expresión de la ventana en el dominio del tiempo es: senπn/M w(n) = ∀n πn que cumple con la condición de reconstrucción perfecta, aunque es de longitud infinita y no implementable. 3. Por tanto utilizamos sólo la parte central de la ventana ideal:  senπn/M −KM ≤ n ≤ KM w(n) = πn 0 resto 23 / 85 Técnicas basadas en la transformada de Fourier Solapar y sumar Diseño y uso del banco de filtros: Diseño …) 4. Este procedimiento produce un banco de reconstrucción perfecta (sin diezmado) pero distorsiona la respuesta ideal del canal. full w(n) for M=5 ideal W(!) for M=5 0.2 1.4 1.2 0.15 1 0.1 0.8 0.05 0.6 0.4 0 0.2 -0.05 0 -40 -20 0 20 40 0 0.1 0.2 0.3 0.4 0.5 w(n) truncated to N=21 samples |W(!)| for w(n) truncated to N=21 0.2 1.4 1.2 0.15 1 0.1 0.8 0.05 0.6 0.4 0 0.2 -0.05 0 -40 -20 0 20 40 0 0.1 0.2 0.3 0.4 0.5 n Normalized frequency (Hz) 24 / 85 Técnicas basadas en la transformada de Fourier Solapar y sumar Diseño y uso del banco de filtros: Para análisis Podemos calcular las salidas del banco de filtros Xn (k), incluyendo el diezmado por un factor S < M , mediante este procedimiento: 1. Un segmento de señal xn (m) con longitud L es seleccionado. Le aplicamos la ventana de análisis. 2. Se calcula la DFT del segmento enventanado en M frecuencias equiespaciadas. 3. Los M coeficientes resultantes se modifican de alguna forma. 4. Los M valores modificados constituyen el bloque de síntesis en el dominio de la frecuencia. 5. La ventana de análisis se desplaza S < M muestras (es típico que S = M/2 o M/4). 6. Dicha ventana se aplica a un nuevo segmento de señal xn+S (m) 25 / 85 Técnicas basadas en la transformada de Fourier Solapar y sumar Diseño y uso del banco de filtros: Reconstrucción con DFT, solapar y sumar Las salidas del banco de filtros Xn (k) son paso bajo, por lo que pueden diezmarse sin perder información. Esto equivale a calcular la DFT sólo cada S muestras. Para reconstruir la señal, se procesa cada bloque Xn (k), k = 1... M como sigue: 1. Se calcula la DFT inversa. 2. Se sitúa el segmento resultante en su posición del eje de tiempos. 3. Se solapa y suma con las porciones correspondientes de los anteriores. 26 / 85 Técnicas basadas en la transformada de Fourier Solapar y sumar Análisis-síntesis con TFL: Un ejemplo sen(t n)écos(2t n)+0.7cos(3t n+//4) 1 0.8 0.6 0.4 0.2 0 ï0.2 ï0.4 ï0.6 ï0.8 ï1 0 50 100 150 200 250 300 350 400 450 500 I Se muestra la señal y 3 ventanas de análisis en sus posiciones. I En este caso S = N/2, con L = 256 27 / 85 Técnicas basadas en la transformada de Fourier Solapar y sumar Análisis-síntesis con TFL: Ejemplo de síntesis SUM Al no haber modificación, las IDFTs son iguales a los segmentos enventanados. 28 / 85 Técnicas basadas en la transformada de Fourier Solapar y sumar Análisis-síntesis con TFL: Modificación de la TFL En las DFTs de los segmentos 2 y 3 anulamos los coeficientes correspondientes a 2ω y 3ω Eliminados armonicos 2 y 3 Eliminados armonicos 2 y 3 SUMA 29 / 85 Herramientas espectro-temporales Índice 1. Señales de audio Voz Música 2. Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Solapar y sumar 3. Herramientas espectro-temporales Espectrograma Análisis de base perceptual Síntesis de audio 4. Bancos de filtros de M bandas Diezmado interpolación Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) 5. Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Modified Discrete Cosine Transform (MDCT) *Time Domain Alias Cancellation (TDAC) 30 / 85 Herramientas espectro-temporales Espectrograma Espectrograma 31 / 85 Herramientas espectro-temporales Espectrograma Espectrograma basado en la TFL I El módulo de la TFL se representa mediante una escala de color en un diagrama con ejes tiempo-frecuencia I Habitualmente el tiempo se pone en ordenadas y la frecuencia en abscisas.. I El mapa de color es crítico para producir ‘ìmágenes” que se puedan interpretar visualmente. "Nineteenth century"por locutor masculino (fuente Wikicommons) 32 / 85 Herramientas espectro-temporales Espectrograma Ejemplos de espectrogramas Barrido tonal Voz 33 / 85 Herramientas espectro-temporales Espectrograma Resolutción temporal y espectral Banda estrecha Banda ancha Resolución múltiple Picos acentuados 34 / 85 Herramientas espectro-temporales Análisis de base perceptual Análisis de base perceptual 35 / 85 Herramientas espectro-temporales Análisis de base perceptual Escala musical (escala logarítmica) I Se basa en la escala musical occidental, se empezó a definir hace 2.500 años (k−49) I A la tecla de piano de número k asignamos la frecuencia: f = 440 · 2 12 La tecla 49 (A4 o La4) tiene una frecuencia de 440 Hz. I En general el cociente n entre dos frecuencias se mide en cents o centésimas, así: f2 n = 1200 · log2 f1 I Un “cent” es la centésima parte de un semitono musical. Conversion of frequency to musical scale 12000 10000 8000 n (cent) 6000 Piano range 4000 2000 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 f (Hz) 36 / 85 Herramientas espectro-temporales Análisis de base perceptual La escala frecuencial mel I El nombre provine de melodía, y es una escala perceptual. I Los oyentes juzgaron qué valores de frecuencia correspondían a incrementos iguales de altura tonal. I A un tono de 1000 Hz se le asigna una altura m de 1000 mel I Los datos empíricos quedan ajustados por esa fórmula: f   m = 2595 log10 1 + 700 Conversion of frequency to mel scale 3000 2500 2000 m (mel) 1500 1000 500 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 f (Hz) 37 / 85 Herramientas espectro-temporales Análisis de base perceptual Escala frecuencia y banco de filtros ERB I ERB (equivalent rectangular bandwidth) es una aproximación al ancho de banda del banco de filtros perceptual. I Modela los filtros como paso-banda rectangulares. La frecuencia central es fc y el ancho de banda: Be = 24,7(0,00437fc + 1) I La escala incremental ERB se define como el número de anchos de banda rectangulares equivalentes por debajo de la frecuencia dada f. r = 21,4 log(0,00437f + 1) Conversion of frequency to ERB rate scale 40 30 rate (cam) 20 10 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 f (Hz) 38 / 85 Herramientas espectro-temporales Análisis de base perceptual Comparación de las escalas perceptuales de frecuencia I Las escalas perceptuales de frecuencia se usan para deformar el eje de frecuencias en las representaciones tiempo-frecuencia. I El uso de una u otra depende de la aplicación. I Podemos compararlas normalizando el eje de frecuencia deformado. Comparison of perceptual scales 1 Warped frequency scale 0.8 0.6 0.4 Musical (log) 0.2 Mel ERB 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 f (Hz) 39 / 85 Herramientas espectro-temporales Análisis de base perceptual Bancos de filtros perceptuales (… Critical bandwidth approximations Bark Piecewise approximation ERB 10 3 I Deformar el eje de frecuencias no hace que la resolución frecuencial encaje con los datos perceptuales Bandwidth (Hz) I Para ello deberían ajustarse al ancho de banda crítico. 10 2 I Un enfoque habitual: sumar los coeficientes de la TFL que se encuentran en la misma banda crítica. 10 1 10 1 10 2 10 3 10 4 f (Hz) 40 / 85 Herramientas espectro-temporales Análisis de base perceptual Bancos de filtros perceptuales: Gammatone …) Gammatone filter at f c = 1000 Hz 4 2 Amplitude I Es una forma de implementar el banco de 0 filtros perceptual -2 I La respuesta al impulso de un filtro es: -4 0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 t (s) n−1 −2πBt Frequency responses at fc = 1 and 10 kHz g(t) = At e cos(2πfc t + φ) 1 0.8 I Los parámetros B (ancho de banda en Hz) y Amplitude 0.6 fc (frecuencia central en Hz) se asignan según 0.4 la escala Bark. 0.2 0 0 2 4 6 8 10 12 14 16 18 20 f (kHz) 41 / 85 Herramientas espectro-temporales Síntesis de audio Síntesis de audio 42 / 85 to synthesize new forms of audio, that is, one can later use improvements in reproducing aspects of tone quality, attack the decoder portion Herramientas espectro-temporales alone as a synthesizer. The encoder and transients, timbre, and dynamics. The latent-space encod- Síntesis de audio Figure 3. Schematic of an autoencoder method in which the output spectrogram of a neural network approximates its input spectrogram. Here we show fully connected neural network layers operating on spectrograms, whereas other autoencoders make use of more complex network Síntesis de sonidos musicales con aprendizaje automático: autoencoder architectures (e.g., recurrent or convolutional neural network layers) and operate directly on raw audio. 24 | Acoustics Today | Spring 2020 I Método de síntesis basado en “autoencoders”. I El espectrograma de salida de una red neuronal se aproxima al de entrada 1. I Las modificaciones en el nivel del espacio latente producen nuevos sonidos sintéticos. 1 Hawley et al, Synthesis of musical instrument sounds: physics-based modeling or machine learning?, Acoustics Today, Spring 2020 43 / 85 Herramientas espectro-temporales Síntesis de audio Síntesis de sonidos musicales con aprendizaje automático: GANs erge flute d for 017) and I "Generative adversarial network"(GAN) para ility síntesis de audio. ded I El discriminador “adivina” si su entrada es oups natural o síntética. y to ssez I El generador utliza la información del proceso ween de optimización (gradientes) para sintetizar mejores sonidos. oen- nds; ated tion nex- Figure 4. Overview of a generative adversarial network (GAN), 44 / 85 Herramientas espectro-temporales Síntesis de audio Metodo de Griffin y Lim (1984) 1. Empezamos con una TFL objetivo Xn0 (k), que no es necesariamente válida. 2. Los segmentos temporales se calculan como: x0mS (n) = IDFT [XmS 0 (k)] 3. Los segmentos se solapan y suman en el dominio del tiempo: ∞ w(mS − n)x0mS (n) P m=−∞ y(n) = ∞ P w2 (mS − n) m=−∞ 4. Yn (k), la TFL de y(n), es válida. Es también la la cercana de las posibles a Xn0 (k), en el sentido de error cuadrático. 45 / 85 Herramientas espectro-temporales Síntesis de audio *Notas I El error cuadrático es: ∞ M −1 X 1 X 0 = |YmS (k) − XmS (k)|2 2π m=−∞ k=0 I Aplicándole el teorema de Parseval: ∞ ∞ X X 2 ymS (n) − x0mS (n)  = m=−∞ n=−∞ I Si calculamos el gradiente de  respecto a y(n), y lo igualamos a cero , obtenemos la solución anterior. 46 / 85 Herramientas espectro-temporales Síntesis de audio Ejemplo: compresión temporal al 75 % Time-shifted segment Time-shifted segment SUM SUM: Non-linearly distorted El resultado no es mucho mejor que solapando y sumando directamente, pero se puede mejorar mediante iteraciones… 47 / 85 Herramientas espectro-temporales Síntesis de audio Estimación iterativa I Comenzamos con el módulo de una TFL objetivo: Xn0 (k) I Creamos una estimación inicial aleatoria de y(n), que llamamos y i (n)   1. Ensamblamos Xni (k) = |Xn0 (k)| exp j^Yni (k).   2. Calculamos los segmentos temporales ximS (n) = IDF T XmS i 3. Los segmentos se solapan y suman en el dominio del tiempo: ∞ P w(mS − n)ximS (n) i+1 m=−∞ y (n) = ∞ P w2 (mS − n) m=−∞ I Iteramos el lazo de estimación con y i+1 (n) 48 / 85 Herramientas espectro-temporales Síntesis de audio Otro ejemplo: compresión temporal iterativa al 75 % Time-shifted segment Time-shifted segment Time-shifted segment Time-shifted segment SUM: Non-linearly distorted SUM: After 60 iterations Las sucesivas iteraciones ajustan las fases (en esta caso como retardos) de los segmentos adyacentes y les dotan de consistencia. 49 / 85 Bancos de filtros de M bandas Índice 1. Señales de audio Voz Música 2. Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Solapar y sumar 3. Herramientas espectro-temporales Espectrograma Análisis de base perceptual Síntesis de audio 4. Bancos de filtros de M bandas Diezmado interpolación Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) 5. Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Modified Discrete Cosine Transform (MDCT) *Time Domain Alias Cancellation (TDAC) 50 / 85 Bancos de filtros de M bandas Diezmado interpolación Diezmado interpolación 51 / 85 Bancos de filtros de M bandas Diezmado interpolación Una digresión: diezmado e interpolación (… Diagrama de bloques de un proceso de diezmado e interpolación en tiempo discreto v(n) x(n) y(n) z(n) w(n) h(n) M M g(n) M:1 1:M La señal y(n) retiene una de cada M muestras de x(n), (en z(n), M − 1 de cada M muestras de x(n) se ponen a cero). Relaciones en el dominio de la frecuencia: M −1 1 X 2πk   Z(Ω) = X Ω− M M k=0 M −1 1 X Ω − 2πk   Y (Ω) = Z(Ω/M ) = X M M k=0 52 / 85 Bancos de filtros de M bandas Diezmado interpolación Una digresión: diezmado e interpolación … x(n) X(!) n 0 4 8 !c 0 " 2" z(n) Z(!) "/M n 0 4 8 !c 0 2"/M " 2" y(n) Y(!) n 0 1 2 M! c 0 " 2" 53 / 85 Bancos de filtros de M bandas Diezmado interpolación Una digresión: diezmado e interpolación …) I Si g(n) es un paso-bajo ideal con ganancia M y ancho de banda π/M , w(n) = x(n). I Pero además x(n) tiene que ser paso-bajo con Ωc < π/M. I Esto queda garantizado si h(n) es paso-bajo con ancho de banda π/M. I El proceso funcionan también si tanto h(n) como g(n) son paso-banda con ancho 2π/M I Si empleamos varios filtros h(n) (con distintas bandas de paso), se forma un banco de filtros. x0(n) y0(n) w0(n) H 0( ! ) M M G0(!) x1(n) y1(n) w1(n) ˆ( ) v(n) H 1( ! ) M M G1(!) xM-1(n) yM-1(n) HM-1(!) M M GM-1(!) wM-1(n) 54 / 85 Bancos de filtros de M bandas Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) 55 / 85 Bancos de filtros de M bandas Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Banco de filtros de reconstrucción perfecta de 2 bandas (… x0(n) y0(n) z0(n) w0(n) H0(!) 2 2 G0(!) v(n) vˆ(n) x1(n) y1(n) z1(n) H1(!) 2 2 G1(!) w1(n) I Divide la señal en dos bandas: H0 (z) es paso-bajo, H1 (z) es paso-alto. I En la rama superior: X0 (z) = H0 (z)V (z) W0 (z) = G0 (z)Z0 (z) I La entrada y salida del diezmador verifican: 1 Ω Ω Ω h    i   Y0 (Ω) = X0 + X0 −π = Z0 2 2 2 2 56 / 85 Bancos de filtros de M bandas Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Banco de filtros de reconstrucción perfecta de 2 bandas … I en el dominio de la transformada Z: 1 X0 z 1/2 + X0 −z 1/2   Y0 (z) = 2 1 Z0 (z) = Y0 (z 2 ) = [X0 (z) + X0 (−z)] 2 I De forma que las señales a la salida de los filtros de síntesis son: 1 W0 (z) = G0 (z) [H0 (z) V (z) + H0 (−z) V (−z)] 2 1 W1 (z) = G1 (z) [H1 (z) V (z) + H1 (−z) V (−z)] 2 I Los términos Gi (z)Hi (z)V (z) serían los únicos que habría sin diezmado. I Los términos Gi (z)Hi (−z)V (−z) se deben al solapamiento y habría que eliminarlos. 57 / 85 Bancos de filtros de M bandas Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Banco de filtros de reconstrucción perfecta de 2 bandas … X0(!) 0 "/2 " 2" ! Z 0( ! ) 0 "/2 " 2" ! Y 0( ! ) 0 "/2 " 2" ! I G0 (z) filtra Y0 (z), pero el solapamiento persiste. 58 / 85 Bancos de filtros de M bandas Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Banco de filtros de reconstrucción perfecta de 2 bandas … I La salida del banco se expresa como: 1 V̂ (z) = [H0 (z) G0 (z) + H1 (z) G1 (z)] V (z) 2 1 + [H0 (−z) G0 (z) + H1 (−z) G1 (z)] V (−z) 2 V̂ (z) = T (z)V (z) + S(z)V (−z) I La reconstrucción perfecta puede lograrse si v̂(n) = C.v(n − n0 ),es decir: 1. S(z) = 0, ∀z 2. T (z) = Cz −n0 I La primera condición es para cancelar el solapamiento entre los dos canales e implica: G0 (z) H1 (−z) =− G1 (z) H0 (−z) 59 / 85 Bancos de filtros de M bandas Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Banco de filtros de reconstrucción perfecta de 2 bandas … I La segunda condición elimina la distorsión lineal. Si H0 (z) es un FIR paso-bajo con N coeficientes (N par), una posible solución sería: H1 (z) = z −(N −1) H0 (−z −1 ) h1 (n) = (−1)n h0 (N − 1 − n) ¿Qué implican −z, z −1 y z −(N −1) en tiempo y en frecuencia? I Si h0 (n) es real, se puede demostrar que la distorsión lineal desaparece cuando: |H0 (Ω)|2 + |H0 (Ω − π)|2 = |H0 (Ω)|2 + |H1 (Ω)|2 = 1 I A lo que añadimos: H1 (z) = z −(N −1) H0 (−z −1 ) G0 (z) = −H1 (−z) G1 (z) = H0 (−z) 60 / 85 Bancos de filtros de M bandas Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Banco de filtros de reconstrucción perfecta de 2 bandas …) Ejemplo de respuestas al impulso para un QMF de reconstrucción perfecta h0(n) g0(n) n n 0 5 0 5 h1(n) g1(n) 5 0 n n 0 5 I El prototipo paso-bajo h0 (n) debe ser de potencia complementaria. I Hay filtros tabulados o se pueden calcular mediante diseño asistido por ordenador. 61 / 85 Bancos de filtros de M bandas Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) 62 / 85 Bancos de filtros de M bandas Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) Banco de filtros de reconstrucción perfecta de M bandas (… Aproximación de Rothweiler H(") " ! ! # 2M 2M M=5 H M#1 H0 -10 -8 -6 -4 -2 0 2 4 6 8 10 x !/2M Hi -! -!/2 0 !/2 ! (") I El punto de partida es un prototipo paso-bajo H(Ω). I El prototipo se traslada a múltiplos impares de π/2M para crear los filtros paso-banda.. I No hay filtros centrados en 0 o π. 63 / 85 Bancos de filtros de M bandas Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) Banco de filtros de reconstrucción perfecta de M bandas … x0(n) z0(n) w0(n) H0 M M G0 x1(n) z1(n) w1(n) vˆ(n) v(n) H1 M M G1 xM-1(n) zM-1(n) HM-1 M M GM-1 wM-1(n) I El i-ésimo filtro de análisis paso-banda (para respuesta al impulso real) π π h i h i Hi (Ω) = ai H Ω − (2i + 1) + a∗i H Ω + (2i + 1) = 2M 2M = ai Hi+ (Ω) + a∗i Hi− (Ω) I Los filtros de síntesis son: Gi (Ω) = ci Hi+ (Ω) + c∗i Hi− (Ω) 64 / 85 Bancos de filtros de M bandas Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) Banco de filtros de reconstrucción perfecta de M bandas …) Reglas para la cancelación del solapamiento y la eliminación de la distorsión lineal: 1. Seleccione un prototipo H(Ω) tabulado o diseñado por ordenador. 2. Elija a0 de entre los cuatro valores posibles que siguen: π 3π n o |a0 | = 1, ∠a0 = ± ,± 4 4 3. Para los canales desde i = 1 hasta i = M − 1 utilice la recurrencia: ai = ±jai−1 4. Para los filtros de síntesis: ci = a∗i Este procedimiento garantiza la cancelación del solapamiento, por lo que: M −1 Xh 2 2 i V̂ (Ω) = V (Ω) Hi+ (Ω) + Hi− (Ω) i=0 La distorsión lineal desaparece si el sumatorio es 1. Mediante optimización numérica se han obtenido diversos prototipos que cumplen la condición. Logran desviaciones de alrededor de 0,01 dB respecto a ganancia unidad. 65 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Índice 1. Señales de audio Voz Música 2. Técnicas basadas en la transformada de Fourier La transformada de Fourier localizada : TFL Solapar y sumar 3. Herramientas espectro-temporales Espectrograma Análisis de base perceptual Síntesis de audio 4. Bancos de filtros de M bandas Diezmado interpolación Filtros especulares en cuadratura (QMF, Quadrature Mirror Filters) Filtros en cuadratura polifásicos (PQF, Polyphase Quadrature Filters) 5. Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Modified Discrete Cosine Transform (MDCT) *Time Domain Alias Cancellation (TDAC) 66 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Discrete Cosine Transform (DCT) 67 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Definición de la DCT La DCT, en concreto de tipo II (DCT-II), de una secuencia x(n) se define como: N −1 π 1 X h   i Xk = x(n) cos n+ k , k = 0,... N − 1 N 2 n=0 I Sólo aneja números reales, tanto en tiempo como en frecuencia. I Hay algoritmos rápidos para calcularla. I Tiene una propiedad de compactación energética que la hace útil para codificación fuente (de imágenes). I Para procesado de audio se emplea otra definición (DCT-IV) más adecuada, que es su propia inversa. N −1 π 1 1 X h   i Xk = x(n) cos n+ k+ , k = 0,... N − 1 N 2 2 n=0 68 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Compactación energética (… Analizamos un segmento de señal x(n) con la DCT y la DFT DCT and DFT 200 x(n) 100 0 0 20 40 60 80 100 120 n 600 400 DCT 200 0 -200 0 20 40 60 80 100 120 k 500 |DFT| 0 0 20 40 60 80 100 120 k Cumulative normalised RMS value 1 DCT 0.9 DFT 0.8 0 20 40 60 80 100 120 number of coefficients 69 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Discrete Cosine Transform (DCT) Compactación energética …) I Ambas transformadas tienen el mismo número de coeficientes no redundantes. I La DFT representa mejor el contenido en frecuencia. I Un porcentaje dado de la energía total está contenido en menos coeficientes de la DCT que de la DFT. I En codificación de fuente, para la misma distorsión, es possible quitar más coeficientes de la DCT que de la DFT. 70 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Modified Discrete Cosine Transform (MDCT) Modified Discrete Cosine Transform (MDCT) 71 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Modified Discrete Cosine Transform (MDCT) Definición de la MDCT La DCT modificada de una secuencia x(n) se basa en la transformada DCT-IV. Su definición es: 2N −1 π 1 N 1 X h   i Xk = x(n) cos n+ + k+ , k = 0,... N − 1 N 2 2 2 n=0 con una transformada inversa (IMDCT) dada por: N −1 π 1 N 1 X h   i y(n) = Xk cos n+ + k+ , n = 0,... 2N − 1 N 2 2 2 n=0 I El número de muestras en frecuencia es menor que en tiempo (la mitad). I Por tanto hay solapamiento temporal. En general y(n) 6= x(n). I El solapamiento temporal puede ser cancelado entre segmento de señal solapados. I MDCT se usa en el análisis mediante transformadas solapadas. 72 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Modified Discrete Cosine Transform (MDCT) Transformada solapada con DFT (o TFL) (… Original signal N N/2 n direct transform DFT N samples inverse transform IDFT N samples Identical to the original n Reconstructed signal with overlap-add 73 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Modified Discrete Cosine Transform (MDCT) Transformada solapada con DFT (o TFL) …) I Las ventanas sucesivas, que abarcan los segmentos de señal originales, se solapan N/2 muestras para que la reconstrucción sea precisa. I Para cada N/2 muestras en tiempo se calculan N muestras en frecuencia diferentes. I Por tanto el flujo de datos se dobla. I Esto carece de importancia en análisis de audio, pero para compresión es muy relevante. 74 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Modified Discrete Cosine Transform (MDCT) Transformada solapada con MDCT (… Original signal N N/2 n direct transform MDCT N/2 frequency samples inverse transform IMDCT N time samples original segment plus time-aliasing n alias cancellationt Reconstructed signal with overlap-add and TDAC 75 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) Modified Discrete Cosine Transform (MDCT) Transformada solapada con MDCT …) I Las ventanas sucesivas, que abarcan los segmentos de señal originales, se solapan N/2 muestras para que la reconstrucción sea precisa. I Para cada N/2 muestras en tiempo se calculan N/2 muestras en frecuencia diferentes. I El flujo de datos se mantiene. I Los coeficientes frecuenciales son una versión de baja resolución del espectro. Esto es subóptimo para análisis de audio I La formulación MDCT con TDAC (Time Domain Alias Cancellation) predomina en los archivos comprimidos de audio. 76 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) *Time Domain Alias Cancellation (TDAC) *Time Domain Alias Cancellation (TDAC) 77 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) *Time Domain Alias Cancellation (TDAC) DCT-IV y MDCT Comparamos las fórmulas de: I DCT-IV N −1 π 1 1 X h   i Xk = x(n) cos n+ k+ , k = 0,... N − 1 N 2 2 n=0 I MDCT 2N −1 π 1 N 1 X h   i Xk = x(n) cos n+ + k+ , k = 0,... N − 1 N 2 2 2 n=0 I Por tanto MDCT es la DCT de un bloque de señal de longitud 2N que se ha desplazado N/2 a la derecha. I La expresión de DCT-IV implica simetrías que hay que tener en cuenta al extender la transformada a 2N muestras. 78 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) *Time Domain Alias Cancellation (TDAC) Simetrías en la DCT-IV (… I DCT-IV N −1 π 1 1 X h   i Xk = x(n) cos n+ k+ , k = 0,... N − 1 N 2 2 n=0 I IDCT-IV N −1 2 X π 1 1 h   i x(n) = Xk cos n+ k+ , n = 0,... N − 1 N N 2 2 k=0 I La expresión de la IDCT se puede extender para n > N − 1 pero reproducirá los mismos valores que en intervalo de base [0, N − 1] I Definamos x = [x(0)... x(N − 1)] y xr = [x(N − 1)... x(0)] 79 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) *Time Domain Alias Cancellation (TDAC) Simetrías en la DCT-IV … Basis function for DCT-IV. k=0 1 0.5 0 -0.5 -1 x -x -x r xr 0 N 2N 3N 4N n Basis functions for DCT-IV. k=0, 1 , 2 I Para k = 0 la función base es periódica de periodo 4N. 1 I Parr n ∈ [0, N − 1] la IDCT proporciona x 0.5 I Dentro de [N, 2N − 1] tla función base es una inversión temporal, con cambio de signo, del segmento anterior.0 Para n ∈ [N, 2N − 1] la IDCT proporciona −xr -0.5 I Para la DCT la secuencia temporal es:... , x, −xr , −x, xr ,... -1 0 N 2N 3N 4N 80 / 85 0 Técnicas basadas en la transformada discreta en coseno (DCT) *Time Domain Alias Cancellation (TDAC) -0.5 -1 x -x -x r xr Simetrías en la DCT-IV …) 0 N 2N 3N 4N n Basis functions for DCT-IV. k=0, 1 , 2 1 0.5 0 -0.5 -1 0 N 2N 3N 4N n I Todo lo anterior sucede para k = 0, porque la función base es antisimétrica en torno a n = N − 1/2 y simétrica n = 2N − 1/2 I Pero la simetría de las funciones base es la misma para todos los valores de k I Por consiguiente la relación es válida para la DCT-IV completa. 81 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) *Time Domain Alias Cancellation (TDAC) La MDCT como DCT-IV (… I Sean A y B dos secuencias temporales consecutivas de longitud N. En conjunto constituyen un bloque de señal X = [A, B] de longitud 2N. I Como MDCT incluye un desplzamiento a la derecha de N/2 muestras, consideramos que las secuencias de longitud N se dividen en dos secuencias de longitud N/2: A = [a, a0 ] B = [b, b0 ] I El cálculo de la MDCT de X equivale a una DCT-IV, según el esquema de la figura: Basis functions for DCT-IV. k=0 1 0.5 0 -0.5 -1 a a' b b' 0 N/2 N 3N/2 2N 5N/2 3N 7N/2 4N 82 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) *Time Domain Alias Cancellation (TDAC) La MDCT como DCT-IV …) I La IMDCT equivale a una IDCT extendida a longitud 2N y desplazada a la izquierda N/2. I La IDCT cumple con las reglas de simetría: I Los bloques fuera de [0, N − 1] se pliegan dentro de él. El resultado es: [−br − b0 , a − ar0 ] I Y este bloque se replica a lo largo del eje de tiempos siguiendo las reglas.. I Después del desplazamiento el bloque reconstruído, de longitud 2N , es: X̃ = [a − ar0 , −ar + a0 , b + b0r , br + b0 ] = [A − Ar , B + Br ] I Las componentes solapadas en el dominio del tiempo son Ar y Br. Basis functions for DCT-IV. k=0 1 0.5 0 -0.5 -1 -b r -b' a-a r ' -a r +a' b+b r ' b r +b' -a+a r ' a r -a' -b-b r ' 0 N/2 N 3N/2 2N 5N/2 3N 7N/2 4N 83 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) *Time Domain Alias Cancellation (TDAC) Solapar-sumar y TDAC I Sean dos bloques solapados de longitud 2N con dos componentes de longitud N (cada uno): X = [A, B] Y = [B, C] I Tras la MDCT y la IMDCT tenemos: X̃ = [A − Ar , B + Br ] Ỹ = [B − Br , C + Cr ] I En reconstrucción primeramente solapamos la segunda mitad de X̃ con la primera mitad de Ỹ. I Cuando sumamos las mitades solapadas, las componentes de solapamiento Br se cancelan mutuamente.. 84 / 85 Técnicas basadas en la transformada discreta en coseno (DCT) *Time Domain Alias Cancellation (TDAC) Descripciones espectrales en codificadores de audio perceptuales con pérdidas I Los archivos de audio comprimido contienen de forma directa las salidas de un banco de filtros equiespaciados. I Estas salidas pueden considerarse como una descripción espectral directa. I En los bancos de filtros MDCT los coeficientes están submuestreados, pero resultan útiles de todas formas. Codificador Banco de filtros N Bandas Uso Johnston DFT 2048 1024 Primer codificador perceptual de audio MPEG-1 Layers I and II PQF 384 32 Alta calidad, velocidad media MPEG-1 Layers III DFT + PQF 1152 32x18 Alta calidad velocidad baja Dolby AC-2 MDCT 512 256 Alta calidad velocidad baja Dolby AC-3 MDCT 512 256 Alta calidad, 5.1 Dolby AC-4 MDCT 512 256 Espacial multicanal MPEG AAC MDCT Adaptativo Adaptativo Espacial multicanal

Use Quizgecko on...
Browser
Browser