|
|
DH_EnvSeg
A modular building block that generates one
segment of an envelope, and links with other DH_EnvSeg modules to create
multi-stage envelope generators.
 Inputs:
Gate In - Starts generation of this segment of the envelope. Triggered on
rise from negative or 0 to positive.
Start Level - The starting level of this segment of the envelope.
End Level - The ending level of this segment of the envelope.
Download
Duration - The rise, fall, or hold time of this segment of the
envelope. Range -10 to +10, same time cent scale as SE ADSR. Can be used with
DH_msToVoltage to allow input in
milliseconds..
Release Gate - Stops segment generation, whether or not the time period
specified in Duration has been completed. Triggered on fall from positive to
0.
Loop - Controls segment repetition. If positive when the segment reaches the
end of the Duration period, the Start Level is read again, and the segment
repeats, beginning at that level. If 0, the segment ends normally. A drop
from positive to 0 on the Release Gate input will interrupt the loop
immediately.
Response Curve - Profile of the segment's rise or fall. 4 types are
available:
Linear (constant rate of change)
Log (rapid change at first, then becomes slower)
Exp (slow change at first, then becomes more rapid)
S-curve (change starts slowly, becomes more rapid, then slows
down again)
Outputs:
Gate Out - Sends a pulse to trigger the Gate In of the next DH_EnvSeg
module when this one is done.
Level Out - Sends this segment's current level at the time it stops to the
next DH_EnvSeg module.
Envelope Out - Outputs the envelope signal for this segment of the envelope,
0 otherwise.
Combining Segment Outputs: Each DH_EnvSeg module generates its segment
of an envelope independently. As the designer of a custom envelope generator,
you need to take this into account. For example, if you simply add the
Envelope Outs of all of your segments together and the first segment in a
chain can be retriggered before the last segment completes, you will get the
sum of the 2 segment outputs, which is probably not what you want. Combining
the outputs with a DH_Max module would probably work
better in that situation. DH_EnvSeg is a flexible building block; how you use
it, together with other modules, to build your EGs is up to you.
Additional Documentation:
Detailed information about DH_EnvSeg may be found in the section
DH_EnvSeg FAQ. A sample
.se1 file has also been included in the distribution .zip file to illustrate
the use of DH_EnvSeg modules to build a custom multi-stage envelope.
Version History:
1.4.4 - February 8, 2006 - Bug fix release. Changes:
- Restored ability to respond to negative voltages for very short
durations.
- Fixed problem with duration not getting updated on input value of 0.
- Gate now responds to transition from negative to positive, as well as 0
to positive.
- Made some internal improvements to reduce CPU usage.
1.4.1 - 1.4.3 (unreleased betas - thanks to all beta testers!)
1.4 - August 29, 2005 - minor efficiency improvements Renamed "Rate" pin to
"Duration" for clarity. Updated to SDK2. Renamed DH_EnvSeg.
1.3.1 - October 8, 2003 - Fixed Gate Out output status bug. Fixed bug that
prevented v1.3 from going into sleep mode.
1.3 - September 22, 2003 - Added Loop pin, minor bug fixes.
1.2 - July 28, 2003 - Fixed timing problem that caused Envelope Out output to
have an incorrect value in certain trigger/release/re-trigger situations.
Thanks to Marc Veenhof for his help and patience in helping me to reproduce
this bug.
1.1 - June 18, 2003 - Fixed incorrect calculation of segment duration when
Rate input == 0. Thanks to Mark Andrews for finding this bug and bringing it
to my attention.
1.0.2 - March 30, 2003 - Initial Public Release as Env Seg
DH_EnvSeg © 2003-2006
David Haupt. All rights reserved.
Use of this module is subject
to the disclaimer and license agreement
that is included as part of the Help file. SE_Enabler
Modules and DH_BasicModulePak are trademarks of David Haupt.
SynthEdit
copyright © 2000-2004 Jeff McClintock. |
|