Articulo de referencia

Transformación de Q constante

En matemáticas y procesamiento de señales , la transformada de Q constante y la transformada de Q variable , conocidas simplemente como CQT y VQT , transforman una serie de dato...

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

Transformación Q constante aplicada a la forma de onda de un acorde de piano en Do mayor . El eje x representa la frecuencia , mapeada a tonos musicales estándar , de grave (izquierda) a agudo (derecha). El eje y representa el tiempo, comenzando desde que se presiona el acorde de piano en la parte inferior hasta que se suelta en la parte superior, 8 segundos después. Los píxeles más oscuros corresponden a valores más altos de la transformación Q constante. Los picos se corresponden estrechamente con las frecuencias precisas de las cuerdas vibrantes del piano. Por lo tanto, los picos se pueden usar 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 armónicos , que corresponden a los picos más pequeños restantes a la derecha de los tonos fundamentales. Los armónicos tienen una intensidad menor que el tono fundamental.
Audio del acorde de piano de Do mayor utilizado para generar la transformación Q constante anterior.
Su forma de onda no comunica visualmente información de tono como lo hace la transformada de Q constante.

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

δFk=21/norteδFk1=(21/norte)kδFmin,{\displaystyle \delta f_{k}=2^{1/n}\cdot \delta f_{k-1}=\left(2^{1/n}\right)^{k}\cdot \delta f_{\text{min}},}

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 corto tiempo de x [ n ] para un fotograma desplazado a la muestra m se calcula de la siguiente manera:

incógnita[k,metro]=norte=0norte1W[nortemetro]incógnita[norte]mij2πknorte/norte.{\displaystyle X[k,m]=\sum _{n=0}^{N-1}W[nm]x[n]e^{-j2\pi kn/N}.}

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

  • Ancho del filtro, δf k .
  • Q , el "factor de calidad":
Q=FkδFk.{\displaystyle Q={\frac {f_{k}}{\delta f_{k}}}.}
Esto se muestra a continuación como el número entero de ciclos procesados ​​a una frecuencia central f k . De este modo, esto define en cierta medida la complejidad temporal de la transformación.
  • Longitud de la ventana para el k -ésimo intervalo:
norte[k]=FsδFk=FsFkQ.{\displaystyle N[k]={\frac {f_{\text{s}}}{\delta f_{k}}}={\frac {f_{\text{s}}}{f_{k}}}Q.}
Dado que f s / f k es el número de muestras procesadas por ciclo a la frecuencia f k , Q es el número de ciclos enteros procesados ​​a esta frecuencia central.

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

  • La longitud de la ventana de cada intervalo ahora es una función del número de intervalo:
norte=norte[k]=QFsFk.{\displaystyle N=N[k]=Q{\frac {f_{\text{s}}}{f_{k}}}.}
  • La potencia relativa de cada bin disminuirá a frecuencias más altas, ya que estas se suman sobre menos términos. Para compensar esto, normalizamos por N [ k ].
  • Cualquier función de ventana será una función de la longitud de la ventana, y de igual manera una función del número de ventanas. Por ejemplo, la ventana de Hamming equivalente sería:
W[k,norte]=α(1α)porque2πnortenorte[k]1,α=25/46,0nortenorte[k]1.{\displaystyle W[k,n]=\alpha -(1-\alpha )\cos {\frac {2\pi n}{N[k]-1}},\quad \alpha =25/46,\quad 0\leqslant n\leqslant N[k]-1.}
  • Nuestra frecuencia digital,2πknorte{\displaystyle {\frac {2\pi k}{N}}}, se convierte en2πQnorte[k]{\displaystyle {\frac {2\pi Q}{N[k]}}}.

Después de estas modificaciones, nos quedamos con

incógnita[k]=1norte[k]norte=0norte[k]1W[k,norte]incógnita[norte]mij2πQnortenorte[k].{\displaystyle X[k]={\frac {1}{N[k]}}\sum _{n=0}^{N[k]-1}W[k,n]x[n]e^{\frac {-j2\pi Qn}{N[k]}}.}

Cálculo del ancho de banda de Q variable

La transformación de Q variable es igual que la transformación de Q constante, pero la única diferencia es que el factor Q del filtro es variable, de ahí su nombre. La transformación de Q variable es útil cuando la resolución temporal en bajas frecuencias es importante . Existen maneras 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 de la VQT. [ 3 ]

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

δFk=(2Fk+γ)Q.{\displaystyle \delta f_{k}=\left({\frac {2}{f_{k}+\gamma }}\right)Q.}

Esta fórmula se puede modificar para tener parámetros adicionales que permitan ajustar la nitidez de la transición entre Q constante y ancho de banda constante, como se muestra a continuación:

δFk=(2Fkα+γαα)Q.{\displaystyle \delta f_{k}=\left({\frac {2}{\sqrt[{\alpha }]{f_{k}^{\alpha }+\gamma ^{\alpha }}}}\right)Q.}

con α como parámetro para la nitidez de la transición y donde α de 2 es igual a la escala de frecuencia del seno hiperbólico , 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 discreta de Fourier simple o el algoritmo de Goertzel, ligeramente más rápido ) es lento en comparación con la transformada rápida de Fourier . Sin embargo, la propia transformada rápida de Fourier puede emplearse, 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; funciona recurriendo a la transformada discreta de Fourier y solo es adecuada para instrumentos de tono. [ 5 ]

Un desarrollo de este método con invertibilidad mejorada implica realizar CQT (mediante la transformada rápida de Fourier) octava por octava, utilizando resultados filtrados de paso bajo y submuestreados para tonos consecutivamente 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 de submuestreo con el método directo de transformada rápida de Fourier (que denomina "pseudo-CQT") haciendo que este último procese las frecuencias más altas en su conjunto. [ 7 ]

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

Alternativamente, la transformada de Q constante puede aproximarse utilizando múltiples transformadas rápidas de Fourier con diferentes tamaños de ventana y/o frecuencias de muestreo en diferentes rangos de frecuencia, para luego combinarlas. Esto se denomina transformada de Fourier de tiempo corto multirresolución ; sin embargo, los tamaños de ventana para las transformadas rápidas de Fourier multirresolución varían por octava, en lugar de por bin. [ 9 ]

Comparación con la transformada de Fourier

En general, la transformada se adapta bien a los datos musicales, lo que se evidencia en algunas de sus ventajas con respecto a la transformada rápida de Fourier. Dado que la salida de la transformada es, en esencia, amplitud/fase frente al logaritmo de la frecuencia, se requieren menos intervalos de frecuencia para cubrir un rango determinado de forma eficaz, lo que resulta útil cuando las frecuencias abarcan varias octavas. Como el rango de audición humana abarca aproximadamente diez octavas, desde los 20  Hz hasta los 20  kHz, esta reducción en los datos de salida es significativa.

La transformada 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 transformada imita el sistema auditivo humano, donde a bajas frecuencias la resolución espectral es mejor, mientras que la resolución temporal mejora a frecuencias más altas. En la parte inferior de la escala del piano (alrededor de 30  Hz), una diferencia de 1 semitono equivale a 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 equivale a una diferencia de aproximadamente 200  Hz. Por lo tanto, para datos musicales, la resolución de frecuencia exponencial de la transformada de factor Q constante es ideal.

Además, en esta transformada, los armónicos de las notas musicales forman un patrón característico del timbre del instrumento. Suponiendo que cada armónico tenga la misma intensidad relativa, a medida que cambia la frecuencia fundamental, la posición relativa de estos armónicos permanece constante. Esto puede facilitar considerablemente la identificación de instrumentos. La transformada Q constante también puede utilizarse para el reconocimiento automático de tonalidades musicales a partir del contenido cromático acumulado. [ 10 ]

En comparación con la transformada de Fourier, la implementación de esta transformada es más compleja. Esto se debe al número variable de muestras utilizadas en el cálculo de cada banda de frecuencia, lo que también afecta la longitud de cualquier función de ventana implementada. [ 11 ]

Cabe destacar que, debido a que la escala de frecuencia es logarítmica, no existe un término de frecuencia cero/CC real, lo que puede ser una desventaja en aplicaciones que sí lo requieren. Sin embargo, para aplicaciones que no lo necesitan, como el audio, esto no representa un inconveniente.

Referencias

  1. Judith C. Brown , Cálculo de una transformación 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 con 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 las wavelets, las transformadas de Fourier de Q constante (como las obtenidas a partir de un banco de filtros clásico de tercio de octava) 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 finamente ajustados" (PDF) . Instituto Tecnológico de Rochester : 32–34 . Recuperado 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 transformación 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 . Recuperado el 12 de diciembre de 2018 .Artículo archivado el 1 de diciembre de 2020 en Wayback Machine .
  7. ^ 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, Sliding with a constant-Q , en 11th International Conference on Digital Audio Effects (DAFx-08) Proceedings September 1-4th, 2008 Espoo, Finland . DAFx, Espoo, Finland, pp. 363-369, Proc. of the Int. Conf. on Digital Audio Effects (DAFx-08), 1/09/08.
  9. Kırbız, S.; Günsel, B. (diciembre de 2014). "Un enfoque de factorización tensorial no negativa multirresolución para la separación de fuentes sonoras de un solo canal" . Procesamiento de señales . 105 : 56–69 . Bibcode : 2014SigPr.105...56K . doi : 10.1016/j.sigpro.2014.05.019 . ISSN 0165-1684 . 
  10. 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 Internacional Conjunta sobre Redes Neuronales (IJCNN'00) , 6:270-275, 2000.
  11. Benjamin Blankertz, La transformada Q constante , 1999.