La distorsión está en todas partes en la música, especialmente cuando hay guitarras eléctricas involucradas. Es el sonido crujiente y borroso que hace que la música rock suene rocosa. Surgió por accidente cuando se alimentó demasiada señal a los componentes analógicos y la gente se dio cuenta de que producía un sonido interesante.
Una de las razones por las que suena tan genial es que conserva la frecuencia de la nota que se está tocando, mientras agrega otras frecuencias en la parte superior. Con componentes analógicos, esto (más o menos) funciona recortando la señal utilizada para generar el sonido. El resultado final depende de los circuitos y componentes utilizados, por lo que hay mucha variedad. La distorsión adecuada puede añadir carácter a cualquier sonido.
En el mundo digital, la distorsión se crea comúnmente utilizando una técnica llamada modelado de ondas, que es un concepto genial que pensé que merecía una publicación en el blog. Puede usar el modelado de ondas para crear una distorsión de recorte simple, pero también puede hacer algunas cosas más.
Todo lo que se encuentra debajo de este párrafo necesita tener javascript habilitado para poder ejecutarse, el código fuente está aquí si no confías en mí. Estoy usando algunas demos de sonido basadas en ondas sinusoidales puras que suenan completamente horribles, pero los gráficos son mucho más bonitos. Me he asegurado de que las cosas no estén demasiado ruidosas, pero asegúrate de que tu volumen no esté muy alto. Los sonidos mejoran al final.
Sé que algunos de ustedes verán esto en un teléfono. Buena suerte, técnicamente debería funcionar.
Control de volumen maestro
Use esto para cambiar el volumen de cada sonido en esta página. Haga clic en cada gráfico para reproducir su sonido y haga clic de nuevo para detenerse.
Onda sinusoidal pura
Esta es una onda sinusoidal básica que se reproduce a 440 Hz (una nota La) con recorte, puede desvanecerse entre las ondas recortadas y no recortadas y ajustar el nivel de recorte utilizando los controles deslizantes a continuación.
Fundido cruzado entre onda sinusoidal pura y recortada:
Cambiar la cantidad de recorte:
Cuando el valor de recorte está fuera del valor habitual de la onda, la onda sinusoidal recortada suena exactamente igual que la onda sinusoidal pura. Te dije que suenan horribles
Sonidos más agradables
Los grupos de ondas sinusoidales suenan un poco menos mal que las ondas individuales, los matemáticos por ahí sabrán que puedes formar cualquier sonido con una combinación de ondas sinusoidales, pero no voy tan lejos.
Aplicaré el mismo recorte a un grupo de siete ondas sinusoidales que tienen frecuencias cercanas, pero no exactamente las mismas. Esto hace que interfieran entre sí de una manera que causa un efecto de latido (todavía no suena muy bien).
Una peculiaridad del recorte es que los sonidos más silenciosos no llegan al umbral, por lo que solo se cambian los sonidos más fuertes. Así es como obtienes efectos de «overdrive» en sonidos fuertes.
Otro efecto secundario del recorte es que limita el volumen, por lo que la distorsión a menudo se combina con un aumento de la amplitud.
La forma de onda aquí (y arriba) se dibuja aproximadamente 100 veces más lenta que el sonido que puede escuchar:
Este deslizador cambia la cantidad de distorsión, más a la derecha hay más recorte junto con un mayor impulso:
Modelado de ondas
Debajo del capó estoy usando una técnica llamada modelado de ondas para crear las señales recortadas. A menudo se usa para emular sonidos de distorsión más clásicos que son un poco más involucrados que el recorte. Y puede hacer mucho más.
Funciona mediante una función de transferencia, que asigna cada valor de entrada (entre -1 y 1) a un valor de salida también entre -1 y 1.
Aquí hay algunos ejemplos de funciones de transferencia, los ejes en el gráfico van de -1 a 1. La posición del cursor mostrará valores de ejemplo de la función:
Entrada: 0
Salida: 0
A continuación se muestra el resultado de aplicar la función de transferencia a una onda sinusoidal. Haga clic en el gráfico para reproducir el sonido, puede cambiar la función haciendo clic en los botones mientras se reproduce para escuchar la diferencia.
Algo de información sobre las diferentes funciones (mira la fuente de esta página y busca «Hello!»para ver las funciones en sí):
- Recortado: exactamente lo mismo que en el primer ejemplo, con un valor de clip de 0.5
- Clip/Boost: clips a 0.5 y duplica la amplitud para mantener el volumen igual
- Exponencial – redondea los bordes un poco, emula un sistema analógico saturado
- Cuadrático – duplica la frecuencia
- Ruidoso – agrega algo de ruido aleatorio en la parte superior
- Muy Ruidoso – reemplaza la señal con ruido aleatorio, pero aún puedes escuchar el tono original (creo que esto se debe al aliasing)
- Lineal: deja la entrada sin cambios, reproduciendo el sonido original
- Plegado de ondas y Envoltura de ondas: emulan circuitos analógicos que utilizan comparadores
Estos Suenan Mucho Mejor con Sonidos reales
¿Por qué perdí tanto tiempo en las ondas sinusoidales?
Aquí hay algunas grabaciones de audio que se ejecutarán a través de la función de transferencia, he copiado los diferentes botones de distorsión a continuación para que pueda jugar con el sonido mientras se reproduce (recuerde, lineal reproducirá el sonido sin cambios). ¡Diviértete!
Guitarra con Reverberación
Es posible que estos no funcionen en algunos navegadores, intente tocar una de las ondas sinusoidales anteriores primero, luego envíeme un correo electrónico
Algunas peculiaridades finales
La cuadrática suena tan extraña. Es porque es una función par, mientras que la mayoría de las otras son odd extrañas. Estos son efectos secundarios de la simetría de la función, cambian los armónicos producidos por la distorsión.
La diferencia entre clip / boost y exponencial es sutil, este es el tipo de diferencias que se vuelven muy importantes para los equipos de audio de gama alta. La gente gastará mucho tiempo y dinero buscando el sonido correcto exacto.
El final
Espero que lo hayas encontrado genial, sé que es un tema aleatorio. Estoy construyendo un sintetizador en javascript en este momento, de ahí el tema raro. Manténgase al tanto o póngase en contacto si está interesado.