SYSBAS1B/MAX Practicum

2 - Additive Synthesis

Voor deze opdracht ga je de klank van een bel namaken met behulp van additieve synthese (het optellen van meerdere sinus tonen). Vervolgens bouw je je patch op zo een manier dat je de parameters van de bel, zoals attack, release, pitch en velocity kan beinvloeden met midi of gui objecten.

Belangrijke objecten in deze opdracht:



  • Help-file: Alt+Click een object
  • Max Shortcuts
  • Max Cheat Sheet
  • Plaats comments voor je eigen documentatie! (sneltoets "c")
  • Risset Bell ratios

    freq. ratioamp. ratiodur. ratio
    partial 10.560.0661.00
    partial 20.56 + 10.0440.9
    partial 30.920.0660.65
    partial 40.92 + 1.70.1180.55
    partial 51.190.1750.325
    partial 61.70.1090.35
    partial 72.00.0960.25
    partial 82.740.0870.2
    partial 93.00.0870.15
    partial 103.760.0660.1
    partial 114.070.0870.075

    from: "Computer Music: Synthesis, Composition and Performance”, Charles Dodge and Thomas A. Jerse, 1985, p. 105

    voorbeeld berekening:
    f[1] = 261.63 * 0.56, a = 1 * 0.066, t = 1000 * 1.0
    f[2] = 261.63 * 0.56 + 1, a = 1 * 0.044, t = 1000 * 0.9
    f[3] = 261.63 * 0.92, a = 1 * 0.066, t = 1000 * 0.65
    etc...

    a)

    In bovenstaande tabel zie je voor 11 partialen de ratios van de frequentie (f), amplitude (a) en duratie (t). Maak als eerste 1 partiaal. Deze bestaat uit een sinusgolf en een envelope ([cycle~]/[line~]). Ga als startpunt uit van een grondtoon van MIDI-noot 60 (C4), een duratie van 1000 ms en een MIDI-velocity van 100. Gebruik een [button] om de toon af te spelen. Gebruik [gain~] voor het master-volume en een [ezdac~] om je audio uit te sturen.

    Waardes in de frequentiekolom vermenigvuldig je met de frequentie van je grondtoon, amplituderatio is de amplitude van een partiaal in relatie tot de grootte van een ‘master’-amplitude, duratie is de lengte van de release van de envelope. Zie het rekenvoorbeeld!

    Tip: cycle~, line~, mtof, *~, message, button, gain~, ezdac~

    b)

    Maak de overige 10 partialen op dezelfde manier, elk met de goede ratios voor de frequentie, amplitude en duratie volgens de bovenstaande tabel. Gebruik 1 [button] om alle tonen in 1x te horen en gebruik MIDI-noot 60 (C4) als grondtoon van waaruit alle frequenties berekend worden.

    cijfer: 6

    c)

    Zorg ervoor dat de partialen bespeelbaar worden met de [kslider] of [notein] (extern midi-keyboard). De MIDI-pitch bepaalt dus de grondtoon (uiteraard vermenigvuldigd met de frequentie-ratios) en de MIDI-velocity bepaalt de amplitude.

    Tip: kslider, mtof, *, /

    cijfer: 7

    d)

    Voeg twee [slider]'s/[dial]'s (of 1 multislider) toe waarmee je de attack en release tijden kunt instellen van de klank. De attack tijden kunnen voor alle partialen hetzelfde zijn, maar de release tijden moeten naar ratio aangepast worden.

    Tip: slider, dial, multislider, scale, message, zl.reg, trigger

    cijfer: 8



    EXTRA


    1. Maak je klank realistischer door bijvoorbeeld ratio's toe te voegen voor de attack tijden (hoge tonen hebben veelal een korte attacktijd, terwijl lage klanken vaak wat later inkomen). Je kunt ook spelen met de ratio's van de frequenties om daar de klank mee te beïnvloeden. Je kunt ook proberen reflecties toe te voegen of een afstand parameter (hoe ver weg ben je van de bel-klok gelopen).

    2. Zet je bel-klank om naar een soundscape generator met extreem lange attack en release tijden en een algoritme dat bepaald welke toonhoogte bespeeld wordt in de tijd.

    3. Koppel de envelope van de partialen van elkaar los zodat je zelf kan bepalen wanneer welke partiaal aan of uit gaat in je soundscape generator.
    4. Gebruik software zoals Spear om een klank te analyseren en daar de ratios van toe te voegen aan je Additieve synth.
    5. Verzin een betere manier om snel ratios voor alle partialen in te kunnen vullen zonder alle objecten te hoeven aanpassen. Kijk eens naar: abstractions/subpatches, coll, dict, patcherargs.