In questo post impareremo a costruire da zero un sintetizzatore a sintesi sottrattiva elementare. Utilizzeremo un oscillatore sinusoidale, un sistema di controllo ADSR (Attack, Decay, Sustain, Release) e un oscilloscopio per visualizzare l’onda in tempo reale.

AVVERTENZA IMPORTANTISSIMA: con Pure Data (e anche la sue versioni derivate, tra cui la migliore secondo me è Purr Data) dovete sempre abbassare il volume delle casse prima di accendere il DSP per evitare danni all’udito, sempre e comunque anche dopo anni di esperienza, qualcosa può sempre andare storto.
1. L’Oscillatore Sinusoidale
Il primo passo è generare il suono. In Pure Data, l’oggetto principale per una sinusoide è osc~.
1. Crea un nuovo patch (File -> New).
2. Premi Cmd+1 (o Ctrl+1) e digita osc~ 440.
3. Aggiungi un Number Atom (Cmd+3) e collegalo all’ingresso di sinistra di osc~ per cambiare la frequenza in tempo reale.
2. L’Inviluppo ADSR con Slider
Un synth senza inviluppo emette un suono continuo e statico. L’inviluppo ADSR modella il volume nel tempo. Useremo degli slider per controllare i parametri.
Creazione degli Slider
Dallo strumento Put, inserisci 4 Horizontal Sliders (o hslider). Clicca col tasto destro su ognuno, vai in Properties e imposta i range:
• Attack (ms): 0 – 2000
• Decay (ms): 0 – 2000
• Sustain (0-1): 0 – 1 (questo è un livello, non un tempo)
• Release (ms): 0 – 2000
Logica dell’Inviluppo
Per un controllo preciso e senza rumori (click), useremo l’oggetto vline~. vline~ riceve messaggi che descrivono rampe di volume.
Per un’implementazione semplice, puoi usare l’oggetto grafico envgen (disponibile in Purr Data/L2Ork), che permette di disegnare l’inviluppo o controllarlo via messaggi. Se preferisci la via classica, usa pack e vline~ per inviare i valori di Attack e Release.
3. Il Mixer (VCA) e l’Uscita Audio
Dobbiamo moltiplicare il segnale dell’oscillatore per l’inviluppo.
1. Crea un oggetto *~ (moltiplicatore di segnale).
2. Collega l’uscita di osc~ al primo ingresso di *~.
3. Collega l’uscita del tuo ADSR (vline~) al secondo ingresso di *~.
4. Per sicurezza, aggiungi un oggetto clip~ -1 1 prima dell’uscita per evitare distorsioni dannose.
5. Infine, collega tutto a dac~ (Digital to Analog Converter) per inviare il suono alle casse.
Screenshot 2: Catena di sintesi [osc~] -> [*~] -> [clip~ -1 1] -> [dac~] ^ [vline~ (ADSR)]
4. Visualizzare l’onda: Lo Scope
Per vedere l’onda sinusoidale, useremo un Array come oscilloscopio.
1. Vai su Put -> Array. Chiamalo “scope” e imposta la dimensione a 441 punti.
2. Usa l’oggetto tabwrite~ scope.
3. Crea un metro 30 collegato a un bang per aggiornare la visualizzazione 30 volte al secondo.
4. Collega l’uscita del tuo synth (*~) all’ingresso di tabwrite~ scope.
5. Attivazione
Ricordati che per sentire il suono devi attivare il DSP (Digital Signal Processing) nella console di Pure Data o tramite un messaggio pd dsp 1.
Pingback: levitra generic online
Pingback: antibiotics for tonsillitis
Pingback: lasix diuretic pill
Pingback: nexium 20 mg packets
Pingback: semaglutid uten resept
Pingback: semaglutid piller usa
Pingback: generic propecia online
Pingback: proscar walmart
Pingback: is minoxidil legit
Pingback: acyclovir vs valacyclovir in pregnancy