Leí el libro DAFX de Udo Zölzer sobre el efecto de distorsión en las páginas 124-125 y dice que la función proporciona una simulación adecuada de la distorsión:
¿Alguien puede explicar esta fórmula y qué tipo de señal recibimos?
Por lo que entiendo, 'x' es la señal muestreada, por lo que se trata de una secuencia de números. ¿Qué significa | x | ¿media? ¿Se refiere al valor absoluto de x para cada valor muestreado?
Entonces, si quiero implementar esta simulación del efecto de distorsión,
- Necesito saber la longitud de x (está dada por el número de muestras)
- En un bucle, necesito calcular esta fórmula para cada valor de muestra
- después de que finaliza el ciclo, obtengo la señal distorsionada (en forma digital)
Después de eso, necesito convertirlo a una señal analógica para poder escucharlo.
audio
algorithms
c
digital
distortion
Elior
fuente
fuente
Respuestas:
| x | denota el valor absoluto: la x / | x | parte de la fórmula está ahí para asegurarse de que el signo de la entrada se conserva en la salida. Con respecto a la implementación, sí, los pasos que ha enumerado son correctos.
fuente
Gracias a la trama en la respuesta de Olli Niemitalo, me convencí de que la fórmula dada en el libro tiene un error de signo. La no linealidad utilizada para fuzz o distorsión es siempre algún tipo de función de recorte suavizado, que comprime la señal de entrada. Por lo tanto, las amplitudes de entrada pequeñas experimentan pocos cambios, mientras que las amplitudes de entrada altas se recortan (más o menos) suavemente. Y la figura que se muestra en la respuesta de Olli hace exactamente lo contrario.
Así que estoy convencido de que la fórmula correcta debería ser
Para valores pequeños de tenemos f ( x ) ≈ sgn ( x ) | x | = x , y para valores grandes (magnitud) obtenemos f ( x ) ≈ sgn ( x ) , es decir, recorte.X F( x ) ≈ sgn ( x ) | x | = x F( x ) ≈ sgn ( x )
fuente
Puede escribir el cuerpo de la función directamente en Wolfram Alpha y lo traza:
A mí me parece una forma de onda , y esas se pueden usar como usted describe.
fuente