stringtranslate.com

Transformada de Q constante

En matemáticas y procesamiento de señales , la transformada de Q constante y la transformada de Q variable , simplemente conocidas como CQT y VQT , transforman una serie de datos al dominio de la frecuencia . Está relacionada con la transformada de Fourier [1] y muy estrechamente relacionada con la transformada wavelet compleja de Morlet [2] . Su diseño es adecuado para la representación musical.

Transformación Constant-Q aplicada a la forma de onda de un acorde de piano en Do mayor . El eje x es la frecuencia , asignada a tonos musicales estándar , desde bajo (izquierda) a alto (derecha). El eje y es el tiempo, comenzando desde presionar el acorde de piano en la parte inferior y soltando el acorde de piano en la parte superior, 8 segundos después. Los píxeles más oscuros corresponden a valores más altos de la transformación Constant-Q. Los picos se corresponden estrechamente con las frecuencias precisas de las cuerdas del piano vibrantes. Por lo tanto, los picos se pueden utilizar para detectar las notas tocadas en el piano. Los 3 picos más bajos son las frecuencias fundamentales del acorde de Do mayor (Do, Mi, Sol). Cada cuerda también vibra en múltiplos de la fundamental, conocidos como sobretonos , que corresponden a los picos más pequeños restantes a la derecha de los tonos fundamentales. Los sobretonos son de menor intensidad que el tono fundamental.
Audio del acorde de piano Do Mayor utilizado para generar la transformada Constant-Q anterior.
Su forma de onda no comunica visualmente información de tono como lo puede hacer la transformada Constant-Q.

La transformación puede considerarse como una serie de filtros f k , espaciados logarítmicamente en frecuencia, donde el filtro k -ésimo tiene un ancho espectral δf k igual a un múltiplo del ancho del filtro anterior:

donde δf k es el ancho de banda del k -ésimo filtro, f min es la frecuencia central del filtro más bajo y n es el número de filtros por octava .

Cálculo

La transformada de Fourier de tiempo corto de x [ n ] para un marco desplazado a la muestra m se calcula de la siguiente manera:

Dada una serie de datos con una frecuencia de muestreo f s = 1/ T , siendo T el período de muestreo de nuestros datos, para cada intervalo de frecuencia podemos definir lo siguiente:

A continuación se muestra que este es el número entero de ciclos procesados ​​a una frecuencia central f k . Como tal, esto define en cierta medida la complejidad temporal de la transformación.
Dado que f s / f k es el número de muestras procesadas por ciclo en la frecuencia f k , Q es el número de ciclos enteros procesados ​​en esta frecuencia central.

El núcleo de transformación equivalente se puede encontrar utilizando las siguientes sustituciones:

Después de estas modificaciones, nos quedamos con

Cálculo del ancho de banda de Q variable

La transformación de Q variable es la misma que la transformación de Q constante, pero la única diferencia es que el filtro Q es variable, de ahí el nombre de transformación de Q variable. La transformación de Q variable es útil cuando la resolución temporal en frecuencias bajas es importante [ se necesitan ejemplos ] . Hay formas de calcular el ancho de banda de la VQT, una de ellas utilizando el ancho de banda rectangular equivalente como valor para el ancho de banda del bin VQT. [3]

La forma más sencilla de implementar una transformación de Q variable es agregar un desplazamiento de ancho de banda llamado γ como este: [ cita requerida ]

Esta fórmula se puede modificar para tener parámetros adicionales para ajustar la nitidez de la transición entre Q constante y ancho de banda constante de la siguiente manera: [ cita requerida ]

con α como parámetro para la nitidez de la transición y donde α de 2 es igual a la escala de frecuencia sinusoidal hiperbólica , en términos de resolución de frecuencia.

Cálculo rápido

El cálculo directo de la transformada de Q constante (ya sea mediante la transformada de Fourier discreta ingenua o el algoritmo de Goertzel , ligeramente más rápido ) es lento en comparación con la transformada de Fourier rápida . Sin embargo, la transformada de Fourier rápida se puede emplear, junto con el uso de un núcleo , para realizar el cálculo equivalente pero mucho más rápido. [4] En 2006 se propuso una implementación inversa aproximada a dicha; funciona volviendo a la transformada de Fourier discreta y solo es adecuada para instrumentos de tono. [5]

Un desarrollo de este método con una invertibilidad mejorada implica realizar CQT (a través de la transformada rápida de Fourier) octava por octava, utilizando resultados filtrados con paso bajo y submuestreados para tonos consecutivos más bajos. [6] Las implementaciones de este método incluyen la implementación de MATLAB y la implementación de Python de LibROSA. [7] LibROSA combina el método submuestreado con el método de transformada rápida de Fourier directa (al que denomina "pseudo-CQT") haciendo que este último procese las frecuencias más altas como un todo. [7]

La transformada de Fourier discreta deslizante se puede utilizar para un cálculo más rápido de la transformada de Q constante, ya que la transformada de Fourier discreta deslizante no tiene que tener un espaciado de frecuencia lineal y el mismo tamaño de ventana por contenedor. [8]

Como alternativa, la transformación de Q constante se puede aproximar utilizando múltiples transformadas rápidas de Fourier de diferentes tamaños de ventana y/o frecuencia de muestreo en diferentes rangos de frecuencia y luego unirlas. Esto se llama transformada de Fourier de tiempo corto multirresolución , sin embargo, los tamaños de ventana para las transformadas rápidas de Fourier multirresolución son diferentes por octava, en lugar de por bin. [9] [ ambiguo ]

Comparación con la transformada de Fourier

En general, la transformada es adecuada para datos musicales, y esto se puede ver en algunas de sus ventajas en comparación con la transformada rápida de Fourier. Como la salida de la transformada es efectivamente amplitud/fase contra frecuencia logarítmica, se requieren menos intervalos de frecuencia para cubrir un rango dado de manera efectiva, y esto resulta útil cuando las frecuencias abarcan varias octavas. Como el rango de audición humana cubre aproximadamente diez octavas desde 20 Hz hasta alrededor de 20 kHz, esta reducción en los datos de salida es significativa.

La transformación muestra una reducción en la resolución de frecuencia con intervalos de frecuencia más altos, lo cual es deseable para aplicaciones auditivas. La transformación refleja el sistema auditivo humano, por lo que en frecuencias más bajas la resolución espectral es mejor, mientras que la resolución temporal mejora en frecuencias más altas. En la parte inferior de la escala de piano (alrededor de 30 Hz), una diferencia de 1 semitono es una diferencia de aproximadamente 1,5 Hz, mientras que en la parte superior de la escala musical (alrededor de 5 kHz), una diferencia de 1 semitono es una diferencia de aproximadamente 200 Hz. [10] Por lo tanto, para los datos musicales, la resolución de frecuencia exponencial de la transformación de Q constante es ideal.

Además, los armónicos de las notas musicales forman un patrón característico del timbre del instrumento en esta transformación. Suponiendo que las intensidades relativas de cada armónico sean las mismas, a medida que cambia la frecuencia fundamental, la posición relativa de estos armónicos permanece constante. Esto puede facilitar mucho la identificación de los instrumentos. La transformación de Q constante también se puede utilizar para el reconocimiento automático de claves musicales en función del contenido cromático acumulado. [11]

En comparación con la transformada de Fourier, la implementación de esta transformada es más complicada. Esto se debe a la cantidad variable de muestras utilizadas en el cálculo de cada intervalo de frecuencia, lo que también afecta la longitud de cualquier función de ventana implementada. [12]

Tenga en cuenta también que, debido a que la escala de frecuencia es logarítmica, no hay un término CC/frecuencia cero real, lo que puede ser un inconveniente en aplicaciones que estén interesadas en el término CC. Sin embargo, para aplicaciones que no estén interesadas en la CC, como el audio, esto no es un inconveniente.

Referencias

  1. ^ Judith C. Brown , Cálculo de una transformada espectral Q constante, J. Acoust. Soc. Am. , 89(1):425–434, 1991.
  2. ^ Transformada Wavelet Continua "Cuando la wavelet madre puede interpretarse como una sinusoide en ventana (como la wavelet de Morlet), la transformada Wavelet puede interpretarse como una transformada de Fourier de Q constante. Antes de la teoría de wavelets, las transformadas de Fourier de Q constante (como las obtenidas a partir de un banco de filtros de tercio de octava clásico) no eran fáciles de invertir, porque las señales base no eran ortogonales".
  3. ^ Cwitkowitz, Frank C.Jr (2019). "Transcripción musical de extremo a extremo mediante bancos de filtros de Q variable ajustados" (PDF) . Instituto Tecnológico de Rochester : 32–34 . Consultado el 21 de agosto de 2022 .
  4. ^ Judith C. Brown y Miller S. Puckette, Un algoritmo eficiente para el cálculo de una transformada Q constante, J. Acoust. Soc. Am. , 92(5):2698–2701, 1992.
  5. ^ FitzGerald, Derry; Cychowski, Marcin T.; Cranitch, Matt (1 de mayo de 2006). "Hacia una transformada Q constante inversa". Convención de la Audio Engineering Society . 120 . París: Audio Engineering Society.
  6. ^ Schörkhuber, Christian; Klapuri, Anssi (2010). Constant-Q Transform Toolbox for Music Processing. 7th Sound and Music Computing Conference. Barcelona . Consultado el 12 de diciembre de 2018 .papel
  7. ^ ab McFee, Brian; Battenberg, Eric; Lostanlen, Vicente; Thomé, Carl (12 de diciembre de 2018). "librosa: core/constantq.py en 8d26423". GitHub . librosa . Consultado el 12 de diciembre de 2018 .
  8. ^ Bradford, R, ffitch, J y Dobson, R 2008, Deslizamiento con un Q constante, en Actas de la 11.ª Conferencia internacional sobre efectos de audio digital (DAFx-08), del 1 al 4 de septiembre de 2008, Espoo, Finlandia . DAFx, Espoo, Finlandia, págs. 363-369, Actas de la Conferencia internacional sobre efectos de audio digital (DAFx-08), 1/09/08.
  9. ^ Kırbız, S.; Günsel, B. (diciembre de 2014). "Un enfoque de factorización tensorial no negativo de múltiples resoluciones para la separación de fuentes de sonido de un solo canal". Procesamiento de señales . 105 : 56–69. doi :10.1016/j.sigpro.2014.05.019. ISSN  0165-1684.
  10. ^ http://newt.phys.unsw.edu.au/jw/graphics/notes.GIF [ archivo de imagen URL simple ]
  11. ^ Hendrik Purwins, Benjamin Blankertz y Klaus Obermayer, Un nuevo método para rastrear modulaciones en música tonal en formato de datos de audio, Conferencia conjunta internacional sobre redes neuronales (IJCNN'00). , 6:270-275, 2000.
  12. ^ Benjamin Blankertz, La transformada Q constante, 1999.