Estiramiento temporal y escala de tono del audio

Cambiar la velocidad o duración de una señal de audio sin afectar su tono

El estiramiento de tiempo es el proceso de cambiar la velocidad o duración de una señal de audio sin afectar su tono . El escalado de tono es lo opuesto: el proceso de cambiar el tono sin afectar la velocidad. El cambio de tono es el escalado de tono implementado en una unidad de efectos y pensado para presentaciones en vivo. El control de tono es un proceso más simple que afecta el tono y la velocidad simultáneamente al ralentizar o acelerar una grabación.

Estos procesos se utilizan a menudo para hacer coincidir los tonos y los tempos de dos clips pregrabados para mezclarlos cuando no se pueden reproducir ni muestrear nuevamente. La extensión de tiempo se utiliza a menudo para ajustar los anuncios de radio [1] y el audio de los anuncios de televisión [2] para que encajen exactamente en los 30 o 60 segundos disponibles. Se puede utilizar para adaptar material más extenso a un intervalo de tiempo designado, como una transmisión de 1 hora.

Remuestreo

La forma más sencilla de cambiar la duración o el tono de una grabación de audio es cambiar la velocidad de reproducción. Para una grabación de audio digital , esto se puede lograr a través de la conversión de frecuencia de muestreo . Al utilizar este método, las frecuencias en la grabación siempre se escalan en la misma proporción que la velocidad, transponiendo su tono percibido hacia arriba o hacia abajo en el proceso. Ralentizar la grabación para aumentar la duración también baja el tono, mientras que acelerarla para una duración más corta respectivamente sube el tono, creando el llamado efecto Chipmunk . Al remuestrear audio a un tono notablemente más bajo, puede ser preferible que el audio de origen sea de una frecuencia de muestreo más alta, ya que reducir la velocidad de reproducción reproducirá una señal de audio de una resolución más baja y, por lo tanto, reducirá la claridad percibida del sonido. Por el contrario, al remuestrear audio a un tono notablemente más alto, puede ser preferible incorporar un filtro de interpolación, ya que las frecuencias que superan la frecuencia de Nyquist (determinada por la frecuencia de muestreo del software o dispositivo de reproducción de audio) crearán distorsiones de sonido generalmente no deseadas, un fenómeno que también se conoce como aliasing.

Dominio de frecuencia

Codificador de voz de fase

Una forma de estirar la longitud de una señal sin afectar el tono es construir un vocoder de fase siguiendo el ejemplo de Flanagan, Golden y Portnoff.

Pasos básicos:

  1. calcular la relación frecuencia/amplitud instantánea de la señal utilizando la STFT , que es la transformada de Fourier discreta de un bloque de muestras corto, superpuesto y con ventanas suaves;
  2. aplicar algún procesamiento a las magnitudes y fases de la transformada de Fourier (como remuestrear los bloques FFT); y
  3. Realizar una STFT inversa tomando la transformada de Fourier inversa en cada fragmento y sumando los fragmentos de forma de onda resultantes, también llamado superposición y adición (OLA). [3]

El vocoder de fase maneja bien los componentes sinusoidales , pero las primeras implementaciones introdujeron un efecto de distorsión considerable en las formas de onda transitorias ("beat") en todas las tasas de compresión/expansión no enteras, lo que hace que los resultados sean desfasados ​​y difusos. Las mejoras recientes permiten obtener resultados de mejor calidad en todas las tasas de compresión/expansión, pero aún persiste un efecto de distorsión residual.

La técnica del vocoder de fase también se puede utilizar para realizar cambios de tono, coros, manipulación del timbre, armonización y otras modificaciones inusuales, todas las cuales se pueden cambiar en función del tiempo.

Sistema de análisis/síntesis sinusoidal (basado en McAulay & Quatieri 1988, p. 161) [4]

Modelado espectral sinusoidal

Otro método para el estiramiento temporal se basa en un modelo espectral de la señal. En este método, los picos se identifican en los cuadros utilizando la STFT de la señal y se crean "pistas" sinusoidales conectando los picos en cuadros adyacentes. Las pistas se vuelven a sintetizar a una nueva escala de tiempo. Este método puede producir buenos resultados tanto en material polifónico como de percusión, especialmente cuando la señal se divide en subbandas. Sin embargo, este método exige más recursos computacionales que otros métodos. [ cita requerida ]

Modelado de un sonido monofónico como observación a lo largo de una hélice de una función con dominio cilíndrico

Dominio del tiempo

SOLA

En 1978, Rabiner y Schafer propusieron una solución alternativa que funciona en el dominio del tiempo : intentar encontrar el período (o equivalentemente la frecuencia fundamental ) de una sección dada de la onda utilizando algún algoritmo de detección de tono (comúnmente el pico de la autocorrelación de la señal , o a veces el procesamiento cepstral ) y realizar una transición cruzada de un período a otro.

Esto se llama escalamiento armónico en el dominio del tiempo [5] o método de superposición-adición sincronizada (SOLA) y funciona algo más rápido que el vocoder de fase en máquinas más lentas, pero falla cuando la autocorrelación estima mal el período de una señal con armónicos complicados (como piezas orquestales ).

Adobe Audition (anteriormente Cool Edit Pro) parece resolver esto buscando el período más cercano a un período central que el usuario especifica, que debe ser un múltiplo entero del tempo y entre 30 Hz y la frecuencia de graves más baja.

Este procesamiento tiene un alcance mucho más limitado que el basado en vocoder de fase, pero puede lograrse con un uso mucho menos intensivo del procesador para aplicaciones en tiempo real. Proporciona los resultados más coherentes [ cita requerida ] para sonidos de un solo tono, como grabaciones de voz o de instrumentos musicalmente monofónicos.

Los paquetes de procesamiento de audio comercial de alta gama combinan las dos técnicas (por ejemplo, separando la señal en formas de onda sinusoidal y transitoria) o utilizan otras técnicas basadas en la transformada wavelet o procesamiento de red neuronal artificial [ cita requerida ] , produciendo el estiramiento de tiempo de la más alta calidad.

Enfoque basado en marcos

Enfoque basado en marcos de muchos procedimientos TSM

Para preservar el tono de una señal de audio al estirar o comprimir su duración, muchos procedimientos de modificación de escala de tiempo (TSM) siguen un enfoque basado en cuadros. [6] Dada una señal de audio original de tiempo discreto, el primer paso de esta estrategia es dividir la señal en cuadros de análisis cortos de longitud fija. Los cuadros de análisis están espaciados por un número fijo de muestras, llamado tamaño de salto de análisis . Para lograr la modificación de escala de tiempo real, los cuadros de análisis se reubican temporalmente para tener un tamaño de salto de síntesis . Esta reubicación de cuadros da como resultado una modificación de la duración de la señal por un factor de estiramiento de . Sin embargo, simplemente superponer los cuadros de análisis sin modificar generalmente da como resultado artefactos no deseados, como discontinuidades de fase o fluctuaciones de amplitud. Para evitar este tipo de artefactos, los cuadros de análisis se adaptan para formar cuadros de síntesis , antes de la reconstrucción de la señal de salida modificada en escala de tiempo. yo a norte {\displaystyle H_{a}\in \mathbb {N} } yo s norte {\displaystyle H_{s}\in \mathbb {N} } alfa = yo s / yo a {\displaystyle \alpha = H_{s}/H_{a}}

La estrategia de cómo derivar los marcos de síntesis a partir de los marcos de análisis es una diferencia clave entre los diferentes procedimientos TSM.

Audición rápida y habla rápida

Para el caso específico del habla, el estiramiento temporal se puede realizar utilizando PSOLA .

El habla comprimida en el tiempo es la representación de un texto verbal en un tiempo comprimido. Si bien se podría esperar que la aceleración reduzca la comprensión, Herb Friedman dice que "los experimentos han demostrado que el cerebro funciona de manera más eficiente si la velocidad de la información que llega a través de los oídos (a través del habla) es la velocidad de lectura 'promedio', que es de aproximadamente 200 a 300 ppm (palabras por minuto), aunque la velocidad promedio del habla está en el orden de las 100 a 150 ppm". [7]

A finales de los años 2000, hubo una moda pasajera de escuchar podcasts de "discurso comprimido en el tiempo". Esto se consideraba el equivalente a la lectura rápida . [ ¿Quién lo hizo? ] [8] [9]

Escala de tono

Estas técnicas también se pueden utilizar para transponer una muestra de audio manteniendo constante la velocidad o la duración. Esto se puede lograr estirando el tiempo y luego volviendo a muestrear hasta la duración original. Alternativamente, la frecuencia de las sinusoides en un modelo sinusoidal se puede alterar directamente y reconstruir la señal en la escala de tiempo adecuada.

La transposición puede denominarse escala de frecuencia o cambio de tono , según la perspectiva.

Por ejemplo, se podría subir el tono de cada nota una quinta perfecta, manteniendo el tempo igual. Se puede considerar esta transposición como un "cambio de tono", "subir" cada nota 7 teclas en un teclado de piano, o añadir una cantidad fija en la escala Mel , o añadir una cantidad fija en el espacio de tono lineal . Se puede considerar la misma transposición como un "escalado de frecuencia", "escalar" (multiplicar) la frecuencia de cada nota por 3/2.

La transposición musical conserva las proporciones de las frecuencias armónicas que determinan el timbre del sonido , a diferencia del cambio de frecuencia realizado por la modulación de amplitud , que agrega un desplazamiento de frecuencia fijo a la frecuencia de cada nota. (En teoría, se podría realizar un escalado de tono literal en el que se escala la ubicación del espacio de tono musical [una nota más alta se desplazaría a un intervalo mayor en el espacio de tono lineal que una nota más baja], pero eso es muy inusual y no musical. [ cita requerida ] )

El procesamiento del dominio temporal funciona mucho mejor aquí, ya que las manchas son menos notorias, pero el escalado de muestras vocales distorsiona los formantes hasta lograr un efecto similar al de Alvin y las Ardillas , que puede ser deseable o indeseable. Un proceso que preserva los formantes y el carácter de una voz implica analizar la señal con un vocoder de canal o un vocoder LPC más cualquiera de los diversos algoritmos de detección de tono y luego resintetizarla a una frecuencia fundamental diferente.

Se puede encontrar una descripción detallada de técnicas de grabación analógica más antiguas para el cambio de tono en Alvin y las Ardillas § Técnica de grabación .

En software de consumo

La corrección de tono del audio con estiramiento temporal se encuentra en todos los navegadores web modernos como parte del estándar HTML para reproducción de medios. [10] Controles similares son omnipresentes en aplicaciones y marcos de medios como GStreamer y Unity .

Véase también

Referencias

  1. ^ "Dolby, Las Ardillas y NAB2004". Archivado desde el original el 27 de mayo de 2008. {{cite magazine}}: Requiere citar revista |magazine=( ayuda )
  2. ^ "Discurso variable". www.atarimagazines.com .
  3. ^ Jont B. Allen (junio de 1977). "Análisis espectral de corto plazo, síntesis y modificación mediante transformada de Fourier discreta". IEEE Transactions on Acoustics, Speech, and Signal Processing . ASSP-25 (3): 235–238.
  4. ^ McAulay, RJ; Quatieri, TF (1988), "Procesamiento del habla basado en un modelo sinusoidal" (PDF) , The Lincoln Laboratory Journal , 1 (2): 153–167, archivado desde el original (PDF) el 2012-05-21 , consultado el 2014-09-07
  5. ^ David Malah (abril de 1979). "Algoritmos de dominio temporal para la reducción del ancho de banda armónico y el escalamiento temporal de señales de voz". IEEE Transactions on Acoustics, Speech, and Signal Processing . ASSP-27 (2): 121–133.
  6. ^ Jonathan Driedger y Meinard Müller (2016). "Una revisión de la modificación de la escala temporal de señales musicales". Applied Sciences . 6 (2): 57. doi : 10.3390/app6020057 .
  7. ^ Variable Speech, Creative Computing Vol. 9, No. 7 / julio de 1983 / pág. 122
  8. ^ "Escucha podcasts en la mitad de tiempo". Archivado desde el original el 29 de agosto de 2011. Consultado el 24 de julio de 2008 .
  9. ^ "Los iPods aceleran". Archivado desde el original el 2 de septiembre de 2006.
  10. ^ "HTMLMediaElement.playbackRate - Web APIs". MDN . Consultado el 1 de septiembre de 2021 .
  • Descripción general de la modificación del tono y el estiramiento del tiempo Una descripción general completa de las técnicas actuales de modificación del tono y el estiramiento del tiempo por Stephan Bernsee
  • Código fuente C de smbPitchShift de Stephan Bernsee Código fuente C para realizar manipulación de tono en el dominio de frecuencia
  • pitchshift.js de KievII Un pitchshifter de Javascript basado en el código smbPitchShift, de la biblioteca de código abierto KievII
  • El vocoder de fase: un tutorial: una buena descripción del vocoder de fase
  • Nuevas técnicas de Phase Vocoder para cambios de tono, armonización y otros efectos exóticos
  • Un nuevo enfoque para el procesamiento transitorio en el Phase Vocoder
  • PICOLA y TDHS
  • Cómo construir un pitch shifter Teoría, ecuaciones, figuras y rendimiento de un pitch shifter de guitarra en tiempo real funcionando en un chip DSP
  • Biblioteca de estiramiento de tiempo ZTX Versiones gratuitas y comerciales de una popular biblioteca de estiramiento de tiempo de terceros para iOS, Linux, Windows y Mac OS X
  • Biblioteca comercial multiplataforma Elastique de zplane, utilizada principalmente por fabricantes de DJ y DAW
  • Sintetizador de voz de Qneo: sintetizador especializado para modelar voces de forma creativa
  • Caja de herramientas TSM Implementaciones MATLAB gratuitas de varios procedimientos de modificación de escala de tiempo
  • PaulStretch en Wayback Machine (archivado el 2 de febrero de 2023), un algoritmo conocido para el estiramiento extremo del tiempo (>10×)
  • Bibliotecas comerciales y de código abierto de Bungee para estiramiento de audio en tiempo real
  • Rubber Band: biblioteca de código abierto para estiramiento de tiempo y cambio de tono
  • SoundTouch: biblioteca de código abierto para cambiar el tempo, el tono y la velocidad de reproducción
Obtenido de "https://es.wikipedia.org/w/index.php?title=Estiramiento_de_tiempo_y_escalamiento_de_tono_del_audio&oldid=1251378206"