Cómo hacer un tono Shepard, dar forma a la respuesta de amplitud de frecuencia en Reaktor

Aquí hay un video que demuestra la combinación de un LFO de tono y un LFO de amplitud en el conjunto de formas de Reaktor para crear un glissando "infinitamente ascendente" en Reaktor.

Me gustaría poder reproducir una escala o un pasaje melódico de los tonos de Shepard que haga esto y imagino que una forma de hacerlo es ejecutar la salida Osc a través de un filtro o ecualizador que atenuaría las frecuencias por encima y por debajo de un ancho de banda central. de acuerdo con una curva específica o especificada.

He intentado usar un Peak EQ, así como un par de módulos Shaper BP, pero estoy bastante perdido en el bosque.

Parche de sintetizador OSC genérico

¿Estoy en el camino correcto? Con frecuencia, cuando estoy tocando con las perillas de control en el EQ o el Shaper, el sintetizador hace un sonido de clic y necesita reiniciarse para generar un tono nuevamente.

Incluirá el panel aquí, lo que puede dar una idea de los rangos de valores proporcionados por los controles generados automáticamente:

panel frontal del sintetizador Reaktor

ACTUALIZAR:

Anoche me di cuenta de que mi enfoque inicial está completamente equivocado. La ecualización o el filtrado afectan a todo el espectro de frecuencias y, en gran medida, solo eliminarán los parciales superiores. Necesitamos insertar alguna lógica que afecte la entrada de Amplitud del Oscilador.

Me imagino que esto será algo matemático entre la entrada de tono y la constante (1) que se ve a continuación.

ACTUALIZAR 2

Mi idea ahora es desarrollar algún tipo de algoritmo mediante el cual todos los tonos por encima y por debajo del punto medio de una octava específica, el tritono, (por ejemplo, F#-66 para la octava C-60) se atenúan exponencialmente (o quizás logarítmicamente). Mi primer paso en esta línea de pensamiento es simplemente codificar un nivel de Amplitud diferente para todos los tonos por debajo de 66:

Base la amplitud en el número de nota

Entonces lo que quiero es que la nota ( 66por ejemplo) sea Amplitud 1, 65sea 0.9(tal vez), 64sea 0.8, etc... y lo mismo donde sea 67, y así sucesivamente. Pero me imagino que, en última instancia, me gustaría poder controlar esa curva de amplitud con uno o dos mandos, ya que las curvas deseadas pueden cambiar según el timbre del sonido.680.90.8

También me pregunto si tendría sentido generar automáticamente las octavas alta y baja y solo necesita tocar la octava media de la escala (o el equivalente melódico).

ACTUALIZAR 3

Es muy posible que esté malinterpretando cómo se supone que funcionan los "Tonos de Shepard". Todavía estoy trabajando en la implementación de una versión de la respuesta de @YourUncleBob.

Parece que "su" enfoque es enviar el sonido a través de un filtro que crea la ilusión basada en la equivalencia de octava que respalda la ilusión "infinitamente ascendente o descendente".

Lo que había estado pensando hacer, nuevamente, es crear una curva de atenuación de amplitud que atenúe el volumen de cada "nota" (entrada de teclado) más a medida que se aleja de un tono central.

Luego, siempre que la "melodía" se reproduzca en varias octavas en paralelo, la ilusión debería funcionar.

Estoy haciendo algunos progresos. Lo que he hecho hasta ahora es:

  • Reste la entrada de tono del tono central
  • Ejecute el Remanente a través de Rectifier(matemáticas) para que los valores negativos sean positivos.
  • Compara el Remanente Rectificado con 0 y si es 0, envía 1a la Amplitud, de lo contrario, haz una fracción ya que Amplitudeestá buscando un número de 0a 1. Entonces, los números más grandes se convierten en cantidades más pequeñas (es decir, 2=> 1/2, 3=> 1/3, etc.)
  • Estoy modificando un poco la curva multiplicando el divisor (tono menos el resto del tono central) por 2para que las fracciones sean más pequeñas, y también usando 0.8en lugar de 1para el tono central.

Otro intento de Reaktor Shapard Player

Estoy mostrando algunos de los números:

Tablero de instrumentos

Luego paso por este elaborado proceso de creación del contenido en el DAW:

Entrada DAW Más entrada DAW

Es un poco genial con mucho por resolver:

  1. Las notas "hacen clic" intermitentemente al principio
  2. Me gustaría poder tener una curva de atenuación logarítmica donde se atenúa más rápido cuanto más lejos está del tono central
  3. Los tonos más altos necesitan atenuarse más agresivamente que los bajos.
  4. ¿Tengo que hacerlo en realidad playo programtodas estas octavas paralelas? Parece que el instrumento debería poder generar el espectro completo de forma predeterminada.

Mientras tanto, el proceso está siendo agradable.

Si desea cambiar constantemente el filtrado, puede consultar los filtros de peine. Así es como suenan: youtu.be/w0NQwQuSMFk?t=193 y cómo construirlos en Reaktor: adsrsounds.com/reaktor-tutorials/… De lo contrario, tendrás que construir un banco de filtros con varios Peak EQ y tener su frecuencia y volumen modulado por LFO o envolventes como se describe en el video que vinculó.
Gracias. Acabo de actualizar el OP, pensando que en realidad es probablemente la Amplitud que ingresa al Osc la que debe atenuarse en función de la entrada de Pitch. Comprobaré totalmente los filtros Comb, pero ¿me equivoco en mi nuevo pensamiento?
¿Quiere tocar una melodía (o cualquier otro sonido o grabación) y luego pasarla por un filtro tipo Shepard, o quiere tocar una escala cada vez mayor? Estoy obteniendo resultados útiles con un banco de ecualizadores de pico tipo Shepard, pero no estoy seguro de lo que buscas.
@YourUncleBob Quiero tocar una "escala" cada vez mayor, espero que funcione con una melodía de intervalo pequeño.

Respuestas (2)

La forma más flexible de tener un parámetro cuyo valor sea diferente dependiendo de la nota que toque, es usar una tabla de eventos. De esa forma, puede establecer un valor específico para cada nota MIDI (por ejemplo, para el seguimiento de la tecla de filtro o volumen, o para crear afinaciones alternativas). Aquí hay un ejemplo simple:

Panel inferior de teclas (mesa)

Al crear una tabla unidimensional de 128 de longitud, que contiene valores de 0 a 1, puede configurar el volumen de cada tecla por separado. Si hace que la tabla sea visible en el panel (en el panel "ver") y la configura en modo de dibujo (clic con la tecla strl/clic con el botón derecho en la tabla en el panel), puede usar el mouse para dibujar valores.

Estructura del seguidor clave (tabla)

Al agregar un Combinador de voz de evento, puede obtener la última nota tocada para establecer la posición de escritura y también usar el control deslizante Valor para establecer su valor. Una vez que se han establecido todos los valores, puede volver a hacer que la tabla sea invisible. Sus valores se pueden guardar y cargar automáticamente con el instrumento.

Por supuesto, puede usar una tabla más pequeña y, por ejemplo, tener un valor por octava o interpolar entre valores adyacentes.


Si no necesita los detalles de la solución con tablas, puede cambiar la escala de la entrada de nota MIDI al rango 0 ~ 1 y luego enviarla a través de un Control Shaper y establecer los valores de salida para la entrada 0, 0.25, 0.5, 0.75 y 1 para crear la curva deseada.

Estructura del seguidor clave (moldeador)

También puede usar Control Shaper para una solución con un punto central y un ancho variables. La perilla del punto central establece el número de nota (0 ~ 127) para el cual el valor de salida será 1, y la perilla de ancho establece la distancia (1 ~ 127) desde la nota central hasta la nota donde el valor de salida será 0. El el valor de salida se interpolará linealmente entre el valor 1 y 0 para las notas dentro del rango, y será 0 para las notas fuera del rango.

Estructura Key Follower (moldeador con centro y ancho variables)

Puede cambiar la interpolación de los valores de salida de lineal a una curva con un pico más ancho o más estrecho alrededor del punto central, por ejemplo, usando el cuadrado de los valores o su inversa (esto funciona porque el rango es 0 ~ 1). Las tres opciones se envían a un módulo selector (en modo de interpolación lineal) para que una perilla con valores 0 ~ 2 pueda seleccionar la curva deseada.

Estructura Key Follower (modelador con curva variable)

El uso del método de tabla de eventos con el tamaño de paso establecido en 0.00001( 1E-05) permite una curva bastante agradable hacia el silencio. Algo que me confunde es que los valores de salida de la tabla de eventos están entre 0y aproximadamente 2.6. Esperaba valores entre 0y 1ya que eso es lo que se establece en el rango de valores.
@MikeiLL ¿Ya había ingresado valores en la tabla antes de establecer el rango en 0 ~ 1? Los valores existentes no se recortan ni escalan al cambiar el rango de valores. Los valores recién ingresados ​​siempre se recortan al rango. (Al menos están en la versión 4)
No estoy seguro de haberlo hecho, pero me di cuenta de que el rango superior de los valores de la tabla en realidad coincidía con el número de voces al unísono, que era 4. Si tengo Max Unison y Voice configurados en 10y el rango de valores de la tabla configurado en 0.1entonces obtengo un rango de 0a 1.
@MikeiLL Nunca había considerado el efecto del unísono en los módulos de mesa. Son una extraña mezcla de monofónicos (los datos en sí) y polifónicos (la lectura y la escritura). Si las voces al unísono realmente suman los valores de la tabla, eso es muy extraño; No puedo imaginar bajo qué circunstancias eso sería lógico. Si cuatro voces escriben un valor 1 en la tabla, esperaría que el valor siga siendo 1, no 4.

Si desea poder tocar una melodía mientras usa Shepard Tones, la forma más fácil es probablemente usar un sonido de sintetizador simple con muchos armónicos, como una onda de diente de sierra sin filtrar, y ejecutarlo a través de un banco de filtros de paso de banda con constante. frecuencias cambiantes.

Aquí hay un instrumento que usa un número variable de filtros de paso de banda sintonizados con una octava de diferencia. La polifonía del instrumento establece el número de filtros. La frecuencia de cada filtro se desplaza lentamente hacia arriba y su nivel de salida sigue una onda sinusoidal, de modo que los diferentes filtros aparecen y desaparecen gradualmente.

Filtro Shepard - estructura

El oscilador de rampa controla la frecuencia del filtro y una onda sinusoidal basada en su salida controla el volumen de la voz. Establezca el modo del oscilador en estándar, de modo que salte de su valor máximo a cero sin suavizado (lo que crearía fallas en la onda sinusoidal). En cada voz, se agrega un desplazamiento de fase a la salida del oscilador de rampa monofónica y, por lo tanto, también a la onda sinusoidal, de modo que los filtros se sintonizan con octavas separadas y sus volúmenes se desvanecen hacia adentro y hacia afuera a su vez.

Filtro Shepard - panel

Los controles del panel tienen estos rangos:

  • Perilla de velocidad: -127 a -0, en 127 pasos
  • Frecuencia: 0 a 127 en 127 pasos
  • Resonancia: 0,872 a 0,999 en 127 pasos de 0,001
  • Profundidad: 24 a 87,5 en 127 pasos de 0,5
  • Nivel: -24 a 39,5 en 127 pasos de 0,5
  • Lámpara de voces: 1 a 128 en 127 pasos, modo continuo, valor visible, imagen no visible
  • Lámpara de 11 kHz: 127 a 1000, modo continuo deshabilitado

La configuración en la imagen de arriba da una buena idea de lo que puede hacer. Es similar a un filtro de vocales o modulador de fase, pero con un movimiento ascendente continuo. La perilla de frecuencia establece la frecuencia más baja de los barridos de filtro, el número de filtros (es decir, la polifonía) decide qué tan alto van los barridos de filtro, agregando una octava por voz.

Descubrí que la frecuencia de los filtros de paso de banda y PeakEQ en Reaktor 4 está limitada a la nota número 127, que es de alrededor de 11 kHz. A medida que aumenta la polifonía o la perilla de frecuencia, la lámpara de 11 kHz le advierte si el rango superior de los barridos del filtro alcanza los 11 kHz. Puede usar configuraciones más altas, pero el sonido puede tener un impulso permanente alrededor de 11 kHz.

Pequeña estructura de sintetizador

Este es el sintetizador básico que uso como fuente de sonido. Es un instrumento separado y puede configurar la polifonía de forma independiente. Por supuesto, puede ejecutar la salida de cualquier instrumento Reaktor a través del filtro Shepard. Los acordes bajos tocados con sonidos brillantes de sintetizador funcionarán mejor.

Así que ese es un inpuerto que entra Peak EQy un outpuerto que sale Mixer, ¿verdad? ¿ Debería Shepard Filterser monofónico? En Reaktor 5, el oscilador sinusoidal también tiene una pentrada para el "control logarítmico del tono". Actualmente lo tengo configurado en una constante de 60. ¿Es el -1módulo un inverter( -xen R5)? ¿Qué información se Voices lampmuestra, cuántas voces se están generando actualmente?
Sí, es un instrumento en sí mismo, con entrada y salida de audio. El instrumento es polifónico (pero algunos módulos marcados en naranja, como el mezclador, son monofónicos); el número de voces establece el número de filtros (mostrado por la lámpara). Eso no es un oscilador sinusoidal, sino una función matemática sinusoidal. -1 es de hecho un inversor.
Todavía me pregunto qué Voicesse supone que debe mostrar la lámpara. El mio es solo lectura 127. ¿Estoy entendiendo correctamente que requerirá un segundo instrumento para enviar una señal de audio al input? ¿Necesitaré tres o más octavas si quiero crear una "Escala Shepard"?
La lámpara debe mostrar la polifonía del filtro Shepard, es decir, el número de filtros sintonizados en octavas separadas. Estoy trabajando en una versión mejorada, con solo un oscilador de rampa y algunas correcciones de errores. Sí, requiere entrada de audio; cualquier sonido de sintetizador brillante servirá.
el Voices Infomódulo, el que encontré en R5 tiene minentrada max. Los tengo configurados en 1y 12. Pero la lámpara, que yo sepa, no funciona. Tengo it's miny maxvalores establecidos en 1y 128, pero no veo un campo para steps.
Según tengo entendido, las entradas de información de voz no controlan la polifonía, sino la cantidad de voces por tecla cuando se usa la función de unísono; probablemente no debería adjuntar nada a las entradas. ¿Ha puesto la lámpara en modo continuo?
Sí, está en modo continuo. Quité las entradas. Todavía atascado 128. No estoy muy seguro de qué haría uno en el teclado para crear una Escala Shepard. También actualicé el OP nuevamente con otro paso hacia un enfoque más primitivo basado en el tono.
¿Y la polifonía del instrumento está configurada en algo diferente a 128? Por cierto, creo que estamos construyendo dos cosas completamente diferentes, pero me gusta el filtro, así que continúo :-)
Se había configurado para gustar, 10. Ahora configuré el Voicesparámetro 128para el Shepard Filter, el Basic Synthy también para el Ensemble. Luego, el Shepard Filter's Voicesse establece en el uno 128de las Voices Lamplecturas, y menos que eso va a 128. ¿Qué quiere decir con "número de filtros sintonizados en octavas separadas"? ¿Dónde cambiaría ese número? Pensaría que si presionaba 3las teclas, el número se mostraría 3para 3las voces. También me gusta lo que estás construyendo y creo que también responde a la pregunta original.
El instrumento de filtro no escucha ninguna tecla. Configura la polifonía en la cantidad de bandas de frecuencia de filtros que desea, y luego siempre están activadas. La lámpara es solo un recordatorio de a qué polifonía está configurado el instrumento. Los ajustes del 1 al 12 le darán diferentes tipos de efectos. Más de 12 voces no tiene mucho sentido, porque los barridos del filtro llegarían a frecuencias inaudiblemente altas. (Por cierto, actualicé mi respuesta)