Let's start by creating the most simplistic synthesizer voice group as a example.
1) The MIDI Note Extractor does the job of separating the note information encoded into the MIDI stream in a sample accurate manner. More precisely, it decodes the MIDI Note On and MIDI Note Off messages. This is what it outputs:
(Please see the bidules section for more details on this bidule.) Once a MIDI note OFF is received, the frequency (a) and amplitude (b) it outputs stay at the same values they had when the note was still ON. This allows for the rest of the group to continue computing the release of the note. (If we don't do this, the note will stop abruptly, creating an unwanted glitch!) Because the Gate output falls from 1 to 0 as soon as the Note is OFF, that's where the ADSR comes in handy...
2)Following down, it's up to the ADSR to generate a normalized (between [0;1]) envelope signal (e) which is independent of the note amplitude (b) given by the extractor. It also generates the VERY important "activity gate" (f) signal that the Polyphonic Adapter will use to detect that the note has completely finished playing (release included) so that it can manage this instance of the voice to another note. In more detail, the activity gate output of the ADSR will be "1" or "on" from the start of the note, until its completion (the release), after which it will output "0" or OFF.
3)Next the "*" (Binary operator), multiplies the original "Note On" amplitude (b) with the current envelope value generated by the ADSR (e). If you recall, the ADSR generated a normalized gate, so in order to get the final amplitude we need to multiply both together.
4)Finally the Oscillator (sine wave by default), will output a nice waveform (h) that will have its frequency given by the MIDI Note Extractor, (a) and a smooth amplitude envelope generated by the results of the original amplitude multiplied by the envelope value at a certain point in time (g). If you look closely, you'll notice that the third input of the oscillator - phase reset - is also filled in by the Note Extractor's trigger output (d) so that each time a new Note is sent to the group, the oscillator's phase is set back to 0.