2 Subtractive Synth
Voor deze opdracht bouw je een Subtractive Synth. Een spectraal rijk geluid wordt gefilterd om de klankkleur te bewerken. Je gebruikt een sawtooth of squarewave-oscillator in combinatie met een lowpass-filter. Daarnaast ga je een ADSR gebruiken om met note-on en note-off messages te kunnen werken. Ook bouw je een LFO om de cutoff-frequency van het filter te moduleren.
Deadline: 12 maart
Belangrijke objecten in deze opdracht:
Belangrijk:
Gebruik de help-files (alt-click). Bekijk ook de Max Keyboard Shortcuts en Max CheatSheet.
Plaats comments om duidelijk te maken dat je snapt hoe iets werkt.
Maak je patch netjes en overzichtelijk voordat je hem laat beoordelen!
a. Saw Synth & ADSR
We beginnen met een variatie op de Simple Synth uit opdracht 1.
- Gebruik een
[saw~]oscillator die je speelt met een[kslider]via[mtof]. - Laat een envelope genereren met
[adsr~], gebruik voor attack5ms, decay100ms, sustain0.5en release500ms. - De amplitude van de ADSR moet worden aangestuurd met de velocity van de kslider. Gebruik een waarde tussen
0.en1.. - Maak 4
[live.dial]of[live.slider]-objecten waarmee je de parameters van de ADSR kunt instellen. - Stel de
[kslider]in de inspector in optouchscreen, zodat je note-on en note-off messages kan sturen. (Of gebruik een extern midi-keyboard met[notein]of vanuit een m4l-device.)
Let op:
- Attack, Decay en Release zijn in milliseconden. Maak daarvoor dials met een range van 0 tot 1000 (int of float).
- Sustain is een amplitude-ratio. Maak daarvoor een dial met een range van 0. tot 1. (floating-point).
Objecten: [kslider], [mtof], [adsr~], [saw~], [*~], [live.dial], [/], [gain~], [ezdac~]/[plugout~]

b. Lowpass Filter
- Voeg een lowpass-filter toe aan de output van je synth (vรณรณr de gain-slider). Gebruik
[svf~]met de lowpass output. - Stuur het filter aan met 2
[live.dial]'s (pas de ranges en namen aan in de inspector). De parameters van het filter zijn:- de cutoff-frequentie (0Hz tot 11kHz) en
- de resonantie (0. tot 1.).
Objecten: [svf~], [live.dial]
* SVF staat voor State Variable Filter. Dit filter heeft zowel lowpass, highpass, bandpass en notch output. Het is voldoende om te weten hoe je het toepast, maar zoek vooral op internet als je wilt weten hoe het werkt.
c. LFO
Maak nu een LFO (Low Frequency Oscillator) die de cutoff-frequentie van het [svf~]-filter moduleert.
- Gebruik de amplitude van een
[cycle~ 1]als basis. - Vermenigvuldig deze met
300op signal rate ([*~]) zodat de amplitude van-300tot300gaat. - Zet de frequentie output van de cutoff (
[live.dial]) om naar een signaal (met[sig~]) en tel dat op bij het modulatie signaal. Dit signaal zal je nooit gaan beluisteren (veels te hard en DC-offset), maar gebruik je om de cutoff in het filter te controleren/moduleren. - Zorg ervoor dat je de volgende parameters van de LFO met dials kunt aansturen:
- LFO-Frequency (0 tot 20Hz) bij de
[cycle~] - Depth (0 tot 1000Hz) bij de
[*~] - Offset (cutoff) (0 tot 11kHz) bij de
[+~]
- LFO-Frequency (0 tot 20Hz) bij de
Objecten: [cycle~], [*~], [+~], [live.dial], [scale~]
(voldoende)
Nog een tip: Gebruik een [number~] en [live.scope~] om de LFO waardes te zien. In de inspector van de scope kan je de low en high range instellen naar 0 tot 11000.
d. Multiple Oscillators
Breid je synth nu uit met extra oscillators.
- Maak een extra
[saw~]of[rect~]waarvan de frequentie nรฉt iets meer dan een octaaf hoger is (door bijvoorbeeld de grondtoon te vermenigvuldigen met[* 2.01]). Maak de detuning-factor ook variabel met een dial of slider en verzin een zinnige range met[scale]. - Maak ook een extra
[noise~]of[pink~]die je optelt bij de andere oscillators. - Zorg dat je het volume van de extra saw~ en noise~ zelf kan instellen (met bijvoorbeeld
[*~]en[live.dial]of[gain~]) - Zorg dat als alledrie de oscillatoren aan staan, het totaal volume niet buiten
-1en1komt, dus normaliseren is belangrijk! Met een berekening kan dit verschil in volume gecompenseerd worden (zodat het geheel 3x zachter wordt).
Tips : [saw~], [noise~], [* 0.], [/~]/[*~], [gain~], [live.dial]
(goed)
UITDAGING
(zeer goed)
-
Maak een kopie van je subtractive synth en maak daar een variatie op waarin Frequentie-Modulatie (FM) en Amplitude-Modulatie (AM) gebruikt wordt.
-
Gebruik een extra
adsr~ofline~om de cutoff-frequentie van het filter te moduleren bij het bespelen van de kslider en voeg een portamento/glide toe aan de synth. -
Koppel Javascript code aan je synth via OSC-berichten. Gebruik bijvoorbeeld XY locatie van de muis om frequency en filter aan te sturen van de synth. Verzin wat interessante mappings!
- Probeer je synth polyfoon te maken. Bekijk eens de help-files van
[poly]en[poly~].
