Innholdsfortegnelse:
- Trinn 1: Konfigurere Soundflower med Max og DAW
- Trinn 2: Bestem signalbehandlingsbanen
- Trinn 3: Tilsett en tørr blanding
- Trinn 4: Skifte pitch med en pitchshifter
- Trinn 5: FORVISTNING
- Trinn 6: Droneens kraft
- Trinn 7: Gå inn i Bizarre: Ring Modulation
- Trinn 8: Forsinkelse og signalnedbrytning … Degrad… Deg… D…
- Trinn 9: Belton Brick Style Reverb
- Trinn 10: Tilfeldig stereotremolo
- Trinn 11: Oscilloskopi
- Trinn 12: Presentasjon av signalbehandlingsmodulen
- Trinn 13: Del 2: Akkordgeneratoren
- Trinn 14: Få notater til å mate inn i Arpeggiator
- Trinn 15: Arpeggiating de akkordene
- Trinn 16: 'Key Jumbler'
- Trinn 17: Få magien til å skje med autonom notatgenerering
- Trinn 18: Etterbehandling
- Trinn 19: Pakk alt inn
Video: Max MSP Ambient Loop Generator: 19 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Dette er en opplæring om hvordan du kommer i gang med å lage en ambient loop generator i Max MSP.
Denne opplæringen forventer at du har en grunnleggende forståelse av Max MSP, DAW -grensesnitt og signalbehandling. Hvis du vil bruke programmet som er designet i denne opplæringen, kan du laste det ned gratis (men ikke for å selge eller publisere på nytt)!
Programmet vi skal designe har TO hoveddeler:
1) En flersignalprosessor
2) En semi-randomisert notatgenerator
Notatgeneratoren går sakte langs en nøkkel/skala i semi-tilfeldige mønstre, og mater MIDI-data til en DAW, som igjen sender lyd tilbake til Max for å bli behandlet.
Her er en lenke til den endelige oppdateringsfilen:
Rekvisita:
- Grunnleggende Max MSP og MIDI kunnskap
- Maks MSP
- Lydgrensesnitt (vi bruker Logic Pro X)
- Soundflower
- (Valgfritt) Noen gode programvareinstrument -plugins for DAW
Trinn 1: Konfigurere Soundflower med Max og DAW
Soundflower er et program som hjelper til med å sende lyd mellom programmer på Mac. Vi bruker dette for å få lyd fra DAW til Max.
Å bruke Soundflower med DAW kan ikke være enklere! Bare last ned Soundflower, så blir den tilgjengelig som lydutgang og inngang. Hvis vi oppretter en adc ~ (lydinngang) og dac ~ (lydutgang) objekter, kan vi se at Soundflower 2ch og Soundflower 64ch blir brukbare lydveier. Vi bruker Soundflower 2ch (2 kanaler) for dette programmet.
I Max, legg til en veksle for å slå inngangen din på og av, og en gevinstglidebryter for volum, så er du på vei.
I din DAW, under preferanser> lyd, vil du se lydinngang og lydutgang. Vi bruker Soundflower 2ch som lydutgang.
Trinn 2: Bestem signalbehandlingsbanen
Enkelt sagt, vil lyden din bli forvrengt i en rekke forskjellige kanaler, eller alt i en rett linje?
Vi bestemte oss for å bruke parallell lydbehandling - signalet vårt vil bli forvrengt på flere forskjellige kanaler. Dette gir oss fordelen med klarere generell lyd og mer kontroll for signalet vårt, men skyver mye volum inn i masterforsterkningen, noe som resulterer i noe klipp. Vi bestemte oss for at mer kontroll var verdt litt forvrengt lyd, siden dette uansett vil skape omgivende sløyfer!
I tillegg må du bestemme hvilke effekter du vil lage. Vi vil demonstrere noen effekttyper her hvis du vil ha ideer.
Trinn 3: Tilsett en tørr blanding
Vi la først til en "tørr blanding" slik at vi kunne ha et eget, upåvirket lydsignal. Dette ble gjort ved å kjøre adc ~ -utgangen til en gain -glidebryter (med en skive for å gjøre det enkelt å se), i et svf ~ -filter med en skive for å justere lowpass -filtrering, og deretter til master gain og ut til dac ~. Å ha en tørr blanding kan være ganske praktisk, så vi foreslår det hvis du vil at ting skal være litt klare og enkle å teste!
Vi har kanskje fått øye på deg der - vi vil kjøre alle effektene våre i separate svf ~ -filtre for å ha tonetaster for hver signalkanal. Dette gjør det enkelt å rydde opp i lydrommet når en bestemt effekt er for høy. Vi lagde alle våre svf ~ lavpass -filtre (ved å koble til lavpass -utgangen), slik at de gradvis kuttet av høye frekvenser ved å skru ned skiven. Svf ~ har imidlertid også båndpass (selektiv frekvens), høypass (fjern nedturer) og andre nyttige filtre. Eksperimenter for å se hva du liker og trenger, eller til og med bruke flere filtre!
Trinn 4: Skifte pitch med en pitchshifter
For en enkel, lett å bruke pitchshifter, kopier pitchshifter -koden fra pitchshifter -hjelpeguiden i Max. Koden vår er veldig lik, men fjerner funksjoner som glid og flere lydkvalitetsinnstillinger for å redusere rotet. Ved å kjøre lyden inn i denne (fra adc ~ for parallell lyd, eller fra den tørre blandingen for serielyd) kan du bruke en skive til å justere nivåforskyvningen.
Som med den tørre blandingen la vi til en gain -glidebryter og et svf ~ -objekt for å tillate volumkontroll og EQ -utforming.
Trinn 5: FORVISTNING
Å bruke overdrive ~ -objektet er den enkleste måten å legge til forvrengning. Du kan kjøre det inn i en gevinstglidebryter og et filter og kalle det en dag. Imidlertid tok vi det et par skritt videre. For det første kjørte vi venstre og høyre lydbane inn i separate faseforskyvnings ~ objekter - disse plasserer venstre og høyre lydbane ut av fase, og "tykner" lyden som en korpedal.
I tillegg sendte vi den resulterende lyden til et kaskade ~ objekt med et filtergrafikk vedlagt. Dette lar deg forvride lyden mer eller mindre i visse frekvenser, og med så mange filterbånd du vil. Vår forvrengningsfiltergraf ble modellert etter forvrengningen av en 1980-talls Boss HM-2 Heavy Metal-pedal.
På dette tidspunktet begynte vi også å legge til omx.peaklim ~ -objekter etter spesielt bråkete effekter - dette objektet begrenser lydsignalet som kommer gjennom det som en kompressor ville, noe som gjør det lettere å hindre at den siste lydbanen klipper ut.
Trinn 6: Droneens kraft
Vi følte det også nødvendig å legge til en "droning" -frekvens i vår oppdatering. Selv om dette kunne ha blitt oppnådd med et syklusobjekt for å lage en enkel oscillator, ville det ikke ha vært veldig tilpasset volum- eller frekvensendringer i den originale lyden. Derfor brukte vi et svf ~ filter for å lage en ultraresonant lydbane. Ved å kjøre lyd inn i et svf ~ filter og sette resonans til 1, oppretter vi en droningsfrekvens som beveger seg inn og ut som lydbanen vår gjør, og kan deretter justeres for lydstyrke, tone og frekvens. Justering av den vedlagte skiven vil justere droningsfrekvensen.
Trinn 7: Gå inn i Bizarre: Ring Modulation
Nå går vi videre ved å legge til ringmodulasjon! Denne morsomme og kule effekten er ekstremt enkel å lage, og veldig misforstått fordi den høres ut … litt funky. Dette oppnås ved å feste en skive til et *~ objekt i høyre innløp, og i venstre innløp ved å feste skiven vår. Vi tok dette et skritt videre - når ringmodulatoren vår er helt nede, stenger en port nummerets signal, og så blir ringmod -signalet fullstendig avbrutt. I tillegg kan den også veksles til utgang til et annet * objekt som reduserer frekvensen med et spesifisert beløp. På denne måten kan vi ha en "fin" ringmodul av tremolo-type og en raskere, merkelig ringemodulering. I likhet med de andre effektene ble dette kjørt inn i en gain -glidebryter og et svf ~ filter.
Trinn 8: Forsinkelse og signalnedbrytning … Degrad… Deg… D…
Her oppretter vi en forsinkelse med tidskontroll, en tilbakemeldingsskive, en toneoppringning og prøvenedbrytning. Dette lar oss etterligne en analog forsinkelse ved gradvis å gjøre signalet roligere og mer forvrengt. For å gjøre dette bruker vi tilkoblede tapin ~ og tapout ~ objekter. Vi skriver 5000 etter tapin ~ for å sikre at den har 5000 ms minnetid. Ved å legge til et degraderingsobjekt kan vi gradvis ødelegge signalet. Deretter kjører vi lyd fra adc ~ til vårt nedbrytings ~ objekt, til tapin ~, til tapout ~, og samtidig tilbake til nedbrytning ~ fra et *~ og ut av *~ til vår gevinstkontroll. Ved å gjøre dette kan vi feste en skive for å justere forsinkelsesvolumet som går tilbake til seg selv og få et forsinket signal fra *~ -objektet til våre utganger. Ved å plassere nedbrytningsobjektet før tapin ~ kan vi i tillegg legge til mer og mer og mer prøvereduksjon ettersom signalet blir forsinket. Sjekk bildet vårt og koden for en klar oversikt over hvordan alt dette ble gjort.
Trinn 9: Belton Brick Style Reverb
En belton-murklokke-reverb refererer til en reverb som er utstyrt med en Accu-Bell BTDR Digi-log-brikke designet av Brian Neunaber fra Neunaber Effects. Denne brikken gir mulighet for enkle vårreverb ved bruk av kaskaderende forsinkelseslinjer. For å etterligne dette har vi kodet enda en forsinkelse, med en skive for å justere tid og tilbakemelding. Tiden vil aldri krysse 100 ms, og tilbakemeldingen er begrenset til 80%. Denne enkle forsinkelsen gir en enkel vårklang! Ut i en gevinst og tonekontroll nok en gang.
Trinn 10: Tilfeldig stereotremolo
Vår siste signaleffekt! Her har vi opprettet den samme koden som tidligere ble brukt for ringmodulatoren, med et par vendinger: dybden på tremoloen er randomisert, og det er en tremolo for venstre og høyre kanal. I tillegg setter vi opp denne enheten i serie, slik at alle effekter nå kommer før den, så hvert signal påvirkes av tremolos.
For å gjøre dette etterligner vi ringmodkoden fra tidligere, med noen endringer: signalet løper nå inn i to porter som åpnes når den andre er lukket. Dette gjør at signalet enten kan påvirkes eller ikke påvirkes, i stedet for bare påvirket eller av. Dette ble gjort med!- objektet. Skiven vår går inn i et rand ~ objekt, deretter *~ og a +~, og ned til en annen *~ i høyre innløp og lyden i venstre. Her har vi en randomisert tremolo som slås på når skiven er oppe, og ned når den er slått av!
Dette trenger ikke en forsterkningskontroll eller tonekontroll, så det går bare rett til dac ~ objektet.
Trinn 11: Oscilloskopi
Til slutt legger vi til et omfang ~ objekt koblet til lydutgangen fra master gain kontrollen. Vi har også lagt til en skive for å justere følsomheten!
Trinn 12: Presentasjon av signalbehandlingsmodulen
Vi avslutter denne delen med å gi koden vår litt teft i presentasjonsmodusen. Bare legg til individuelle ringer og kommentarfelt i presentasjonsmodus, så er du i gang! Vi ga vår litt ekstra teft med fargede esker og forskjellige font- og kunstneriske designbeslutninger. I tillegg var designet basert på design av gitarpedaler: ringer i merkede rader og seksjoner for å gjøre signalveien enkel å forstå. Ha det gøy med denne delen!
Trinn 13: Del 2: Akkordgeneratoren
Vi har nå en fullt fungerende signalprosessor i Max, vi trenger bare litt lyd for å mate den inn. Ved å bruke Soundflower kan vi dirigere all lyden som sendes ut gjennom signalprosessoren, så lenge kilden er datamaskinen din!
For å lage våre egne omgivelsesløkker må vi imidlertid lage en annen Max -oppdatering. Takket være kraften til MIDI vil den ferdige oppdateringen effektivt fungere som en ny MIDI -kontroller for DAW -en din, og sende notater direkte til den slik at du kan bruke hvilket som helst instrument du ønsker eller design! I motsetning til en ekstern MIDI -kontroller, med maksimal effekt kan vi lage en MIDI -kontroller som kan spille helt av seg selv, slik at du enkelt kan modulere den med signalprosessoren.
For unik notegenerering bruker vi en arpeggiator for å generere triader, og senere vil vi se på hvordan vi kan sette sammen en algoritme som lar arpeggiatoren hoppe mellom akkorder.
Trinn 14: Få notater til å mate inn i Arpeggiator
Før vi kan sette en arpeggiator sammen, må vi kunne generere akkordene for at den skal sekvensere gjennom. I MIDI tilsvarer hver tone på tastaturet et tall, med midten C som 60. Heldigvis er tallene sekvensielle, så ved å bruke litt musikkteori kan vi generere de riktige intervallene som tilsvarer forskjellige nøkkelsignaturer.
Nøkkelsignaturene du bruker er opp til deg, men du kan også følge med på de 4 nøkkelsignaturene vi valgte. Senere vil vi legge til denne delen av koden slik at den kan bla gjennom nøkkelsignaturene på egen hånd, så vi valgte Major, Minor, Major 7ths og Minor 7. for å bidra til å bevare tonaliteten mens programmet går gjennom akkorder.
Når det gjelder det første bildet, er hoveddelen av denne delen bare matematikken som tilsvarer intervallene til disse tastene. Fra og med boksen til venstre merket '60', det er roten. Når roten endres, vil intervallene endres tilsvarende basert på gjeldende nøkkel. For eksempel, hvis dur -nøkkelen er valgt, er de tilsvarende intervallene 4 og 7. Deretter går du gjennom +0 -boksene, som vil legge det intervallet til roten, og gi deg de 3 notene for å lage et durakkord, fra hvilken som helst rot!
Trinn 15: Arpeggiating de akkordene
Se bildet ovenfor for koden til Arpeggiator. Tellerobjektet og de vedlagte 0, 1 og 2 objektboksene lar deg kontrollere retningen til arpeggiatoren fra opp, ned og opp ned.
Som vist ovenfor, blir intervallgeneratoren som vi nettopp satte sammen, dirigert til "int" -boksene, så når telleren og utvalgsboksene kjøres, går den gjennom akkordet fra den andre delen av koden. Dette går deretter gjennom "makenote" og "noteout" -boksen for endelig å gjøre disse MIDI -tallene til lyd!
Legg merke til objektet "port" fra Max 1 "som er koblet til boksen" noteout ", da dette er det som lar deg sende MIDI -informasjonen fra Max til DAW.
Metro -objektet bestemmer hvor lang tid det er mellom hvert intervall i millisekunder. Jeg har den som standard til 500 ms, og hvis du følger den vedlagte koden, kan du justere hvor mange millisekunder som er mellom hvert intervall ved hjelp av skyveobjektet
Trinn 16: 'Key Jumbler'
På bildet ovenfor er koden som lar programmet automatisk bla gjennom nøkkelsignaturene, slik at du kan lage spontane akkorder mens du velger forskjellige rotnoter.
"Velg" -objektet fungerer veldig likt som det i arpeggiatorseksjonen, men i stedet for en bestemt sekvens bruker vi urn -boksen for å tilfeldig bla gjennom tastene. Det som gjør "urne" -boksen annerledes enn "tilfeldig" er at den ikke vil gjenta et tall før det har gått gjennom hele området, noe som igjen gir oss en jevn fordeling av hopp mellom de forskjellige tastene.
Trinn 17: Få magien til å skje med autonom notatgenerering
Denne delen av koden er det som bringer denne oppdateringen til å kunne kjøre autonomt. Hvis vi refererer tilbake til akkordgeneratoren fra begynnelsen av denne delen, vil endring av roten automatisk fylle ut følgende intervaller, slik at vi kan bruke det til å generere unike akkordprogresjoner!
Hovedelementet her er 'itable', eller det store torget med de små blå rektanglene inni. Ved å feste dette til metroparameteren fra arpeggiatoren (boksen satt til 500), kan vi kontrollere det nøyaktige punktet i arpeggiatorsekvensen som akkordet endrer. Siden Arpeggiator kjøres i sett med 3, er størrelsen på itable satt til 12, for å utgjøre 4 sykluser, og området er satt til 2, hvor 2 fungerer som 'nei' og 1 som 'ja' for om eller ikke å endre akkord. Med sekvensen i hovedkoden, ville arpeggiatoren gå gjennom en triade, deretter ville en ny akkord bli generert og den ville løpe gjennom den triaden, og så videre.
De "tilfeldige" boksene bestemmer hvor langt den nye roten er fra originalen, for øyeblikket har jeg den konfigurert slik at den kan gå opp til en halv oktav opp eller ned.
I hele bildet av koden sett til venstre er 67 -boksen på bunnen festet til rotnummerboksen fra akkordgeneratoren, så uansett hvilket nummer ender med å bli generert fra itable og den vedlagte algoritmen vil gå til akkordet generator, og deretter inn i arpeggiatoren der den vil spille det nylig valgte akkordet. 67 -boksen over den som løper inn i +0 -boksen er festet til pianoobjektet som er vist ovenfor, som også er festet til rotnummerboksen fra akkordgeneratoren. Dette er slik at når algoritmen fra denne delen av koden genererer et tall, blir den også valgt på pianoet, så den vil utløse den noten for å spille.
I den endelige koden vises denne delen to ganger, med den eneste forskjellen den som kan brukes. Se den separat vedlagte tabellen for hvordan du lager det slik at et nytt akkord genereres etter at arpeggiatoren gjentar en sekvens 4 ganger.
Trinn 18: Etterbehandling
Du bør nå ha en fullt fungerende selvspillende arpeggiator! Imidlertid, hvis du vil legge til litt mer kontroll, lar koden på bildet ovenfor deg kontrollere varigheten av tonene som spilles, slik at du kan få lange, uttrukne notater som er perfekte for en langsom, droning, omgivende sløyfe.
Det er også festet et "stop" -objekt, noe som er spesielt nyttig når du kjører Max gjennom en DAW. I et tilfelle hvor Max begynner å ha problemer med å kommunisere MIDI -dataene, kan du overstyre dem og stoppe dem uten å stenge Max eller DAW helt.
Trinn 19: Pakk alt inn
Programmet er nå funksjonelt komplett, alt som gjenstår å gjøre er å organisere alt i presentasjonsmodus. Det er ikke en ende på alle løsningene på dette, det er helt avhengig av hva du vil kunne kontrollere fra et overflatenivå.
Mitt utvalg dekker det viktigste av alt jeg ønsker å kunne enkelt modulere, slik at du kan legge til det eller ta fra det som du finner passende.
Alt som gjenstår å gjøre nå er å bli kjent med disse to oppdateringene og begynne å lage musikk!
Nyt!
Anbefalt:
La Chaise Longue Interactive Avec Arduino Et Max/MSP .: 5 trinn
La Chaise Longue Interactive Avec Arduino Et Max/MSP .: L'idée est de créer une chaise longue interactive: un utilisateur qui s'assoit dans le transat déclenche une ambiance sonore and visuelle lui rappelant la mer, la plage … Nous utilisons donc un capteur de luminosité (placé sous le transat) stoler på
Generator: Fidget Spinner Generator 3 i 1: 3 trinn
Generator: Fidget Spinner Generator 3 i 1: fidget spinner generator 3 i 1 - nå kan du konfigurere din fidget spinner generator (tre valg) mikrogeneratoren bruker 3 neodymkuler og 3 neodymskiver (led og mindre spiraljern mindre) Finn oss PÅ INSTAGRAM og se en enkel elektrisk
Long Range Wifi PPM / MSP: 5 trinn
Long Range Wifi PPM / MSP: For en tid siden postet jeg Wifi PPM -kontrolleren min. Det fungerer ganske bra. Bare rekkevidden er litt kort. Jeg fant en løsning på dette problemet. ESP8266 støtter en modus som kalles ESPNOW. Denne modusen er mye mer lavt nivå. Det mister ikke forbindelsen, så
Generator - DC Generator Using Reed Switch: 3 trinn
Generator - DC Generator Using Reed Switch: Simple Dc generator En likestrøm (DC) generator er en elektrisk maskin som konverterer mekanisk energi til likestrøm.Viktig: En likestrømsgenerator (DC) kan brukes som likestrømsmotor uten konstruksjon Endringer
Self Excite en generator uten DC -generator, kondensatorbank eller batteri: 5 trinn (med bilder)
Self Excite en generator uten noen DC-generator, kondensatorbank eller batteri: Hei! Denne instruksen er for å konvertere en feltopphisset generator til en selvopphisset. Fordelen med dette trikset er at du ikke trenger å drive feltet til dette generator med et 12 volt batteri, men i stedet vil den starte seg selv slik at du