5 Algoritmisch Alarm


Voor deze opdracht ga je verder met de wekker die je gemaakt hebt bij Opdracht 3 en Opdracht 4. Je gaat algoritmische muziek maken voor de wekker gebaseerd op de huidige tijd. Vervolgens maak je een Graphical User Interface (GUI) voor je wekker.

Deadline voor alle opdrachten: 20 Oktober

Belangrijke objecten in deze opdracht:



Gebruik alt-click op het object om de help-file te openen. Bekijk ook de Max Keyboard Shortcuts en Max CheatSheet.

Plaats comments (sneltoets c) om voor jezelf en ons duidelijk te maken dat je snapt hoe iets werkt.

Maak je patch netjes en overzichtelijk voordat je hem laat aftekenen!



a. Seconde als midinoot

In Opdracht 3 zorgde je bij deel c dat er om de 100 ms een midinoot klinkt met de midi-module zodra de wekker af gaat.

  1. Gebruik dit stuk, maar verander het tijdinterval naar 250 ms,
  2. Zorg dat de midinoot bepaald wordt met de volgende formule:

noot = huidige seconde + 48 (midi C1)

  1. Elke seconde klinkt de noot dus 4x, stijgend met halve tonen.

Mogelijk handige objecten: [int], [+], [makenote], [noteout]

b. Off-beat basnoot

  1. Zorg nu dat er een tweede noot speelt, precies tussen de andere midinoten van opdracht a (als off-beat).
  2. Deze midinoot wordt bepaald met de volgende formule:

basnoot = huidige minuut + 36 (midi C0)

Mogelijk handige objecten: [delay], [pipe]

(cijfer: 6)

c. Binnen een octaaf

De noten komen nu flink hoog uit: want 48 + 59 = midinoot 107 (B6).

d. Ritmisch algoritme

Maak een toevoeging aan de seconden-stem. Deze zorgt ervoor dat de noten alleen gespeeld worden als de huidige seconde geheel deelbaar is door 3.

Objecten die je hier voor nodig zult hebben zijn: [%], [==], [gate].

(cijfer: 7)

e. The looks

Maak een Graphical User Interface (GUI) voor je wekker in Presentation Mode

  1. Laat alleen de nodige informatie zichtbaar zijn (denk aan instellen van de tijd, weergave van de tijd, aan/uit knop, snooze-knop).
  2. Zorg dat je patch opstart in Presentation Mode door dat in te stellen in de Patcher Inspector (shift + cmd/ctrl + i)
  3. Zorg dat bij het opstarten alle initiΓ«le waardes goed ingesteld zijn door gebruik te maken van [loadbang] en/of [loadmess] objecten.
  4. Je kunt zo ver gaan als je zelf wilt met je user-interface. Geef bijvoorbeeld de tijd op een andere manier weer dan met de number-boxes. Kijk eens naar objecten als [slider], [dial], [multislider], [combine], [comment]. En andere objecten voor je interface als [panel], [fpic], [pictctrl], [pictslider].

(cijfer: +1)


UITDAGING (cijfer: 9, 10, 10+ met eeuwige waardering!)

Ben je klaar met alle bovenstaande opdrachten? Kijk eens naar een of meer van deze uitdagingen om je patch mee uit te breiden:

  1. Maak een user-interface object waarmee je BPM omrekend naar een milliseconden interval. Zorg dat je hiermee het tempo van de noten aan kunt sturen. Houd er rekening mee dat [delay] of [pipe] moet meeschalen met het tijd-interval van de metro.

  2. Bouw verder aan deze algoritmische compositie door het notenmateriaal interessanter te maken. Je kunt bijvoorbeeld afstappen van het chromatisch afspelen van de noten maar ze mappen aan een toonladder. Of alleen maar bepaalde noten uit een lijst kiezen op basis van de seconden. Je kunt akkoorden gaan toevoegen.

  3. Voeg willekeurigheid toe aan de gekozen noten, waarbij de willekeur ook bepaald wordt door de tijd op een bepaalde manier. Kijk eens naar objecten [random], [drunk], [urn], [decide]. Dit zijn allemaal random-number generators en hebben allemaal specifieke functies.

  4. Maak naast de melodie het ritme interessanter. Kijk nog eens naar [onebang] en [%] en gebruik deze om bijvoorbeeld variatie aan de ritmes toe te voegen. Of kijk eens hoe je [drunk] kunt gebruiken om het tempo te moduleren voor een drunk-drummer. Of speel ritmes af door een lijst van 1'en en 0'en te maken en dat af te lopen.

  5. Bouw verder met de bovenstaande toevoegingen! GA LOS!