Beat CHOP

From TouchDesigner 099 Wiki

Summary

The Beat CHOP generates a variety of ramps, pulses and counters that are timed to the beats per minute and the sync produced by the Beat Dialog or the beat Command.

  • You can generate a ramp every 1/4 1/2 1 2 4 8 32 beats.
  • You can generate ramps of any other length, like 12 beats per bar (ramp) and fractional beats like 3.33 beats per ramp.
  • You can generate a set of channels, where each channel is delayed relative to the prior channel. This is useful, for example, for moving eight objects delayed by one beat each.
  • There also is a counter of how many ramps it has generated.
  • The Count+Ramp type generates a continuously-rising ramp equal to the number of cycles since the start.

The Beat Dialog is used to manually tap the beat of a piece of music, and automatically continues the beats. The Beat CHOP converts these beats into a repeating ramp or pulse that continues to keep time with the music after the taps stop.

The Beat CHOP's timing is defined by the Component Time of the Reference Node. If the Reference Node parameter is left blank, then the time defined at the Beat CHOP's location is used.

See also: Timeline CHOP, Time COMP.

PythonIcon.png beatCHOP_Class

Parameters - Beat Page

Reference Node - This node is used to specify the time settings referenced by the Beat CHOP. The time is defined by the Time COMP found at timepath("reference_node")

Use Reference Time Slice - Turn on this checkbox to use the Time Slice used by the Reference Node.

Play Mode - Specifies the method used to playback the output.

  • Locked to Timeline - This mode locks the output to the local component Timeline. Scrubbing or jumping in the local time will update the output accordingly. When the local timeline loops the output is reset and starts over. The output will be the same for each pass through the local timeline. See also the Update Global parameter below which is available in this Play Mode.
  • Locked to Global - This mode locks the output to the root timeline(Global). Scrubbing or jumping in the root timeline(Global) will update the output accordingly. When the timeline loops the output is reset and starts over.
  • Local Sequential - This mode produces a continuous output regardless of the timeline position. See also the Update Global parameter below which is available in this Play Mode.

Shape - Ramp, Pulse, Sine, Count, Count+Ramp. The Count+Ramp is a continuously-rising ramp.

Period - Number of beats it takes to generate one cycle of ramp.

Multiples - The number of channels to create.

Shift Offset - Delays all channels by this amount. 0 = no change, .5 means 50% of one period later.

Shift Step - When set to 1, and Multiples is 5, each ramp channel is 1/5 cycle later than the previous channel. When set to .1, the delay is 1/50 cycle. This is a way to stagger the channels.

Random Offset - The amount that each ramp is randomly time-shifted relative to a perfect ramp.

Random Seed - Changing this generates a different set of random offsets.

Reset - This button restarts the ramps from zero. The ramp is also zero when the Beat CHOP's input is above 0.

Reset Condition - This menu determines how the Reset input triggers a reset of the channel(s).

  • Off to On - channels are reset when the Reset input goes off to on.
  • While On - channels are reset when the Reset input goes on. The channel will hold the reset value until the input turns off.
  • On to Off - channels are reset when the Reset input goes on to off.
  • While Off - channels are reset when the Reset input goes off. The channel will hold the reset value until the input turns on.

Reset Bar Value - Specifies which Bar the Beat CHOP will jump to when the Reset Condition is met. Beat values are derived from the fractional part of this value.

Wait After Reset - When using the While On Reset Condition, Wait After Reset will hold the channels at zero until the next bar is started, after which the output will continue. When Wait After Reset is off, the channels will restart output as soon as the reset condition is done.

Update Global - Any Beat CHOP can now be made a "global beat source" by turning Update Global. A reference Beat CHOP is created at /local/master_beat (if it doesn't already exist) and all Beat CHOPs can synchronize to this by turning on Update Global. This means you require exactly one master Beat CHOP per toe. You can turn off its 'Update Global' flag when desired. $MASTER_BEAT is set to whatever Beat CHOP has this option turned on.

Parameters - Output Page

Ramp - Outputs a 0-1 ramp each bar.

Pulse - Outputs a pulse each bar.

Sine - Outputs a sine wave each bar.

Count - Increases the count each bar.

Count+Ramp - A ramp that counts up until the bar is reset.

Bar - Output the current bar.

Beat - Output the current beat.

Sixteenths - Output the current sixteenths.

Ramp Bar - Outputs a 0-1 ramp each bar.

Ramp Beat - Outputs a 0-1 ramp each beat.

BPM - Outputs the current BPM.

Inputs

Input - Sending a non-zero pulse will reset the ramp to 0. This acts the same as the manual Reset button on the Beat Page (See above). This allows you to change the phase of the ramps coming from the Beat CHOP.

Standard Options and Local Variables

Any Beat CHOP can now be made master by turning on a new parameter called 'Update Global'.

This means you can use any source as a global beat source, not just a sequential beat.

This means you require exactly one master Beat CHOP per .toe. Thus, /local/master_beat (CHOP) is created if not found. You can turn off its 'Update Global' flag when desired. $MASTER_BEAT is set to whatever Beat CHOP has this option turned on.