[PD] Simple Subtractive Synth filter envelope

Ingo ingo at miamiwave.com
Tue Nov 23 07:32:48 CET 2010


Here's what I would do based on your example. Of course there are many
options of using envelope objects.
I would also suggest to use something else than [phasor~] because of
aliasing problems.

Ingo


________________________________________
Von: pd-list-bounces at iem.at [mailto:pd-list-bounces at iem.at] Im Auftrag von
Andrew Faraday
Gesendet: Montag, 22. November 2010 23:36
An: pimassat at gmail.com; samueldavidrowe at hotmail.co.uk
Cc: pd-list at iem.at
Betreff: Re: [PD] Simple Subtractive Synth filter envelope

hello samuel

[vcf~] is probably the way to go.

you can also cheat a little using [envgen] which is a graphic envelope
generator, currently set between 0 and 1. The documentation isn't perfect,
but these are the messages you need to know.

[0 50 1 50 ( <--- slightly different syntax from [line] or [line~], it goes,
target (first one's instant), gap, target, gap etc.

[duration 5000( < --- changes the duration of your envelope without changing
the shape.

a bang outputs the messages for [line] or [line~] or [vline~].

you can also draw your envelope manually.


This is useful if you don't want to spend much time on sorting out your
envelope generator. Oh, and the 0 to 1 problem. In audio you'll have to do
some arithmetic, but if you use a signal line you can use [range 0 1 X X]
replacing the x's with the upper and lower limit you want for your filters. 

Hope this helps

Andrew

P.S. to convert the audio 0 - 1 to a range you want, use 

[line~]
|
[*~ (the size of your range)]
|
[+~ (the lower limit of your range)]



________________________________________
Date: Mon, 22 Nov 2010 23:10:47 +0100
From: pimassat at gmail.com
To: samueldavidrowe at hotmail.co.uk
CC: pd-list at iem.at
Subject: Re: [PD] Simple Subtractive Synth filter envelope

Would this do? 

You should be aware that there is a difference between "message" and "audio"
inlets (different color). The sound may be very diffrent depending on the
type of inlet an audio object has if you want to change a parameter
dynamically. This is particularly relevant for filters. Check the difference
between [bp~] and [vcf~]. 

Pierre
2010/11/22 samuel rowe <samueldavidrowe at hotmail.co.uk>
Hi

I'm relatively new to PD, but I've been working with hardware synthesizers
for years now, and I've used SynC to build synths on my computer, and I'm
doing an Audio Technology degree, so I'm not clueless on the subject. 
However, I'm trying to build a simple subtractive synth where I press a
PutBang which triggers an envelope generator with ADSR to alter the filter
cutoff, and I just can't work out how to do it. No-one at my university
program in pd or max, so I have had to search the internet for help. I've
read these two pages

http://obiwannabe.co.uk/html/music/6SS/six-simple-synthesisers.html
http://en.flossmanuals.net/PureData/SimpleSynth

and whilst the vline object on the flossmanuals site is fine when altering
the envelope of an overtone in an additive synth, the output will not feed
into the argument for a filter cutoff value. I can't even get the "attack
decay" generator on the first site to work, let alone figure out how to
alter it's seemingly inefficient design to allow sustain and release.

I know this is quite trivial compared to some of the things that get posted
in the mailing list, I would really appreciate it if anyone could help me,
or point me in the right direction. I've spent too many nights scouring the
internet and trying to work it out for myself, but I've simply hit a brick
wall.

Thank you in advance

Samuel

p.s. this is the text for the file i have been working on, it's a little bit
messy and doesn't seem to work properly. BE CAREFUL, IT MAKES A THUMP WHEN
OPENED, TURN OFF "COMPUTE AUDIO"

#N canvas 366 35 610 629 10;
#X obj 106 485 dac~;
#X obj 94 115 phasor~;
#X floatatom 104 77 5 0 0 0 - - -;
#X obj 231 154 bng 15 250 50 0 empty empty
hit_to_trigger_envelope_and_make_sound
17 7 0 10 -262144 -1 -1;
#X obj 152 116 phasor~;
#X obj 109 175 +~;
#X obj 151 140 -~ 0.5;
#X obj 96 140 -~ 0.5;
#X obj 167 96 *~;
#X floatatom 182 30 5 -25 25 1 osc2_detune - -;
#X obj 182 75 +~ 1;
#X obj 181 52 /~ 10000;
#X obj 207 258 del;
#X obj 200 321 0 \$1;
#X obj 273 324 1 \$1;
#X obj 235 357 line;
#X floatatom 331 175 5 0 0 1 attack_value? - -;
#X floatatom 337 228 5 0 0 1 decay_value? - -;
#X obj 110 376 lop~ 3000;
#X obj 110 403 lop~ 3000;
#X obj 110 427 lop~ 3000;
#X obj 110 451 lop~ 3000;
#X obj 214 203 t b b;
#X obj 254 196 t f f;
#X obj 206 288 f 50;
#X obj 249 287 f 50;
#X obj 217 391 + 20;
#X connect 1 0 7 0;
#X connect 2 0 1 0;
#X connect 2 0 8 0;
#X connect 3 0 22 0;
#X connect 4 0 6 0;
#X connect 5 0 18 0;
#X connect 6 0 5 1;
#X connect 7 0 5 0;
#X connect 8 0 4 0;
#X connect 9 0 11 0;
#X connect 10 0 8 1;
#X connect 11 0 10 0;
#X connect 12 0 24 0;
#X connect 13 0 15 0;
#X connect 14 0 15 0;
#X connect 15 0 26 0;
#X connect 16 0 23 0;
#X connect 17 0 24 1;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 0 0;
#X connect 21 0 0 1;
#X connect 22 0 12 0;
#X connect 22 1 25 0;
#X connect 23 0 12 1;
#X connect 23 1 25 1;
#X connect 24 0 13 0;
#X connect 25 0 14 0;
#X connect 26 0 18 1;
#X connect 26 0 19 1;
#X connect 26 0 20 1;
#X connect 26 0 21 1;

_______________________________________________
Pd-list at iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list


_______________________________________________ Pd-list at iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: filter-env1.pd
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20101123/fd3dc02e/attachment.asc>


More information about the Pd-list mailing list