The Trigger CHOP starts an audio-style attack/decay/sustain/release (ADSR) envelope to all trigger pulses in the input channels. A trigger point occurs whenever the first input's channel increases across the trigger threshold value. Most commonly, an ADSR starts when the input goes from 0 to 1.
The envelope consists of six major sections: delay, attack, peak, decay, sustain and release.
From the time the threshold is reached and while the channel's value is above the release threshold, the envelope is in its sustain phase during which it will delay, attack, peak-hold, decay and then maintain its sustain value.
After the inputs drops below the release threshold, the envelope start its release phase and will drop to 0.
The peak and sustain levels can be set independently, but peak value can never be less than sustain.
If you don't connect an input to the Trigger CHOP and you set it to Time Slice off, a single full envelope is generated.
This CHOP works with both time-sliced inputs or with static input channels.
Note: See examples in OP Snippets.
Parameters - Trigger Page
Release = Trigger Threshold
threshold - If on, the trigger and release thresholds are the same value.
threshup - The trigger threshold (see above).
threshdown - The release threshold (see above).
retrigger - The amount of time after a trigger point that a new trigger may occur.
Re-Trigger Delay Unit
retriggerunit - ⊞ -
Min Trigger Length
mintrigger - The minimum amount of time that the trigger will remain active.
Min Trigger Length Unit
mintriggerunit - ⊞ -
triggeron - ⊞ - Determines whether a trigger occurs on an increasing slope or decreasing slope when passing the trigger threshold. A release will occur on the opposite slope.
- Increasing Values
- Decreasing Values
Parameters - Attack Page
delay - The amount of time to delay the envelope after the trigger point.
Delay Length Unit
delayunit - ⊞ -
attack - The amount of rise time from zero to the peak level.
Attack Length Unit
attackunit - ⊞ -
ashape - ⊞ - The shape of the attack ramp.
- Ease In
- Ease Out
- Ease in Ease out
peak - The peak level it will rise to in the attack phase.
peaklen - The length of time of the peak is held before going into the decay phase.
Peak Length Unit
peaklenunit - ⊞ -
Parameters - Sustain Page
decay - The amount of decay time from the peak level to the sustain level.
Decay Length Unit
decayunit - ⊞ -
dshape - ⊞ - The shape of the decay ramp.
- Ease In
- Ease Out
- Ease in Ease out
sustain - The sustain level. This level is held until a release point is reached (the input goes below the threshold).
Min Sustain Length
Min Sustain Length Unit
minsustainunit - ⊞ -
release - The amount of release time from the sustain level to zero.
Release Length Unit
releaseunit - ⊞ -
rshape - ⊞ - The shape of the release ramp.
- Ease In
- Ease Out
- Ease in Ease out
Parameters - Chan Page
channame - Name of channels output.
specifyrate - Allows you to specify the sample rate in the Sample Rate parameter below.
rate - Sets the sample rate of the output. Only used when Specify Rate is turned on.
complete - If on, a complete envelope is produced for each trigger point. If off, the envelope may be terminated at any time by a release point.
remainder - ⊞ - See Remainder Options. What to do with remaining samples at end of the interval:
- Discard Remainder
crop- Output interval = input interval.
- Make Output Longer
extend- Output longer if envelope unfinished.
- Mix Remainder with Beginning
mix- Add remainder to samples at the start.
Clamp at Peak Level
Parameters - Common Page
timeslice - Turning this on forces the channels to be "Time Sliced". A Time Slice is the time between the last cook frame and the current cook frame.
scope - To determine which channels get affected, some CHOPs use a Scope string on the Common page.
Sample Rate Match
srselect - ⊞ - Handle cases where multiple input CHOPs' sample rates are different. When Resampling occurs, the curves are interpolated according to the Interpolation Method Option, or "Linear" if the Interpolate Options are not available.
- Resample At First Input's Rate
first- Use rate of first input to resample others.
- Resample At Maximum Rate
max- Resample to the highest sample rate.
- Resample At Minimum Rate
min- Resample to the lowest sample rate.
- Error If Rates Differ
err- Doesn't accept conflicting sample rates.
exportmethod - ⊞ - This will determine how to connect the CHOP channel to the parameter. Refer to the Export article for more information.
- DAT Table by Index
datindex- Uses the docked DAT table and references the channel via the index of the channel in the CHOP.
- DAT Table by Name
datname- Uses the docked DAT table and references the channel via the name of the channel in the CHOP.
- Channel Name is Path:Parameter
autoname- The channel is the full destination of where to export to, such has
autoexportroot - This path points to the root node where all of the paths that exporting by Channel Name is Path:Parameter are relative to.
exporttable - The DAT used to hold the export information when using the DAT Table Export Methods (See above).
|• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •|
An which operate on (a series of numbers) which are used for animation, audio, mathematics, simulation, logic, UI construction, and many other applications.
A Time Slice is the time from the last cook frame to the current cook frame. In CHOPs it is the set of short channels that only contain the CHOP channels' samples between the last and the current cook frame.
is a set of numerous examples of TouchDesigner operators, which you access via the Help menu. These can be copied/pasted into your projects.
To pulse a parameter is to send it a signal from a CHOP or python or a mouse click that causes a new action to occur immediately. A pulse from a CHOP is typically a 0 to 1 to 0 signal in a channel, and a pulse via python is via a
.pulse() call on a pulse-type parameter, such as Reset in a .
samples-per-second of a CHOP. Each CHOP in your network has a sample rate, whether it is used or not. The overall timeline has a "frame rate", which is the number of animation frames per second, generally your monitor display frequency.
A parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator.
Exporting is the connection of CHOP channels to parameters of operators. The output of each exporting CHOP is one or more channels, active only while the is on. The current value of a channel can be exported to a parameter of any operator, overriding that parameter's value. See .
An that manipulates text strings: multi-line text or tables. Multi-line text is often a command , but can be any multi-line text. are rows and columns of cells, each containing a text string.
The location of an operator within the TouchDesigner environment, for example,
/geo1/torus1, a node called
torus1 in a component called
geo1. The path
/ is called . To refer instead to a filesystem folder, directory, disk file or
http: address, see .
Parameters in TouchDesigner are an operator's settings (numbers, menus, flags, strings, paths) which the user can alter. Parameters for any operator can be opened by right-clicking on the operator and selecting "Parameters..." A currently selected operator's parameters can be viewed in a by pressing the keyboard shortcut 'p'.
TouchDesigner is a hierarchy of components. "root" is the top-most network in the hierarchy. The is simply
/. A typical path is