Cuprins:

Generator de buclă ambientală MSP maxim: 19 pași
Generator de buclă ambientală MSP maxim: 19 pași

Video: Generator de buclă ambientală MSP maxim: 19 pași

Video: Generator de buclă ambientală MSP maxim: 19 pași
Video: 1st ChatGPT Powered NPCs Having SandBox RPG Game Smallville: Generative Agents Interactive Simulacra 2024, Iulie
Anonim

Acesta este un tutorial despre cum să începeți să creați un generator de buclă ambientală în Max MSP.

Acest tutorial se așteaptă să aveți o înțelegere de bază despre Max MSP, interfețele DAW și procesarea semnalului. Dacă doriți să utilizați programul conceput în acest tutorial, mergeți mai departe și descărcați-l, gratuit de utilizat (dar nu pentru a vinde sau a publica din nou)!

Programul pe care îl vom proiecta are DOUĂ porțiuni principale:

1) Un procesor cu semnal multiplu

2) Un generator de note semi-randomizat

Generatorul de note rulează încet de-a lungul unei taste / scări în modele semi-aleatorii, alimentând date MIDI într-un DAW, care la rândul său trimite audio înapoi în Max pentru a fi procesat.

Iată un link către fișierul de corecție final:

Provizii:

  • Cunoștințe de bază Max MSP și MIDI
  • MSP maxim
  • Interfață audio (folosim Logic Pro X)
  • Floarea de sunet
  • (Opțional) Câteva plugin-uri de instrumente software bune pentru DAW

Pasul 1: Configurarea Soundflower cu Max și DAW

Configurarea Soundflower cu Max și DAW
Configurarea Soundflower cu Max și DAW
Configurarea Soundflower cu Max și DAW
Configurarea Soundflower cu Max și DAW

Soundflower este un program care ajută la trimiterea audio între programe pe Mac. Vom folosi acest lucru pentru a obține audio de la DAW în Max.

Folosirea Soundflower cu DAW nu ar putea fi mai ușoară! Pur și simplu descărcați Soundflower și va deveni disponibil pentru a fi utilizat ca ieșire și intrare audio. Dacă creăm obiecte adc ~ (intrare audio) și dac ~ (ieșire audio), putem vedea că Soundflower 2ch și Soundflower 64ch devin căi audio utilizabile. Vom folosi Soundflower 2ch (2 canale) pentru acest program.

În Max, adăugați o comutare pentru a activa și dezactiva intrarea și un glisor de câștig pentru volum și veți fi pe drum.

În DAW, în preferințe> audio veți vedea intrarea și ieșirea audio. Vom folosi Soundflower 2ch ca ieșire audio.

Pasul 2: decideți calea de procesare a semnalului

Decideți calea de procesare a semnalului
Decideți calea de procesare a semnalului

În termeni simpli, sunetul dvs. va fi distorsionat într-o grămadă de canale diferite sau totul într-o singură linie dreaptă?

Am decis să folosim procesarea audio paralelă - semnalul nostru va fi distorsionat pe mai multe canale diferite. Acest lucru ne oferă avantajul unui sunet general mai clar și a unui control mai mare pentru semnalul nostru, dar împinge o mulțime de volum în câștigul master, rezultând unele decupări. Am decis că mai mult control merită un sunet distorsionat, deoarece oricum acest lucru va crea bucle ambientale!

În plus, va trebui să decideți ce efecte doriți să creați. Vom demonstra câteva tipuri de efecte aici dacă doriți idei.

Pasul 3: Adăugarea unui amestec uscat

Adăugarea unui amestec uscat
Adăugarea unui amestec uscat
Adăugarea unui amestec uscat
Adăugarea unui amestec uscat

Mai întâi am adăugat un „mix uscat”, astfel încât să putem avea un semnal audio separat, neafectat. Acest lucru a fost realizat executând ieșirea adc ~ într-un glisor de câștig (cu un cadran pentru a ușura vizualizarea), într-un filtru svf ~ cu un cadran pentru a regla filtrarea lowpass și apoi în câștigul principal și în afara dac ~. A avea un amestec uscat poate fi destul de la îndemână, așa că vă sugerăm dacă doriți să păstrați lucrurile oarecum clare sunând și ușor de testat!

S-ar putea să vă fi atras puțin atenția acolo - vom rula toate efectele noastre în filtre svf ~ separate pentru a avea apeluri de ton pentru fiecare canal de semnal. Acest lucru facilitează clarificarea spațiului audio atunci când un anumit efect este prea frecvent. Am realizat toate filtrele noastre svf ~ lowpass (prin conectarea la ieșirea lowpass), astfel încât acestea să taie progresiv frecvențele înalte prin oprirea cadranului. Cu toate acestea, svf ~ are, de asemenea, bandpass (frecvență selectivă), highpass (eliminați minimele) și alte filtre utile. Experimentați pentru a vedea ce vă place și de care aveți nevoie, sau chiar folosiți mai multe filtre!

Pasul 4: Schimbarea pitch-ului cu un pitch-shift

Pitch Shifting Cu un Pitchshifter
Pitch Shifting Cu un Pitchshifter
Pitch Shifting Cu un Pitchshifter
Pitch Shifting Cu un Pitchshifter

Pentru un pitchshifter simplu, ușor de utilizat, copiați codul pitchshifter din ghidul de ajutor pitchshifter din Max. Codul nostru este foarte asemănător, dar elimină caracteristici precum glisarea și mai multe setări de calitate audio pentru a reduce aglomerația. Rularea sunetului în acest sens (de la adc ~ pentru sunet paralel sau din mixul uscat pentru sunet de serie) vă permite să utilizați un cadran pentru a regla nivelul de schimbare a tonului.

Ca și în cazul amestecului uscat, am adăugat un glisor de câștig și un obiect svf ~ pentru a permite controlul volumului și modelarea EQ.

Pasul 5: DISTORTARE

DEFORMARE!
DEFORMARE!
DEFORMARE!
DEFORMARE!
DEFORMARE!
DEFORMARE!

Folosirea obiectului overdrive ~ este cel mai simplu mod de a adăuga distorsiuni. Puteți rula acest lucru într-un glisor de câștig și într-un filtru și îl puteți numi o zi. Cu toate acestea, am făcut-o cu câțiva pași mai departe. În primul rând, am rulat căile audio stânga și dreapta în obiecte separate de fază-schimbare - acestea plasează căile audio stânga și dreapta în fază, „îngroșând” sunetul ca și cum ar putea o pedală de cor.

În plus, am trimis sunetul rezultat într-un obiect în cascadă cu un filtru atașat. Acest lucru vă permite să distorsionați sunetul mai mult sau mai puțin în anumite frecvențe și cu câte benzi de filtrare doriți. Filtrul nostru de distorsiune a fost modelat după distorsiunea unei pedale Boss HM-2 Heavy Metal din anii 1980.

În acest moment, am început, de asemenea, să adăugăm obiecte omx.peaklim ~ după efecte deosebit de zgomotoase - acest obiect limitează semnalul audio care trece prin el, așa cum ar face un compresor, facilitând păstrarea traseului audio final de la decupare.

Pasul 6: Puterea dronelor

Puterea Dronei
Puterea Dronei
Puterea Dronei
Puterea Dronei

De asemenea, am considerat că este necesar să adăugăm o frecvență de „dronare” la patch-ul nostru. Deși acest lucru ar fi putut fi realizat cu un obiect de ciclu pentru a crea un oscilator simplu, nu ar fi fost foarte adaptabil la schimbările de volum sau de frecvență în sunetul original. Prin urmare, am folosit un filtru svf ~ pentru a crea o cale audio ultra rezonantă. Rulând sunetul într-un filtru svf ~ și setând rezonanța la 1, creăm o frecvență de dronare care se deplasează în interiorul și în afară așa cum o face calea noastră audio și poate fi apoi ajustată pentru intensitate, ton și frecvență. Reglarea cadranului atașat va regla frecvența dronării.

Pasul 7: Intrarea în modularea bizară: inel

Intrarea în modularea bizară: inel
Intrarea în modularea bizară: inel
Intrarea în modularea bizară: inel
Intrarea în modularea bizară: inel

Acum, mergem mai departe prin adăugarea modulației inelului! Acest efect distractiv și răcoros este extrem de simplu de făcut și foarte neînțeles pentru că sună … puțin funky. Acest lucru se realizează prin atașarea unui cadran la un obiect * ~ din intrarea dreaptă, iar în intrarea stângă atașarea cadranului nostru. Am făcut acest lucru cu un pas mai departe - când modulatorul nostru de inel este complet în jos, o poartă își închide semnalul numeric, astfel încât semnalul modului de sonerie este complet întrerupt. În plus, poate fi, de asemenea, comutat pentru a ieși la un alt obiect * care reduce frecvența cu o cantitate specificată. În acest fel, putem avea un mod inel de tip „fin”, de tip tremolo, și o modulare inelară de sunet mai rapidă și ciudată. La fel ca celelalte efecte, acesta a fost rulat într-un glisor de câștig și un filtru svf ~.

Pasul 8: Întârziere și degradare a semnalului … Degradare … Deg … D …

Întârziere și degradare a semnalului … Degradare … Deg … D …
Întârziere și degradare a semnalului … Degradare … Deg … D …
Întârziere și degradare a semnalului … Degradare … Deg … D …
Întârziere și degradare a semnalului … Degradare … Deg … D …

Aici creăm o întârziere cu controlul timpului, un apel de feedback, un apel de ton și degradarea eșantionului. Acest lucru ne permite să imităm o întârziere analogică făcând progresiv semnalul mai silențios și mai distorsionat. Pentru a face acest lucru, folosim obiecte conectate tapin ~ și tapout ~. Scriem 5000 după tapin ~ pentru a ne asigura că are 5000ms de timp de memorie. Adăugarea unui obiect degrade ~ ne permite să distrugem progresiv semnalul. Apoi, rulăm audio de la adc ~ la obiectul nostru degrade ~, în tapin ~, în tapout ~ și simultan înapoi în degradare ~ de la * ~ și din * ~ la controlul nostru de câștig. Acest lucru ne permite să atașăm un cadran pentru a regla volumul de întârziere care se întoarce în sine și pentru a avea un semnal întârziat care vine de la obiectul ~ ~ la ieșirile noastre. În plus, plasarea obiectului de degradare înainte de tapin ~ ne permite să adăugăm tot mai multe și mai multe reduceri de eșantion pe măsură ce semnalul este întârziat. Verificați imaginea și codul nostru pentru o imagine clară a modului în care s-a făcut totul.

Pasul 9: Belton Brick Style Reverb

Belton Brick Style Reverb
Belton Brick Style Reverb
Belton Brick Style Reverb
Belton Brick Style Reverb

Un reverb din cărămidă belton se referă la un reverb echipat cu un cip Accu-Bell BTDR Digi-log proiectat de Brian Neunaber de la Neunaber Effects. Acest cip permite reverburi simple de arc folosind linii de întârziere în cascadă. Pentru a imita acest lucru, am codificat o altă întârziere, cu un cadran pentru a regla timpul și feedback-ul. Timpul nu va trece niciodată de 100 ms, iar feedback-ul este limitat la 80%. Această întârziere simplă oferă un sunet ușor de reverb de primăvară! Ieșiți din nou într-un control al câștigului și al tonului.

Pasul 10: Tremolo stereo aleatoriu

Random Stereo Tremolo
Random Stereo Tremolo
Random Stereo Tremolo
Random Stereo Tremolo

Efectul nostru final de semnal! Aici am creat același cod folosit anterior pentru modulatorul inelar, cu câteva răsuciri: adâncimea tremolo este randomizată și există un tremolo pentru canalul stâng și drept. În plus, am setat această unitate în serie, astfel încât acum să apară toate efectele, astfel încât fiecare semnal să fie efectuat de tremolo.

Pentru a face acest lucru, imităm codul modului de apel de mai devreme, cu unele modificări: semnalul rulează acum în două porți care se deschid când cealaltă este închisă. Acest lucru permite semnalului să fie afectat sau neafectat, mai degrabă decât afectat sau oprit. Acest lucru a fost făcut cu obiectul! -. Cadranul nostru rulează într-un obiect rand ~, apoi * ~ și un + ~, și în jos la un alt * ~ în intrarea din dreapta și audio în stânga. Aici avem un tremolo randomizat care se aprinde când cadranul este în sus și în jos când este oprit!

Acest lucru nu are nevoie de un control al câștigului sau control al tonului, deci merge direct la obiectul dac ~.

Pasul 11: Osciloscopul

Osciloscop!
Osciloscop!
Osciloscopul!
Osciloscopul!

În cele din urmă, adăugăm un scop ~ obiect conectat la ieșirea audio de la controlul de câștig master. Am adăugat și un cadran pentru a-i regla sensibilitatea!

Pasul 12: Prezentarea modulului de procesare a semnalului

Prezentarea modulului de procesare a semnalului
Prezentarea modulului de procesare a semnalului

Încheiem această secțiune oferindu-i codului nostru un stil în modul de prezentare. Doar adăugați apeluri individuale și casete de comentarii în modul de prezentare și veți fi bine să mergeți! Le-am oferit noilor fleruri suplimentare cu cutii colorate și diverse decizii de tipărire și design artistic. În plus, designul a fost bazat pe concepte de pedale de chitară: cadrane în rânduri și secțiuni etichetate pentru a face calea semnalului ușor de înțeles. Distrează-te cu această parte!

Pasul 13: Secțiunea 2: Generatorul de acorduri

Acum avem un procesor de semnal complet funcțional în Max, avem nevoie doar de un sunet pentru a-l alimenta. Folosind Soundflower, putem direcționa tot sunetul emis prin procesorul de semnal, atâta timp cât sursa este computerul dvs.!

Cu toate acestea, pentru a crea propriile noastre bucle ambientale, va trebui să realizăm un alt patch Max. Datorită puterii MIDI, patch-ul terminat va servi în mod eficient ca un controler MIDI nou pentru DAW-ul dvs., trimitând note direct către acesta, permițându-vă să utilizați orice instrument la alegere sau design! Spre deosebire de un controler MIDI extern, cu puterea max, putem crea un controler MIDI care poate reda singur, permițându-vă să îl modulați cu procesorul de semnal cu ușurință.

Pentru generarea unică de note, vom folosi un arpegiator pentru a genera triade, iar mai târziu vom analiza cum să punem împreună un algoritm care să permită arpegiatorului să sară între acorduri.

Pasul 14: Obținerea de note pentru a fi introduse în arpegiator

Obținerea de note pentru a alimenta în arpegiator
Obținerea de note pentru a alimenta în arpegiator
Obținerea de note pentru a alimenta în arpegiator
Obținerea de note pentru a alimenta în arpegiator

Înainte de a putea pune un arpegiator împreună, trebuie să putem genera acorduri pentru ca acesta să se secvențeze. În MIDI, fiecare notă de pe tastatură corespunde unui număr, cu mijlocul C fiind 60. Din fericire, numerele sunt secvențiale, deci prin aplicarea unei anumite teorii muzicale, putem genera intervalele corecte care corespund diferitelor semnături ale tastelor.

Semnăturile cheie pe care le utilizați depind de dvs., cu toate acestea puteți urmări împreună cu cele 4 semnături cheie pe care le-am selectat. Mai târziu vom adăuga la această parte a codului pentru a-i permite să parcurgă singuri semnăturile cheie, așa că am selectat Major, Minor, Major 7ths și Minor 7ths pentru a ajuta la păstrarea tonalității pe măsură ce programul trece prin acorduri.

Referindu-ne la prima imagine, cea mai mare parte a acestei secțiuni este doar matematica care corespunde intervalelor acestor taste. Începând cu caseta din stânga etichetată „60”, acesta este rădăcina. Ori de câte ori rădăcina se schimbă, intervalele se vor modifica corespunzător pe baza cheii curente. De exemplu, dacă este selectată tasta majoră, intervalele corespunzătoare sunt 4 și 7. Acestea trec apoi prin casetele +0, care vor adăuga acel interval la rădăcină și vă vor oferi cele 3 note pentru a face un acord major, de la orice rădăcină!

Pasul 15: Arpegierea acelor acorduri

Arpegierea acelor acorduri
Arpegierea acelor acorduri
Arpegierea acelor acorduri
Arpegierea acelor acorduri
Arpegierea acelor acorduri
Arpegierea acelor acorduri

Consultați fotografia de mai sus pentru codul pentru Arpeggiator. Obiectul contor și casetele de obiecte atașate 0, 1 și 2 vă vor permite să controlați direcția arpegiatorului de la Sus, Jos și Sus.

Așa cum se arată mai sus, generatorul de intervale pe care tocmai l-am pus împreună este direcționat către casetele „int”, astfel încât pe măsură ce rulează casetele de contor și selecție, acesta va trece prin acord din cealaltă bucată de cod. Aceasta trece apoi prin caseta „makenote” și „noteout” pentru a transforma în cele din urmă aceste numere MIDI în sunet!

Luați notă de obiectul „port” din Max 1”care este conectat la caseta„ notă”, deoarece acesta vă permite să trimiteți informațiile MIDI de la Max în DAW.

Obiectul „metrou” determină cât timp este între fiecare interval în milisecunde. Îl am implicit la 500 ms, iar dacă urmați codul atașat, folosind obiectul glisor puteți regla câte milisecunde sunt între fiecare interval

Pasul 16: „Key Jumbler”

„Key Jumbler”
„Key Jumbler”

În imaginea de mai sus este fragmentul de cod care va permite programului să treacă automat prin semnăturile cheie, permițându-vă să creați acorduri spontane pe măsură ce selectați diferite note de rădăcină.

Obiectul „select” funcționează foarte asemănător cu cel din secțiunea arpegiator, cu toate acestea, în loc de o secvență specifică, folosim caseta „urn” pentru a parcurge aleatoriu tastele. Ceea ce face căsuța „urnă” diferită de „aleatorie” este că nu va repeta un număr până când nu va trece prin întreaga gamă, ceea ce la rândul nostru ne oferă o distribuție uniformă a salturilor între diferite taste diferite.

Pasul 17: Realizarea magiei se întâmplă cu generarea autonomă de note

Realizarea magiei cu generarea autonomă de note
Realizarea magiei cu generarea autonomă de note
Realizarea magiei cu generarea autonomă de note
Realizarea magiei cu generarea autonomă de note
Realizarea magiei cu generarea autonomă de note
Realizarea magiei cu generarea autonomă de note
Realizarea magiei cu generarea autonomă de note
Realizarea magiei cu generarea autonomă de note

Această bucată de cod este ceea ce aduce acest patch la posibilitatea de a rula autonom. Dacă ne referim la generatorul de acorduri de la începutul acestei secțiuni, schimbarea rădăcinii va completa automat următoarele intervale, astfel încât să o putem folosi pentru a genera progresii unice ale acordurilor!

Elementul cheie aici este „itable” sau pătratul mare cu micile dreptunghiuri albastre în interior. Atașând acest lucru la parametrul metro de la arpegiator (caseta setată la 500), putem controla punctul exact din secvența arpegiatorului pe care îl modifică coarda. Deoarece Arpeggiator rulează în seturi de 3, dimensiunea itabilului este setată la 12, pentru a reprezenta 4 cicluri, iar intervalul este setat la 2, 2 servind ca „nu” și 1 servind ca „da” pentru să nu schimbe coarda. Cu secvența din codul principal, arpegiatorul ar trece printr-o triadă, apoi s-ar genera un nou acord și ar trece prin acea triadă și așa mai departe.

Căsuțele „aleatorii” determină cât de departe este noua rădăcină de original, în prezent o am configurată astfel încât să poată merge până la o jumătate de octavă în sus sau în jos.

În imaginea completă a codului, văzută în stânga, caseta numerică 67 din partea de jos este atașată la caseta numerică rădăcină din generatorul de acorduri, astfel încât orice număr ajunge să fie generat din itable și algoritmul său atașat va merge la acord generator, și apoi în arpegiator unde va reda acordul nou selectat. Caseta numerică de 67 de deasupra acesteia, care se execută în caseta „+0”, este atașată la obiectul pian din imaginea de mai sus, care este atașat și casetei cu numărul rădăcină de la generatorul de acorduri. Acest lucru se întâmplă astfel încât, atunci când algoritmul din această bucată de cod generează un număr, acesta să fie selectat și la pian, astfel încât să declanșeze acea notă să fie redată.

În codul final, această secțiune apare de două ori, singura diferență fiind itable. Consultați documentul atașat separat pentru a-l face astfel încât să se genereze o nouă coardă după ce arpegiatorul repetă o secvență de 4 ori.

Pasul 18: Atingeri de finisare

Finisaje
Finisaje

Acum ar trebui să ai un arpegiator care să joace pe deplin! Cu toate acestea, dacă doriți să adăugați un pic mai mult control, fragmentul de cod din imaginea de mai sus vă va permite să controlați durata notelor care sunt redate, astfel încât să puteți obține note extrase mult timp perfecte pentru o buclă ambientală lentă, droning.

De asemenea, este atașat un obiect „stop”, care este deosebit de util atunci când rulați Max printr-un DAW. În cazul în care Max începe să aibă probleme de comunicare a datelor MIDI, îl puteți suprascrie și opri fără a închide complet Max sau DAW.

Pasul 19: încheie totul

Împachetând totul
Împachetând totul

Programul este acum funcțional complet, tot ce rămâne de făcut este să organizezi totul în modul de prezentare. Nu există un singur scop, toate sunt soluții la acest lucru, depinde în totalitate de ceea ce doriți să puteți controla de la un nivel de suprafață.

Selecția mea acoperă esențialul a tot ceea ce vreau să pot modula cu ușurință, astfel încât să puteți adăuga la el sau să-l luați după cum doriți.

Tot ce mai rămâne de făcut acum este să vă familiarizați cu aceste două patch-uri și să începeți să creați muzică!

Bucurați-vă!

Recomandat: