Sommario:

Max MSP Ambient Loop Generator: 19 passaggi
Max MSP Ambient Loop Generator: 19 passaggi

Video: Max MSP Ambient Loop Generator: 19 passaggi

Video: Max MSP Ambient Loop Generator: 19 passaggi
Video: Score Granulation: hypertextural Debussy 2024, Dicembre
Anonim

Questo è un tutorial su come iniziare a creare un generatore di loop ambientali in Max MSP.

Questo tutorial si aspetta che tu abbia una conoscenza di base di Max MSP, interfacce DAW ed elaborazione del segnale. Se vuoi usare il programma disegnato in questo tutorial, vai avanti e scaricalo, gratis da usare (ma non da vendere o ripubblicare)!

Il programma che progetteremo ha DUE parti principali:

1) Un processore multi-segnale

2) Un generatore di note semi-randomizzato

Il generatore di note scorre lentamente lungo una chiave/scala in schemi semi-casuali, alimentando i dati MIDI in una DAW, che a sua volta invia l'audio a Max per essere elaborato.

Ecco un collegamento al file della patch finale:

Forniture:

  • Conoscenza di base di Max MSP e MIDI
  • MSP massimo
  • Interfaccia audio (stiamo usando Logic Pro X)
  • fiore sonoro
  • (Opzionale) Alcuni buoni plugin per strumenti software per la tua DAW

Passaggio 1: configurazione di Soundflower con Max e la tua DAW

Configurazione di Soundflower con Max e la tua DAW
Configurazione di Soundflower con Max e la tua DAW
Configurazione di Soundflower con Max e la tua DAW
Configurazione di Soundflower con Max e la tua DAW

Soundflower è un programma che aiuta a inviare audio tra programmi su Mac. Lo useremo per ottenere l'audio dalla nostra DAW in Max.

Usare Soundflower con la tua DAW non potrebbe essere più facile! Basta scaricare Soundflower e sarà disponibile per l'uso come output e input audio. Se creiamo un oggetto adc~ (ingresso audio) e dac~ (uscita audio), possiamo vedere che Soundflower 2ch e Soundflower 64ch diventano percorsi audio utilizzabili. Useremo Soundflower 2ch (2 canali) per questo programma.

In Max, aggiungi un interruttore per attivare e disattivare l'input e un dispositivo di scorrimento del guadagno per il volume e sarai sulla buona strada.

Nella tua DAW, in preferenze> audio vedrai l'ingresso audio e l'uscita audio. Useremo Soundflower 2ch come uscita audio.

Passaggio 2: decidi il percorso di elaborazione del segnale

Decidi il tuo percorso di elaborazione del segnale
Decidi il tuo percorso di elaborazione del segnale

In parole povere, il tuo audio sarà distorto in una serie di canali diversi o tutto in una linea retta?

Abbiamo deciso di utilizzare l'elaborazione audio parallela: il nostro segnale sarà distorto su più canali diversi. Questo ci dà il vantaggio di un audio generale più chiaro e un maggiore controllo per il nostro segnale, ma spinge molto volume nel guadagno principale, con conseguente clipping. Abbiamo deciso che un maggiore controllo valeva un audio distorto, poiché questo creerà comunque loop ambientali!

Inoltre, dovrai decidere quali effetti desideri creare. Dimostreremo alcuni tipi di effetti qui se vuoi idee.

Passaggio 3: aggiunta di una miscela secca

Aggiunta di una miscela secca
Aggiunta di una miscela secca
Aggiunta di una miscela secca
Aggiunta di una miscela secca

Per prima cosa abbiamo aggiunto un "mix secco" in modo da poter avere un segnale audio separato e inalterato. Questo è stato fatto eseguendo l'uscita adc~ in uno slider del guadagno (con una manopola per facilitarne la visualizzazione), in un filtro svf~ con una manopola per regolare il filtro passa-basso, quindi nel guadagno principale e in uscita verso dac~. Avere un mix secco può essere molto utile, quindi te lo consigliamo se vuoi mantenere le cose un po' chiare e facili da testare!

Potremmo aver attirato un po' la tua attenzione lì: eseguiremo tutti i nostri effetti in filtri svf~ separati per avere quadranti di tono per ciascun canale di segnale. Ciò semplifica la pulizia dello spazio audio quando un particolare effetto ha una frequenza troppo alta. Abbiamo realizzato tutti i nostri filtri passa-basso svf~ (collegandoli all'uscita passa-basso), in modo che tagliano progressivamente le alte frequenze abbassando la manopola. Tuttavia, svf~ dispone anche di passa-banda (frequenza selettiva), passa-alto (rimuove i bassi) e altri filtri utili. Sperimenta per vedere cosa ti piace e di cui hai bisogno, oppure usa più filtri!

Passaggio 4: cambiare il tono con un Pitchshifter

Cambiare passo con un Pitchshifter
Cambiare passo con un Pitchshifter
Cambiare tono con un Pitchshifter
Cambiare tono con un Pitchshifter

Per un pitchshifter semplice e facile da usare, copia il codice del pitchshifter dalla guida del pitchshifter in Max. Il nostro codice è molto simile, ma rimuove funzionalità come glide e più impostazioni di qualità audio per ridurre il disordine. L'esecuzione dell'audio in questo (da adc~ per il suono parallelo o dal mix secco per il suono in serie) consente di utilizzare una manopola per regolare il livello di spostamento del tono.

Come per il mix secco, abbiamo aggiunto un cursore del guadagno e un oggetto svf~ per consentire il controllo del volume e la modellatura dell'equalizzazione.

Passaggio 5: DISTORSIONE

DISTORSIONE!
DISTORSIONE!
DISTORSIONE!
DISTORSIONE!
DISTORSIONE!
DISTORSIONE!

Usare l'oggetto overdrive~ è il modo più semplice per aggiungere distorsione. Puoi eseguirlo in un dispositivo di scorrimento del guadagno e in un filtro e chiamarlo un giorno. Tuttavia, abbiamo fatto un paio di passi in più. In primo luogo, abbiamo eseguito i percorsi audio sinistro e destro in oggetti phaseshift~ separati: questi posizionano i percorsi audio sinistro e destro fuori fase, "addensando" l'audio come potrebbe fare un pedale chorus.

Inoltre, abbiamo inviato l'audio risultante in un oggetto a cascata~ con un filtergraph allegato. Ciò ti consente di distorcere l'audio più o meno in determinate frequenze e con tutte le bande di filtro che desideri. Il nostro filtergraph di distorsione è stato modellato sulla distorsione di un pedale Heavy Metal Boss HM-2 degli anni '80.

A questo punto, abbiamo anche iniziato ad aggiungere oggetti omx.peaklim~ dopo effetti particolarmente rumorosi: questo oggetto limita il segnale audio che lo attraversa come farebbe un compressore, rendendo più facile mantenere il percorso audio finale dal clipping.

Passaggio 6: il potere del drone

Il potere del drone
Il potere del drone
Il potere del drone
Il potere del drone

Abbiamo anche ritenuto necessario aggiungere una frequenza di "ronzio" alla nostra patch. Sebbene ciò avrebbe potuto essere realizzato con un oggetto ciclo per creare un semplice oscillatore, non sarebbe stato molto adattivo ai cambiamenti di volume o frequenza nell'audio originale. Pertanto, abbiamo utilizzato un filtro svf~ per creare un percorso audio ultra risonante. Eseguendo l'audio in un filtro svf~ e impostando la risonanza su 1, creiamo una frequenza di ronzio che si muove dentro e fuori come fa il nostro percorso audio e può quindi essere regolata per volume, tono e frequenza. La regolazione della manopola collegata regolerà la frequenza del ronzio.

Passaggio 7: entrare nel bizzarro: modulazione ad anello

Entrando nel bizzarro: Ring Modulation
Entrando nel bizzarro: Ring Modulation
Entrando nel bizzarro: Ring Modulation
Entrando nel bizzarro: Ring Modulation

Ora andiamo avanti aggiungendo la modulazione ad anello! Questo effetto divertente e interessante è estremamente semplice da realizzare e molto frainteso perché suona… un po' strano. Ciò si ottiene collegando un quadrante a un oggetto *~ nell'ingresso destro e nell'ingresso sinistro collegando il nostro quadrante. Abbiamo fatto un ulteriore passo avanti: quando il nostro modulatore ad anello è completamente abbassato, un gate chiude il suo segnale numerico e quindi il segnale del modulo ad anello viene completamente interrotto. Inoltre, può anche essere attivato per l'output su un altro * oggetto che riduce la frequenza di una quantità specificata. In questo modo, possiamo avere un ring mod "fine", di tipo tremolo, e una ring modulation più veloce e dal suono strano. Come gli altri effetti, questo è stato eseguito in un dispositivo di scorrimento del guadagno e in un filtro svf~.

Fase 8: Degradazione del ritardo e del segnale… Degrad… Deg… D…

Degrado del ritardo e del segnale… Degrad… Deg… D…
Degrado del ritardo e del segnale… Degrad… Deg… D…
Degrado del ritardo e del segnale… Degrad… Deg… D…
Degrado del ritardo e del segnale… Degrad… Deg… D…

Qui stiamo creando un ritardo con il controllo del tempo, un quadrante di feedback, un quadrante di tono e il degrado del campione. Questo ci permette di imitare un ritardo analogico rendendo progressivamente il segnale più silenzioso e più distorto. Per fare ciò, utilizziamo oggetti tapin~ e tapout~ collegati. Scriviamo 5000 dopo tapin~ per assicurarci che abbia 5000 ms di tempo di memoria. L'aggiunta di un oggetto degrada~ ci permette di distruggere progressivamente il segnale. Quindi, eseguiamo l'audio da adc~ al nostro oggetto degrade~, in tapin~, in tapout~ e contemporaneamente di nuovo in degrade~ da a *~ e fuori da *~ al nostro controllo di guadagno. In questo modo possiamo collegare un quadrante per regolare il volume del ritardo che torna in se stesso e avere un segnale ritardato proveniente dall'oggetto *~ alle nostre uscite. Inoltre, posizionare l'oggetto degradato prima di tapin~ ci consente di aggiungere sempre più riduzione del campione man mano che il segnale viene ritardato. Controlla la nostra immagine e il codice per una visione chiara di come è stato fatto tutto questo.

Passaggio 9: riverbero stile mattone Belton

Riverbero stile mattone Belton
Riverbero stile mattone Belton
Riverbero stile mattone Belton
Riverbero stile mattone Belton

Un riverbero in mattoni Belton si riferisce a un riverbero dotato di un chip Digi-log Accu-Bell BTDR progettato da Brian Neunaber di Neunaber Effects. Questo chip consente semplici riverberi a molla utilizzando linee di ritardo a cascata. Per emulare questo, abbiamo codificato un altro ritardo, con un quadrante per regolare il tempo e il feedback. Il tempo non supererà mai i 100 ms e il feedback è limitato all'80%. Questo semplice delay offre un suono di riverbero a molla facile! Out in un controllo di guadagno e tono ancora una volta.

Passaggio 10: Tremolo stereo casuale

Tremolo stereo casuale
Tremolo stereo casuale
Tremolo stereo casuale
Tremolo stereo casuale

Il nostro effetto segnale finale! Qui abbiamo creato lo stesso codice usato prima per il modulatore ad anello, con un paio di colpi di scena: la profondità del tremolo è casuale e c'è un tremolo per il canale sinistro e destro. Inoltre, abbiamo impostato questa unità in serie, in modo che tutti gli effetti vengano prima di essa, quindi ogni segnale viene effettuato dai tremoli.

Per fare ciò, imitiamo il codice ring mod di prima, con alcune modifiche: il segnale ora viene eseguito in due porte che si aprono quando l'altra è chiusa. Ciò consente al segnale di essere influenzato o non alterato, piuttosto che solo influenzato o disattivato. Questo è stato fatto con l'oggetto !-. Il nostro quadrante incontra un oggetto rand~, quindi *~ e un +~, e poi un altro *~ nell'ingresso destro e l'audio a sinistra. Qui abbiamo un tremolo randomizzato che si attiva quando il quadrante è su e giù quando è spento!

Questo non ha bisogno di un controllo di guadagno o di tono, quindi va direttamente all'oggetto dac~.

Passaggio 11: oscilloscopio

Oscilloscopio!
Oscilloscopio!
Oscilloscopio!
Oscilloscopio!

Infine, aggiungiamo un oggetto scope~ collegato all'uscita audio dal controllo di guadagno principale. Abbiamo anche aggiunto un quadrante per regolarne la sensibilità!

Passaggio 12: presentazione del modulo di elaborazione del segnale

Presentazione del modulo di elaborazione del segnale
Presentazione del modulo di elaborazione del segnale

Concludiamo questa sezione dando al nostro codice un tocco in più nella modalità di presentazione. Basta aggiungere singoli quadranti e caselle di commento alla modalità di presentazione e sarai a posto! Abbiamo dato al nostro un tocco in più con scatole colorate e varie scelte di font e design artistico. Inoltre, il design si basava sul design dei pedali per chitarra: quadranti in righe e sezioni etichettate per rendere il percorso del segnale semplice da capire. Divertiti con questa parte!

Passaggio 13: Sezione 2: il generatore di accordi

Ora abbiamo un processore di segnale perfettamente funzionante in Max, abbiamo solo bisogno di un po' di audio per alimentarlo. Usando Soundflower, possiamo instradare tutto il suono emesso attraverso il processore di segnale, a patto che la sorgente sia il tuo computer!

Tuttavia, per creare i nostri loop ambientali, dovremo creare un'altra patch Max. Grazie alla potenza del MIDI, la patch finita fungerà efficacemente da nuovo controller MIDI per la tua DAW, inviando note direttamente ad essa permettendoti di utilizzare qualsiasi strumento di tua scelta o design! A differenza di un controller MIDI esterno, con la potenza di max possiamo creare un controller MIDI che può suonare da solo, permettendoti di modularlo con facilità con il processore di segnale.

Per la generazione di note uniche, utilizzeremo un arpeggiatore per generare triadi e in seguito vedremo come mettere insieme un algoritmo che consentirà all'arpeggiatore di saltare tra gli accordi.

Passaggio 14: ottenere note da inserire nell'arpeggiatore

Ottenere note da inserire nell'arpeggiatore
Ottenere note da inserire nell'arpeggiatore
Ottenere note da inserire nell'arpeggiatore
Ottenere note da inserire nell'arpeggiatore

Prima di poter mettere insieme un arpeggiatore, dobbiamo essere in grado di generare gli accordi per la sequenza. In MIDI, ogni nota sulla tastiera corrisponde a un numero, con il Do centrale pari a 60. Fortunatamente, i numeri sono sequenziali, quindi applicando un po' di teoria musicale, possiamo generare gli intervalli corretti che corrispondono alle varie armature di chiave.

Le armature di chiave che usi dipendono da te, tuttavia puoi anche seguire le 4 armature di chiave che abbiamo selezionato. Successivamente aggiungeremo a questa parte del codice per consentirgli di scorrere autonomamente le armature di chiave, quindi abbiamo selezionato Major, Minor, Major 7ths e Minor 7ths per aiutare a preservare la tonalità mentre il programma scorre gli accordi.

Facendo riferimento alla prima immagine, il grosso di questa sezione è solo la matematica che corrisponde agli intervalli di queste chiavi. A partire dalla casella più a sinistra denominata '60', questa è la radice. Ogni volta che la radice cambia, gli intervalli cambieranno di conseguenza in base alla chiave corrente. Ad esempio, se viene selezionata la tonalità maggiore, gli intervalli corrispondenti sono 4 e 7. Che poi attraversano le caselle +0, che aggiungeranno quell'intervallo alla fondamentale e ti forniranno le 3 note per creare un accordo maggiore, da qualsiasi radice!

Passaggio 15: arpeggiare quegli accordi

Arpeggiare quegli accordi
Arpeggiare quegli accordi
Arpeggiare quegli accordi
Arpeggiare quegli accordi
Arpeggiare quegli accordi
Arpeggiare quegli accordi

Fare riferimento alla foto sopra per il codice per l'arpeggiatore. L'oggetto contatore e le caselle oggetto 0, 1 e 2 allegate ti permetteranno di controllare la direzione dell'arpeggiatore da Su, Giù e Su Giù.

Come mostrato sopra, il generatore di intervalli che abbiamo appena messo insieme viene indirizzato alle caselle 'int', quindi mentre le caselle contatore e di selezione vengono eseguite, passerà attraverso l'accordo dall'altro pezzo di codice. Questo poi passa attraverso le caselle 'makenote' e 'noteout' per trasformare finalmente questi numeri MIDI in suoni!

Prendi nota dell'oggetto 'port "from Max 1"' che è collegato al box 'noteout', poiché questo è ciò che ti consente di inviare le informazioni MIDI da Max alla tua DAW.

L'oggetto 'metro' determina quanto tempo è tra ogni intervallo in millisecondi. L'impostazione predefinita è 500 ms e, se segui il codice allegato, utilizzando l'oggetto slider puoi regolare quanti millisecondi ci sono tra ogni intervallo

Passaggio 16: il "giocatore di chiavi"

Il "giocatore di chiavi"
Il "giocatore di chiavi"

Nella foto sopra è il pezzo di codice che consentirà al programma di scorrere automaticamente le armature di chiave, permettendoti di creare accordi spontanei mentre selezioni diverse note fondamentali.

L'oggetto 'select' funziona in modo molto simile a quello nella sezione arpeggiatore, tuttavia invece di una sequenza specifica, stiamo usando la casella 'urn' per scorrere casualmente i tasti. Ciò che rende la casella "urna" diversa da "casuale" è che non ripeterà un numero finché non avrà attraversato l'intera gamma, il che a sua volta ci fornisce una distribuzione uniforme dei salti tra le diverse chiavi.

Passaggio 17: realizzare la magia con la generazione autonoma delle note

Realizzare la magia con la generazione autonoma delle note
Realizzare la magia con la generazione autonoma delle note
Realizzare la magia con la generazione autonoma delle note
Realizzare la magia con la generazione autonoma delle note
Realizzare la magia con la generazione autonoma delle note
Realizzare la magia con la generazione autonoma delle note
Realizzare la magia con la generazione autonoma delle note
Realizzare la magia con la generazione autonoma delle note

Questo pezzo di codice è ciò che porta questa patch a essere in grado di funzionare autonomamente. Se torniamo al generatore di accordi dall'inizio di questa sezione, la modifica della fondamentale riempirà automaticamente i seguenti intervalli, quindi possiamo usarlo per generare progressioni di accordi uniche!

L'elemento chiave qui è "itable", o il grande quadrato con i piccoli rettangoli blu all'interno. Collegandolo al parametro metro dall'arpeggiatore (il box impostato su 500), possiamo controllare il punto esatto nella sequenza dell'arpeggiatore in cui cambia l'accordo. Poiché l'arpeggiatore viene eseguito in gruppi di 3, la dimensione dell'itable è impostata su 12, per tenere conto di 4 cicli, e l'intervallo è impostato su 2, con 2 che funge da "no" e 1 da "sì" per indicare se o per non cambiare l'accordo. Con la sequenza nel codice principale, l'arpeggiatore passerebbe per una triade, quindi verrà generato un nuovo accordo e passerà attraverso quella triade, e così via.

Le caselle "casuali" determinano quanto è lontana la nuova radice dall'originale, attualmente l'ho configurata in modo che possa salire di mezza ottava in alto o in basso.

Nell'immagine completa del codice, vista a sinistra, la casella del numero 67 in basso è attaccata alla casella del numero di radice dal generatore di accordi, quindi qualunque numero finisca per essere generato dall'itable e il suo algoritmo allegato andrà all'accordo generatore, e poi nell'arpeggiatore dove suonerà l'accordo appena selezionato. La casella del numero 67 sopra di essa che scorre nella casella '+0' è attaccata all'oggetto pianoforte nella foto sopra, che è anche attaccato alla casella del numero della radice dal generatore di accordi. Questo è così che quando l'algoritmo di questo pezzo di codice genera un numero, viene selezionato anche sul pianoforte in modo che attiverà la riproduzione di quella nota.

Nel codice finale, questa sezione appare due volte, con l'unica differenza che è itable. Fare riferimento alla tabella allegata separatamente per sapere come fare in modo che venga generato un nuovo accordo dopo che l'arpeggiatore ha ripetuto una sequenza 4 volte.

Passaggio 18: ritocchi finali

Finiture
Finiture

Ora dovresti avere un arpeggiatore completamente funzionante! Tuttavia, se vuoi aggiungere un po 'più di controllo, il pezzo di codice nella foto sopra ti consentirà di controllare la durata delle note riprodotte, in modo da poter ottenere note lunghe e perfette per un ciclo ambientale lento, ronzante.

Inoltre è allegato un oggetto 'stop', che è particolarmente utile quando si esegue Max attraverso una DAW. Nel caso in cui Max inizi ad avere problemi a comunicare i dati MIDI, puoi sovrascriverlo e fermarlo senza chiudere completamente Max o la tua DAW.

Passaggio 19: concludere tutto

Avvolgendo tutto
Avvolgendo tutto

Il programma è ora funzionalmente completo, non resta che organizzare tutto in modalità presentazione. Non c'è una fine per tutte le soluzioni a questo, dipende interamente da ciò che vuoi essere in grado di controllare da un livello superficiale.

La mia selezione copre l'essenziale di tutto ciò che voglio essere in grado di modulare facilmente, in modo da poterlo aggiungere o togliere come meglio credi.

Tutto ciò che resta da fare ora è familiarizzare con queste due patch e iniziare a creare un po' di musica!

Divertiti!

Consigliato: