Trigger CHOP

From TouchDesigner Documentation
Jump to: navigation, search


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.

For jittery inputs, if you don't want it to trigger until its input has been On for some period, see the OP Snippets for the Trigger CHOP, example "trigger after a time threshold", which uses the Count CHOP.

Note: See examples in OP Snippets.

See also: Timer CHOP, Count CHOP, Speed CHOP, Event CHOP


Parameters - Trigger Page

Release = Trigger Threshold threshold - If on, the trigger and release thresholds are the same value.  

Trigger Threshold threshup - The trigger threshold (see above).  

Release Threshold threshdown - The release threshold (see above).  

Re-Trigger Delay 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 -  

Trigger On 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 increase -
  • Decreasing Values decrease -

Trigger Pulse triggerpulse - Instantly trigger an envelope (regardless of input).  

Parameters - Attack Page

Delay Length delay - The amount of time to delay the envelope after the trigger point.  

Delay Length Unit delayunit -  

Attack Length attack - The amount of rise time from zero to the peak level.  

Attack Length Unit attackunit -  

Attack Shape ashape - - The shape of the attack ramp.

  • Linear linear -
  • Ease In easein -
  • Ease Out easeout -
  • Ease in Ease out halfcos -

Peak Level peak - The peak level it will rise to in the attack phase.  

Peak Length peaklen - The length of time of the peak is held before going into the decay phase.  

Peak Length Unit peaklenunit -  

Parameters - Sustain Page

Decay Length decay - The amount of decay time from the peak level to the sustain level.  

Decay Length Unit decayunit -  

Decay Shape dshape - - The shape of the decay ramp.

  • Linear linear -
  • Ease In easein -
  • Ease Out easeout -
  • Ease in Ease out halfcos -

Sustain Level sustain - The sustain level. This level is held until a release point is reached (the input goes below the threshold).  

Min Sustain Length minsustain -  

Min Sustain Length Unit minsustainunit -  

Release Length release - The amount of release time from the sustain level to zero.  

Release Length Unit releaseunit -  

Release Shape rshape - - The shape of the release ramp.

  • Linear linear -
  • Ease In easein -
  • Ease Out easeout -
  • Ease in Ease out halfcos -

Parameters - Chan Page

Channel Name channame - Name of channels output.  

Specify Rate specifyrate - Allows you to specify the sample rate in the Sample Rate parameter below.  

Sample Rate rate - Sets the sample rate of the output. Only used when Specify Rate is turned on.  

Complete Envelope 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 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.

Multi-Triggers Additive multitriggeradd - When triggering mulitple envelopes, add their values together.  

Clamp at Peak Level clamppeak - Clamp the additive effect of Multi-Triggers Additive at the level set in Peak Level parameter.  

Parameters - Common Page

Time Slice 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 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.

Export Method 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 geo1/transform1:tx.

Export Root autoexportroot - This path points to the root node where all of the paths that exporting by Channel Name is Path:Parameter are relative to.  

Export Table exporttable - The DAT used to hold the export information when using the DAT Table Export Methods (See above).  

Operator Inputs

  • Input 0 -

TouchDesigner Build:

Ableton Link • Analyze • Angle • Attribute • Audio Band EQ • Audio Device In • Audio Device Out • Audio Dynamics • Audio File In • Audio File Out • Audio Filter • Audio Movie • Audio NDI • Audio Oscillator • Audio Para EQ • Audio Play • Audio Render • Audio Spectrum • Audio Stream In • Experimental:Audio Stream In • Audio Stream Out • Beat • Bind • BlackTrax • Blend • Blob Track • Bullet Solver • Clip Blender • Clip • Clock • Composite • Constant • Copy • Count • CPlusPlus • Cross • Cycle • DAT to • Delay • Delete • DMX In • Experimental:DMX In • DMX Out • Envelope • EtherDream • Event • Expression • Extend • Fan • Feedback • File In • File Out • Filter • Experimental:Filter • Experimental:FreeD • Function • Gesture • Handle • Helios DAC • Hog • Hokuyo • Hold • Import Select • In • Info • Interpolate • Introduction To CHOPs id • Inverse Curve • Inverse Kin • Join • Joystick • Keyboard In • Keyframe • Kinect Azure • Kinect • Lag • Laser • Leap Motion • Leuze ROD4 • LFO • Limit • Logic • Lookup • LTC In • LTC Out • Math • Experimental:Math • Merge • MIDI In • MIDI In Map • MIDI Out • Mouse In • Mouse Out • NatNet In • Noise • Null • Object • Oculus Audio • Oculus Rift • OpenVR • OSC In • OSC Out • Out • Override • Panel • Pangolin • Parameter • Pattern • Perform • Experimental:Phaser • Pipe In • Pipe Out • PosiStageNet • Pulse • RealSense • Record • Rename • Render Pick • Reorder • Replace • Resample • S Curve • Scan • Script • Select • Sequencer • Serial • Shared Mem In • Shared Mem Out • Shift • Shuffle • Slope • SOP to • Sort • Speed • Splice • Spring • Stretch • Stype • Switch • Sync In • Sync Out • Tablet • Time Slice • Timeline • Timer • TOP to • Touch In • Touch Out • Trail • Transform • Transform XYZ • Trigger • Trim • Warp • Wave • Experimental:WrnchAI • ZED

An Operator Family which operate on Channels (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.

OP Snippets 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 via python is via the .pulse() function on a pulse-type parameter, such as Reset in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in a channel.

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 CHOP Viewer is on. The current value of a channel can be exported to a parameter of any operator, overriding that parameter's value. See Parameter.

An Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a command Script, but can be any multi-line text. Tables 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 Root. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.

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 Network Editor by pressing the keyboard shortcut 'p'.

TouchDesigner is a hierarchy of components. "root" is the top-most network in the hierarchy. The Path is simply /. A typical path is /project1/moviein1.