<script type="text/x-red" data-help-name="AudioEffectEnvelope"> <h3>Summary</h3> <div class=tooltipinfo> <p>Modify a signal with a DAHDSR (Delay Attack Hold Decay Sustain Release) envelope. </p> <p align=center><img src="img/dahdsr.png"></p> </div> <h3>Audio Connections</h3> <table class=doc align=center cellpadding=3> <tr class=top><th>Port</th><th>Purpose</th></tr> <tr class=odd><td align=center>In 0</td><td>Signal Input</td></tr> <tr class=odd><td align=center>Out 0</td><td>Signal with Envelope Applied</td></tr> </table> <h3>Functions</h3> <p class=func><span class=keyword>noteOn</span>();</p> <p class=desc>Begin the delay to attack, or the attack phase is delay is zero. </p> <p class=func><span class=keyword>noteOff</span>();</p> <p class=desc>Begin the release phase. </p> <p class=func><span class=keyword>delay</span>(milliseconds);</p> <p class=desc>Set the delay from noteOn to the attach phase. The default is zero, for no delay. </p> <p class=func><span class=keyword>attack</span>(milliseconds);</p> <p class=desc>Set the attack time. The default is 1.5 milliseconds. </p> <p class=func><span class=keyword>hold</span>(milliseconds);</p> <p class=desc>Set the hold time. The default is 0.5 milliseconds. </p> <p class=func><span class=keyword>decay</span>(milliseconds);</p> <p class=desc>Set the decay time. The default is 15 milliseconds. </p> <p class=func><span class=keyword>sustain</span>(level);</p> <p class=desc>Set the sustain level. The range is 0 to 1.0. The gain will be maintained at this level after the decay phase, until noteOff() is called. </p> <p class=func><span class=keyword>release</span>(milliseconds);</p> <p class=desc>Set the release time. The default is 30 millisecond. </p> <h3>Examples</h3> <p class=exam>File > Examples > Audio > Synthesis > PlaySynthMusic </p> <p class=exam>File > Examples > Audio > Synthesis > pulseWidth </p> <p class=exam>File > Examples > Audio > MemoryAndCpuUsage </p> <h3>Notes</h3> <p>To achieve the more common ADSR shape, simply set delay and hold to zero.</p> <p>The recommended range for each of the 5 timing inputs is 0 to 50 milliseconds. Up to 200 ms can be used, with somewhat reduced accuracy</p> </script> <script type="text/x-red" data-template-name="AudioEffectEnvelope"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> Name</label> <input type="text" id="node-input-name" placeholder="Name"> </div> </script>