Les 8 - Synthese
Hieronder de presentatie van de les van vanmorgen over synthese in P5.js
Hieronder ook de code van de les:
//maak variabelen aan voor de audio-objecten:
let osc;
let env;
let lpf;
let delay;
function setup() {
createCanvas(800,600);
background(255);
//maak een nieuwe oscillator aan en bepaal de frequentie
osc = new p5.Oscillator('sawtooth');
osc.freq(432);
//maak een envelope aan en bepaal de adsr-waarden
env = new p5.Envelope();
env.setADSR(0.005,0.01,0.6,0.5);
//pas de envelope toe op de amplitude van de oscillator
osc.amp(env);
//maak een nieuw LowPass filter aan en kies de frequentie
lpf = new p5.LowPass();
lpf.freq(630);
//ontkoppel de oscillator aan de speakers
osc.disconnect();
//koppel de oscillator aan het filter
osc.connect(lpf);
//maak een nieuwe delay aan
delay = new p5.Delay();
//pas de delay toe op het filter
//met delaytijd(in seconden)
//feedback en filterfreq.
delay.process(lpf,0.5,0.8,5000);
}
function draw() {
//plaats hier de code die continue herhaald moet worden.
}
function keyPressed() {
if (key === ' ') {
//start de oscillator, trigger de attach van de envelope
osc.start();
env.triggerAttack();
}
}
function keyReleased() {
if (key === ' ') {
//trigger de release van de envelope
env.triggerRelease();
}
}