# Simple ADSR Patch

**URL:** <https://forum.critterandguitari.com/t/simple-adsr-patch/140>\
**Category:** Organelle\
**Created:** [February 14, 2016, 7:50am UTC](https://forum.critterandguitari.com/t/simple-adsr-patch/140 "2016-02-14T07:50:44Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![joshuaguild](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.critterandguitari.com/joshuaguild/32/73_2.png) [@joshuaguild](https://forum.critterandguitari.com/u/joshuaguild)\
**Post date:** [February 14, 2016, 7:50am UTC](https://forum.critterandguitari.com/t/simple-adsr-patch/140/1 "2016-02-14T07:50:44Z")

</div>

Hi guys,

247 reporting in.

I made a simple, single oscillator ADSR patch using C&G’s and this [site](http://libremusicproduction.com/tutorials/creating-simple-synthesizer-pure-data-%E2%80%93-part-i) as a template. It’s pretty basic, just maps the ADSR envelop to the knobs. I literally had never looked at pd before today so I think this is a testament to how easy it is to get rolling and understand the concepts.

There are still a few TO DOs like making the display output ON/OFF for sustain and having the aux button hop through octaves but I was too excited to share to finish those up tonight 🙂

Feel free to critique or add on! Thanks!

[http://patchstorage.com/simple-adsr/](http://patchstorage.com/simple-adsr/)

---

<div class="post-metadata">

**Author:** ![joshuaguild](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.critterandguitari.com/joshuaguild/32/73_2.png) [@joshuaguild](https://forum.critterandguitari.com/u/joshuaguild)\
**Post date:** [February 14, 2016, 3:07pm UTC](https://forum.critterandguitari.com/t/simple-adsr-patch/140/2 "2016-02-14T15:07:22Z")

</div>

Added the patch link since I was finally able to upload it, have fun!

---

<div class="post-metadata">

**Author:** ![hellzapop](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.critterandguitari.com/hellzapop/32/74_2.png) [@hellzapop](https://forum.critterandguitari.com/u/hellzapop)\
**Post date:** [February 14, 2016, 4:37pm UTC](https://forum.critterandguitari.com/t/simple-adsr-patch/140/3 "2016-02-14T16:37:00Z")

</div>

Hey it’s super!  
thanks!

---

<div class="post-metadata">

**Author:** ![spoitras](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.critterandguitari.com/spoitras/32/701_2.png) [@spoitras](https://forum.critterandguitari.com/u/spoitras)\
**Post date:** [February 15, 2016, 1:53am UTC](https://forum.critterandguitari.com/t/simple-adsr-patch/140/4 "2016-02-15T01:53:17Z")

</div>

Hi,  
Good on you for diving into Pd! Isn’t great?

You should consider using the vline~ object instead of line~ since the former is optimized for high precision audio ramps. (Ramps may start and stop between samples, with interpolation as required.)

You might want to have a look at the c\_adsr.pd patch in rjlib for a different implementation: [https://github.com/rjdj/rjlib/blob/master/rj/c\_adsr.pd](https://github.com/rjdj/rjlib/blob/master/rj/c_adsr.pd)

Or the FLOSS manual: [http://en.flossmanuals.net/pure-data/ch028\_envelope-generator/](http://en.flossmanuals.net/pure-data/ch028_envelope-generator/)

---

<div class="post-metadata">

**Author:** ![joshuaguild](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.critterandguitari.com/joshuaguild/32/73_2.png) [@joshuaguild](https://forum.critterandguitari.com/u/joshuaguild)\
**Post date:** [February 15, 2016, 3:10am UTC](https://forum.critterandguitari.com/t/simple-adsr-patch/140/5 "2016-02-15T03:10:08Z")

</div>

Yeah, so far I’m digging it!

Thanks for the links, I’ll be sure to check them out.

When it comes to coding or anything like this I tend to jump in and hack/cobble my way through it til something works. Ha.

---

<div class="post-metadata">

**Author:** ![spoitras](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.critterandguitari.com/spoitras/32/701_2.png) [@spoitras](https://forum.critterandguitari.com/u/spoitras)\
**Post date:** [February 15, 2016, 3:34am UTC](https://forum.critterandguitari.com/t/simple-adsr-patch/140/6 "2016-02-15T03:34:34Z")

</div>

Nothing wrong with that; I also like to look at how others solve similar problems.

---

<div class="post-metadata">

**Author:** ![Kelora](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.critterandguitari.com/kelora/32/5955_2.png) [@Kelora](https://forum.critterandguitari.com/u/Kelora)\
**Post date:** [March 28, 2026, 1:52pm UTC](https://forum.critterandguitari.com/t/simple-adsr-patch/140/7 "2026-03-28T13:52:38Z")

</div>

Do you think it would be possible to add this patch to basic sampler so the parameters on basic sampler are knobs 1-4 controlling ADSR?
