{"id":3196,"date":"2026-01-15T17:03:32","date_gmt":"2026-01-15T16:03:32","guid":{"rendered":"https:\/\/www.manuelmontanari.com\/blog\/?p=3196"},"modified":"2026-01-15T17:03:34","modified_gmt":"2026-01-15T16:03:34","slug":"creare-un-semplice-synth-con-inviluppo-adsr-con-pure-data","status":"publish","type":"post","link":"https:\/\/www.manuelmontanari.com\/blog\/creare-un-semplice-synth-con-inviluppo-adsr-con-pure-data\/","title":{"rendered":"Creare un semplice synth con inviluppo ADSR con Pure Data"},"content":{"rendered":"\n<p>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&#8217;onda in tempo reale.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.manuelmontanari.com\/blog\/wp-content\/uploads\/2026\/01\/PD.png\"><img decoding=\"async\" loading=\"lazy\" width=\"570\" height=\"278\" src=\"https:\/\/www.manuelmontanari.com\/blog\/wp-content\/uploads\/2026\/01\/PD.png\" alt=\"\" class=\"wp-image-3198\" srcset=\"https:\/\/www.manuelmontanari.com\/blog\/wp-content\/uploads\/2026\/01\/PD.png 570w, https:\/\/www.manuelmontanari.com\/blog\/wp-content\/uploads\/2026\/01\/PD-300x146.png 300w, https:\/\/www.manuelmontanari.com\/blog\/wp-content\/uploads\/2026\/01\/PD-297x145.png 297w\" sizes=\"(max-width: 570px) 100vw, 570px\" \/><\/a><\/figure>\n\n\n\n<p><strong>AVVERTENZA IMPORTANTISSIMA: con Pure Data (e anche la sue versioni derivate, tra cui la migliore secondo me \u00e8 Purr Data) dovete sempre abbassare il volume delle casse prima di accendere il DSP per evitare danni all&#8217;udito, sempre e comunque anche dopo anni di esperienza, qualcosa pu\u00f2 sempre andare storto.<\/strong><\/p>\n\n\n\n<p><strong>1. L&#8217;Oscillatore Sinusoidale<\/strong><\/p>\n\n\n\n<p>Il primo passo \u00e8 generare il suono. In Pure Data, l&#8217;oggetto principale per una sinusoide \u00e8 osc~.<\/p>\n\n\n\n<p>1. Crea un nuovo patch (File -&gt; New).<\/p>\n\n\n\n<p>2. Premi Cmd+1 (o Ctrl+1) e digita osc~ 440.<\/p>\n\n\n\n<p>3. Aggiungi un Number Atom (Cmd+3) e collegalo all&#8217;ingresso di sinistra di osc~ per cambiare la frequenza in tempo reale.<\/p>\n\n\n\n<p><strong>2. L&#8217;Inviluppo ADSR con Slider<\/strong><\/p>\n\n\n\n<p>Un synth senza inviluppo emette un suono continuo e statico. L&#8217;inviluppo ADSR modella il volume nel tempo. Useremo degli slider per controllare i parametri.<\/p>\n\n\n\n<p>Creazione degli Slider<\/p>\n\n\n\n<p>Dallo strumento Put, inserisci 4 Horizontal Sliders (o hslider). Clicca col tasto destro su ognuno, vai in Properties e imposta i range:<\/p>\n\n\n\n<p>\u2022 Attack (ms): 0 &#8211; 2000<\/p>\n\n\n\n<p>\u2022 Decay (ms): 0 &#8211; 2000<\/p>\n\n\n\n<p>\u2022 Sustain (0-1): 0 &#8211; 1 (questo \u00e8 un livello, non un tempo)<\/p>\n\n\n\n<p>\u2022 Release (ms): 0 &#8211; 2000<\/p>\n\n\n\n<p>Logica dell&#8217;Inviluppo<\/p>\n\n\n\n<p>Per un controllo preciso e senza rumori (click), useremo l&#8217;oggetto vline~. vline~ riceve messaggi che descrivono rampe di volume.<\/p>\n\n\n\n<p>Per un&#8217;implementazione semplice, puoi usare l&#8217;oggetto grafico <strong>envgen<\/strong> (disponibile in Purr Data\/L2Ork), che permette di disegnare l&#8217;inviluppo o controllarlo via messaggi. Se preferisci la via classica, usa pack e vline~ per inviare i valori di Attack e Release.<\/p>\n\n\n\n<p><strong>3. Il Mixer (VCA) e l&#8217;Uscita Audio<\/strong><\/p>\n\n\n\n<p>Dobbiamo moltiplicare il segnale dell&#8217;oscillatore per l&#8217;inviluppo.<\/p>\n\n\n\n<p>1. Crea un oggetto *~ (moltiplicatore di segnale).<\/p>\n\n\n\n<p>2. Collega l&#8217;uscita di osc~ al primo ingresso di *~.<\/p>\n\n\n\n<p>3. Collega l&#8217;uscita del tuo ADSR (vline~) al secondo ingresso di *~.<\/p>\n\n\n\n<p>4. Per sicurezza, aggiungi un oggetto clip~ -1 1 prima dell&#8217;uscita per evitare distorsioni dannose.<\/p>\n\n\n\n<p>5. Infine, collega tutto a dac~ (Digital to Analog Converter) per inviare il suono alle casse.<\/p>\n\n\n\n<p>Screenshot 2: Catena di sintesi [osc~] -&gt; [*~] -&gt; [clip~ -1 1] -&gt; [dac~] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^ &nbsp; &nbsp; &nbsp; [vline~ (ADSR)]<\/p>\n\n\n\n<p><strong>4. Visualizzare l&#8217;onda: Lo Scope<\/strong><\/p>\n\n\n\n<p>Per vedere l&#8217;onda sinusoidale, useremo un Array come oscilloscopio.<\/p>\n\n\n\n<p>1. Vai su Put -&gt; Array. Chiamalo &#8220;scope&#8221; e imposta la dimensione a 441 punti.<\/p>\n\n\n\n<p>2. Usa l&#8217;oggetto tabwrite~ scope.<\/p>\n\n\n\n<p>3. Crea un metro 30 collegato a un bang per aggiornare la visualizzazione 30 volte al secondo.<\/p>\n\n\n\n<p>4. Collega l&#8217;uscita del tuo synth (*~) all&#8217;ingresso di tabwrite~ scope.<\/p>\n\n\n\n<p><strong>5. Attivazione<\/strong><\/p>\n\n\n\n<p>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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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&#8217;onda in tempo reale. AVVERTENZA IMPORTANTISSIMA: con Pure Data (e anche la sue versioni derivate, tra cui la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3198,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[585],"tags":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/www.manuelmontanari.com\/blog\/wp-content\/uploads\/2026\/01\/PD.png","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/posts\/3196"}],"collection":[{"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/comments?post=3196"}],"version-history":[{"count":1,"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/posts\/3196\/revisions"}],"predecessor-version":[{"id":3199,"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/posts\/3196\/revisions\/3199"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/media\/3198"}],"wp:attachment":[{"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/media?parent=3196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/categories?post=3196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manuelmontanari.com\/blog\/wp-json\/wp\/v2\/tags?post=3196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}