Domanda:
Come creare un tono di Shepard, modellare la risposta dell'ampiezza della frequenza in Reaktor
MikeiLL
2019-04-02 07:57:08 UTC
view on stackexchange narkive permalink

Ecco un video che mostra come combinare un LFO Pitch e un LFO Amplitude nell'ensemble Form di Reaktor per creare un glissando "infinitamente ascendente" in Reaktor.

Mi piacerebbe essere in grado di per riprodurre una scala o un passaggio melodico di toni di Shepard che fa questo e sto immaginando che un modo per farlo è far passare l'uscita Osc attraverso un filtro o un equalizzatore che attenuerebbe le frequenze sopra e sotto una larghezza di banda centrale in base a una curva specifica o specificata.

Ho provato a utilizzare un Peak EQ e un paio di moduli Shaper BP, ma sono abbastanza perso nel bosco.

Generic OSC synth patch

Sono anche sulla strada giusta? Spesso, quando suono con le manopole di controllo sull'EQ o sullo Shaper, il Synth emette un suono di clic e deve essere riavviato anche per generare di nuovo un tono.

Includerà il pannello qui, che potrebbe dare un'idea degli intervalli di valori forniti dai controlli generati automaticamente:

front panel of Reaktor synth

UPDATE:

Realizzato per ultimo notte che il mio approccio iniziale è completamente sbagliato. EQ o Filtering influiscono sull'intero spettro di frequenze e rimuoveranno in gran parte solo le parti superiori. Dobbiamo inserire una logica che influisca sull'ingresso di ampiezza dell'oscillatore.

Immagino che questo sarà un po 'di matematica tra l'ingresso Pitch e la costante (1) visti di seguito.

AGGIORNAMENTO 2

La mia idea ora è di sviluppare una sorta di algoritmo in base al quale tutte le altezze sopra e sotto il punto medio di un'ottava specificata, il tritono (ad esempio F # -66 per l'ottava C-60) siano esponenziali ( o forse logaritmicamente) attenuato. Il mio primo passo lungo questa linea di pensiero è semplicemente codificare un diverso livello di ampiezza per tutte le altezze inferiori a 66:

Base amplitude on note number

Quindi quello che voglio è che la nota 66 (ad esempio) sarà Amplitude 1 , 65 sarà 0.9 (forse), 64 sarà 0.8 , ecc ... e lo stesso dove 67 , 68 sarà 0.9 , 0.8 e così via. Ma immagino che alla fine mi piacerebbe essere in grado di controllare quella curva di ampiezza con una o due manopole, poiché le curve desiderate potrebbero cambiare in base al timbro del suono.

Mi chiedo anche se lo sarebbe ha senso generare automaticamente le ottave alte e basse e devi solo suonare l'ottava centrale della scala (o l'equivalente melodico)

AGGIORNAMENTO 3

È molto probabile che io stia fraintendendo come dovrebbero funzionare "Shepard Tones". Sto ancora lavorando per implementare una versione della risposta di @ YourUncleBob.

Sembra che il "suo" approccio consista nell'inviare il suono attraverso un filtro che crea l'illusione basata sull'equivalenza di ottava che supporta la "ascesa infinita o discendente "illusione".

Quello che stavo pensando di fare, ancora una volta, è creare una curva di attenuazione dell'ampiezza che attenui ulteriormente il volume di ogni "nota" (input da tastiera) man mano che si allontana da un tono centrale.

Poi finché la "melodia" viene suonata in più ottave in parallelo, l'illusione dovrebbe funzionare.

Sto facendo dei progressi. Quello che ho fatto finora è:

  • Sottrai l'input del tono dal tono centrale
  • Esegui il resto attraverso un Rectifier (matematica) in modo che negativo i valori sono positivi.
  • Confronta il Resto rettificato con 0 e se è 0, invia un 1 ad Amplitude, altrimenti fai una frazione di esso poiché Amplitude sta cercando un numero da 0 a 1 . Quindi i numeri più grandi diventano quantità più piccole (es. 2 => 1/2 , 3 => 1/3 , ecc.)
  • Sto modificando un po 'la curva moltiplicando il divisore (altezza meno il resto del tono centrale) per 2 in modo che le frazioni siano più piccole e anche utilizzando 0.8 invece di 1 per il tono centrale.

Another attempt at Reaktor Shapard Player

Sto visualizzando alcuni dei numeri:

Instrument Panel

Poi passo attraverso questo elaborato processo di creazione del contenuto nella DAW:

DAW Input More DAW Input

È un po 'interessante con ancora molto da risolvere:

  1. Le note sono " facendo clic su "in modo intermittente all'inizio
  2. Mi piacerebbe avere una curva di attenuazione logaritmica in cui si attenua più velocemente quanto più si allontana dal tono centrale
  3. Le altezze devono attenuare in modo più aggressivo rispetto a quelli bassi
  4. Devo effettivamente suonare o programmare tutte queste ottave parallele? Sembra che lo strumento dovrebbe essere in grado di generare l'intero spettro per impostazione predefinita.

Nel frattempo il processo sta diventando piacevole.

Se si desidera spostare costantemente il filtro, è possibile esaminare i filtri a pettine. Ecco come suonano: https://youtu.be/w0NQwQuSMFk?t=193 e come costruirli in Reaktor: https://www.adsrsounds.com/reaktor-tutorials/building-effects-part-iii-comb- filtri / Altrimenti dovrai costruire un banco di filtri con diversi Peak EQ e avere la loro frequenza e volume modulati dagli LFO o dagli inviluppi come descritto nel video che hai collegato.
Grazie. Ho appena aggiornato l'OP, pensando che in realtà è probabilmente l'ampiezza che entra nell'Osc che deve essere attenuata in base all'input Pitch. Controllerò totalmente i filtri Comb, ma mi sbaglio nel mio nuovo modo di pensare?
Vuoi suonare una melodia (o qualsiasi altro suono o registrazione) e poi farla passare attraverso un filtro simile a Shepard, o vuoi suonare una scala sempre crescente? Sto ottenendo risultati utili con un banco di Peak EQ simile a Shepard, ma non sono sicuro di cosa stai cercando.
@YourUncleBob Voglio suonare una "scala" sempre crescente, spero che funzioni con una melodia a piccoli intervalli.
Due risposte:
#1
+4
Your Uncle Bob
2019-04-03 10:24:18 UTC
view on stackexchange narkive permalink

Se vuoi essere in grado di suonare una melodia mentre usi Shepard Tones, il modo più semplice è probabilmente usare un semplice suono di synth con molti armonici, come un'onda a dente di sega non filtrata, e farlo passare attraverso un filtro passa-banda banco con frequenze in costante cambiamento.

Ecco uno strumento che utilizza un numero variabile di filtri passa-banda accordati a un'ottava di distanza. La polifonia dello strumento imposta il numero di filtri. La frequenza di ciascun filtro viene spostata lentamente verso l'alto e il suo livello di uscita segue un'onda sinusoidale, in modo che i diversi filtri si dissolvono in entrata e in uscita.

Shepard Filter - structure

L'oscillatore a rampa controlla la frequenza del filtro e un'onda sinusoidale basata sulla sua uscita controlla il volume della voce. Imposta la modalità dell'oscillatore su standard, in modo che salti indietro dal suo valore massimo a zero senza alcun anti-aliasing (che creerebbe glitch nell'onda sinusoidale). In ogni voce viene aggiunto un offset di fase all'uscita dell'oscillatore a rampa monofonica, e quindi anche all'onda sinusoidale, in modo che i filtri siano sintonizzati ad ottave separate e i loro volumi si aprano e si dissolvono a turno.

Shepard Filter - panel

I controlli del pannello hanno questi intervalli:

  • Manopola della velocità: da -127 a -0, in 127 passi
  • Frequenza: da 0 a 127 in 127 passi
  • Risonanza: da 0,872 a 0,999 in 127 passi di 0,001
  • Profondità: da 24 a 87,5 in 127 passi di 0,5
  • Livello: da -24 a 39,5 in 127 incrementi di 0,5
  • Spia voci: da 1 a 128 in 127 incrementi, modalità continua, valore visibile, immagine non visibile
  • Lampada 11kHz: da 127 a 1000, modalità continua disabilitata

Le impostazioni nell'immagine sopra danno una buona idea di cosa può fare. È simile a un filtro vocale o phaser, ma con un movimento continuo verso l'alto. La manopola della frequenza imposta la frequenza più bassa degli sweep del filtro, il numero di filtri (cioè la polifonia) decide quanto in alto vanno gli sweep del filtro, aggiungendo un'ottava per voce.

Ho scoperto che la frequenza dei filtri PeakEQ e passa banda in Reaktor 4 è limitata alla nota numero 127, che è di circa 11kHz. Man mano che si aumenta la polifonia o la manopola di frequenza, la spia 11kHz avverte se la gamma superiore degli sweep del filtro raggiunge 11kHz. È possibile utilizzare impostazioni più elevate, ma il suono potrebbe avere un aumento permanente intorno a 11 kHz.

Tiny Synth structure

Questo è il synth di base che uso come sorgente sonora. È uno strumento separato e puoi impostare la polifonia in modo indipendente. Ovviamente puoi eseguire l'output di qualsiasi strumento Reaktor attraverso il filtro Shepard. Gli accordi bassi suonati con suoni di synth brillanti funzioneranno meglio.

Quindi questa è una porta "in" che entra nel "Peak EQ" e una porta "out" che esce dal "Mixer", giusto? Il "Filtro Shepard" dovrebbe essere monofonico? In Reaktor 5, il Sine Oscillator ha anche un input "p" per il "controllo logaritmico del pitch". Al momento l'ho impostato su una costante di "60". Il modulo `-1` è un` inverter` (`-x` in R5)? Quali informazioni sta visualizzando la spia `Voices`` `, quante voci sono attualmente generate?
Sì, è uno strumento in sé, con un ingresso e un'uscita audio. Lo strumento è polifonico (ma alcuni moduli contrassegnati in arancione, come il mixer, sono monofonici); il numero di voci imposta il numero di filtri (visualizzato dalla spia). Non è un oscillatore seno, ma una funzione seno matematica. -1 è davvero un inverter.
Mi chiedo ancora cosa dovrebbe mostrare la spia "Voices". Il mio sta solo leggendo "127". Ho capito correttamente che richiederà un secondo strumento per alimentare un segnale audio in "input"? Avrò bisogno di tre o più ottave se voglio creare una "Scala di Shepard"?
La lampada dovrebbe visualizzare la polifonia del filtro Shepard, cioè il numero di filtri accordati per ottave. Sto lavorando a una versione migliorata, con un solo oscillatore a rampa e alcune correzioni di bug. Sì, richiede un ingresso audio; qualsiasi suono di synth brillante andrà bene.
il modulo `Voices Info`, quello che ho trovato in R5 ha input` min` e `max`. Ho quelli impostati su "1" e "12". Ma la lampada, per quanto ne so, non funziona. Ho i valori "min" e "max" impostati su "1" e "128", ma non vedo un campo per "passi".
A quanto ho capito, gli ingressi Voice Info non controllano la polifonia, ma il numero di voci per tasto quando si utilizza la funzione unisono; probabilmente non dovresti allegare nulla agli input. Hai impostato la lampada in modalità continua?
Sì, è in modalità continua. Ho rimosso gli input. Ancora bloccato su "128". Non sono sicuro di cosa si farebbe sulla tastiera per creare una scala di Shepard. Inoltre ho aggiornato di nuovo l'OP con un altro passo verso un approccio più primitivo e basato sul tono.
E la polifonia dello strumento è impostata su qualcosa di diverso da 128? A proposito, penso che stiamo costruendo due cose completamente diverse, ma mi piace il filtro, quindi continuo :-)
Era stato impostato come "10". Ora ho impostato il parametro "Voices" su "128" per "Shepard Filter", "Basic Synth" e anche per "Ensemble". Quindi le voci di `Shepard Filter` sono impostate a` 128`, la `Voices Lamp` ne legge una, e meno di quella va a` 128`. Cosa intendi per "numero di filtri accordati a ottave distanti"? Dove cambierei quel numero? Penso che se premessi i tasti "3" il numero visualizzerebbe "3" per le voci "3". Mi piace anche quello che stai costruendo e penso che risponda anche alla domanda originale.
Lo strumento filtro non ascolta alcun tasto. Si imposta la polifonia su quante bande di frequenza dei filtri si desidera, e poi sono sempre attive. La lampada è solo un promemoria della polifonia su cui è impostato lo strumento. Le impostazioni da 1 a 12 ti daranno diversi tipi di effetti. Più di 12 voci non hanno molto senso, perché gli sweep del filtro andrebbero a frequenze impercettibilmente alte. (Btw, ho aggiornato la mia risposta)
#2
+1
Your Uncle Bob
2019-04-11 08:29:43 UTC
view on stackexchange narkive permalink

Il modo più flessibile per avere un parametro il cui valore è diverso a seconda della nota che suoni, è usare una tabella degli eventi. In questo modo, puoi impostare un valore specifico per ogni nota MIDI (ad es. Per il volume o la chiave del filtro, o per creare accordature alternative). Ecco un semplice esempio:

key Foolower (table) panel

Creando una tabella unidimensionale di lunghezza 128, che contiene valori da 0 a 1, puoi impostare separatamente il volume di ogni tasto. Se si rende visibile la tabella nel pannello (nel pannello "vista") e la si imposta in modalità disegno (strl-clic / clic destro sulla tabella nel pannello), è possibile utilizzare il mouse per disegnare i valori.

Key Follower (table) structure

Aggiungendo un Event Voice Combiner, puoi ottenere l'ultima nota suonata per impostare la posizione di scrittura e anche utilizzare il cursore Value per impostarne il valore. Una volta che tutti i valori sono stati impostati, puoi rendere nuovamente invisibile la tabella. I suoi valori possono essere salvati e caricati automaticamente con lo strumento.

Puoi ovviamente utilizzare una tabella più piccola e ad es. avere un valore per ottava o interpolare tra valori adiacenti.


Se non hai bisogno dei dettagli della soluzione con le tabelle, puoi semplicemente ridimensionare l'ingresso della nota MIDI nell'intervallo 0 ~ 1, quindi inviarlo tramite un Control Shaper e impostare l'output valori per l'ingresso 0, 0,25, 0,5, 0,75 e 1 per creare la curva desiderata.

Key Follower (shaper) structure

Puoi anche usare Control Shaper per una soluzione con un punto centrale e una larghezza variabili. La manopola del punto centrale imposta il numero della nota (0 ~ 127) per la quale il valore di uscita sarà 1 e la manopola della larghezza imposta la distanza (1 ~ 127) dalla nota centrale alla nota in cui il valore di uscita sarà 0. Il il valore di uscita sarà interpolato linearmente tra il valore 1 e 0 per le note all'interno dell'intervallo e sarà 0 per le note al di fuori dell'intervallo.

Key Follower (shaper with variable center and width) structure

È possibile modificare l'interpolazione dei valori di output da lineare a una curva con un picco più ampio o più stretto attorno al punto centrale, ad es. utilizzando il quadrato dei valori o il suo inverso (funziona perché l'intervallo è 0 ~ 1). Le tre opzioni vengono inviate a un modulo Selector (in modalità di interpolazione lineare) in modo che una manopola con valori 0 ~ 2 possa selezionare la curva desiderata.

Key Follower (shaper with variable curve) structure

L'uso del metodo Event Table con Stepsize impostato su "0.00001" ("1E-05") consente una curva piuttosto piacevole nel silenzio. Qualcosa di cui sono confuso è che i valori di output dalla tabella degli eventi sono compresi tra "0" e circa "2.6". Mi aspettavo valori compresi tra "0" e "1" poiché questo è ciò su cui è impostato l'intervallo di valori.
@MikeiLL Avevi già immesso valori nella tabella prima di impostare l'intervallo su 0 ~ 1? I valori esistenti non vengono tagliati o scalati quando si modifica l'intervallo di valori. I valori appena inseriti vengono sempre ritagliati nell'intervallo. (Almeno sono nella versione 4)
Non sono sicuro di averlo fatto, ma ho notato che la gamma superiore dei valori della tabella corrispondeva effettivamente al numero di voci Unison, che era "4". Se ho Max Unison e Voice entrambi impostati su "10" e l'intervallo di valori della tabella impostato su "0.1", ottengo un intervallo da "0" a "1".
@MikeiLL non avevo mai considerato l'effetto dell'unisono sui moduli della tabella. Sono uno strano mix di monofonico (i dati stessi) e polifonico (la lettura e la scrittura). Se le voci all'unisono effettivamente sommano i valori della tabella, è davvero molto strano; Non riesco a immaginare in quali circostanze sarebbe logico. Se quattro voci scrivono un valore 1 nella tabella, ti aspetteresti che il valore sia ancora 1, non 4.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...