1 Introductie in Max
Dit is de introductieopdracht in Max waarin je de user interface leert verkennen, wat kleine patches maakt om gevoel te krijgen voor hoe je programmeert in Max en luistert of de MIDI-output van Max werkt.
Deadline voor deze opdracht: 2 oktober
1. Data
Start Max9 en klik op: File -> New Patcher. Sla deze op als opdracht1.maxpat
in je map HKU -> jaar1 -> sysbas -> max.
a. Optellen
Maak een patch die twee getallen bij elkaar kan optellen. (Zie het patcher overzicht
onderaan voor uitleg van de vier toolbars)
- Druk
n
voor een new object of klik op Object (n) in de toolbar bovenin. Typ:number
en druk op enter. - Kopieer de numberbox 2 keer en maak ook een
+
object aan. - Sluit de kabels (patchcords) logisch aan van 3 number-boxes op het
[+]
object (outlets naar inlets, van boven naar beneden). - Lock de patch (cmd/ctrl+e of druk op het slot-icoontje links onderin) en pas getallen aan in de numberboxes om de berekeningen uit te voeren. Probeer eens
60 + 40
. - Wat valt op aan de inlets van het
+
object? Noteer je antwoord in een comment (sneltoetsc
) in de patch.
Tip: bekijk de lijst met veel gebruikte sneltoetsen hier!
b. Hot & cold inlet, Rechts naar Links
Valt het je op dat de berekening nu alleen uitgevoerd wordt als je de linker number
veranderd? (aan de hot/oranje
-inlet kant van het [+]
-object)
Om ervoor te zorgen dat je ook een antwoord krijgt bij het veranderen van de rechter number
gaan we een [trigger]
gebruiken.
De trigger zorgt ervoor dat we bij het veranderen van het rechter getal, niet alleen de waarde invullen in de cold/blauwe
-inlet, maar ook een sein afgeven (een bang
) naar de hot
-inlet, zodat het [+]
-object z'n functie uitvoert. De volgorde hierin is belangrijk, zodat de computer geen fouten maakt. Max werkt hierbij van rechts naar links.
- KopiΓ«er je gemaakte patch (selecteer alles en copy/paste), en voeg het trigger-object toe (new-object
n
-> typetrigger b i
oft b i
). - De trigger zorgt ervoor dat eerst de
i
(= integer, heel getal) wordt uitgestuurd (want het object output van rechts naar links), en dan deb
(= bang). - Stuur beide outlets van het trigger object naar een
[print]
om te zien in welke volgorde iets geprint wordt. - Vul het getal 10 in in de rechter
number
. - Open nu de max-console (
cmd/ctrl-m
) en controleer dat je het volgende ziet:print β’ 10, print β’ bang
- De
i
komt in de cold-inlet binnen en vult het getal in, deb
komt de hot-inlet binnen en voert daarmee de functie uit. - Nu kan je programmatje zowel links als rechts de berekening direct uitvoeren.
c. Meer berekeningen
Er zijn meer operators dan alleen het +
object.
- Maak dezelfde patch als bij b voor de operators:
-
,*
,/
,!/
en!-
, en beantwoord de volgende vragen: - Wat is het verschil tussen
-
en!-
? - Wat is het verschil tussen
/
en!/
? - Wat doet dus het toevoegen van
!
? -
Noteer je antwoorden in een comment (sneltoets
c
).
2. Timing
a. Metronoom
Om een simpele sequencer te kunnen bouwen hebben we een object nodig dat op een regelmatig tempo een event aanstuurt (in Max bang
's genoemd). Dit object is genaamd [metro]
.
- Maak de objecten:
[toggle]
,[metro 500]
en[print]
aan. - Sluit de
[toggle]
aan op de start/stop inlet van de metro (Tip: houd je cursor over de inlet en er komt een korte uitleg te staan). - Sluit de
[metro]
aan op het[print]
object. - Open de max-console (
cmd/ctrl + m
). In de Max Console kan je foutmeldingen en andere zaken zien zoals dingen die je print. Lock
de patch (slotje links onderin) en druk op detoggle
om de metro te starten.
Nu zie je elke 500 milliseconden het woord bang
verschijnen in de max-console.
b. MIDI-noot afspelen
Om noten te kunnen afspelen gaan we het eerste semester gebruik maken van MIDI
.
- Maak de patch na zoals op de afbeelding hieronder (Een soortgelijke patch heb je ook al nagemaakt voor het testen van Max na je installatie, voor uitgebreide instructies zie: Opdracht 0. Installatie onderdeel d).
- Het getal
64
zit in een[message]
(sneltoets 'm'). Een messagebox kan je gebruiken voor getallen/woorden/lijsten die niet hoeven te veranderen. Lock
je patch en klik op de(64)
, deze noot zou je nu moeten horen uit de speakers (check je volume als je niks hoort, vraag anders om hulp bij een docent of student-assistent).- De MIDI-noot wordt afgespeeld via de General MIDI Synthesizer in je computer.
c. Herhalende MIDI-noot
- Sluit nu de output van de
[metro]
uit 2a aan op dehot
-inlet van de messagebox met het getal64
. - Als je de metro nu aan zet hoor je om de 500 milliseconden MIDI-noot
64
(e). - Het
print
-object kan je altijd gebruiken om te zien wat er uit een object komt, bijvoorbeeld als je de output van de message(64)
koppelt aan de input vanprint
dat getal geprint zodra de metro een bang stuurt.
d. Gegenereerde MIDI-noot
- Ga nu experimenteren met een paar andere objecten waarmee je noten zou kunnen generen. Probeer bijvoorbeeld eens
[random]
,[drunk]
of[counter]
. - Bekijk de help-files van de objecten (met
alt+click
op het object) om te zien hoe de objecten werken en wat je kan invullen als argumenten.
Sla je patch op in de map: Documents > HKU > jaar1 > sysbas > max. Zorg dat je patch netjes en overzichtelijk is. Als je klaar bent met alles kun je je opdracht laten beoordelen bij een student-assistent of een docent, dit kan alleen tijdens de lesuren.