Cycle lengths below a certain threshold (depending on the overall length of the state) generate frequencies in the auditory range. The choice of cycle lengths and paths generates sounds that vary between single-timbre to multi-voiced texture, between dense and still, to thin and quickly moving.
The grammar for waveform specification and transformation is conceptually simple. The state of a waveform is defined as a sequence of segments. Each segment has at least two variables: duration (length) and amplitude (height). (Other segment types, having more variables, can also be defined, see [4, 5].) The state is iterated until the desired goal is reached. Upon each iteration, each variable changes by its specified amount.
The amount by which a variable changes determines its cycle length: the number of iterations after which a variable returns to its starting value. Each variable for every segment can be given a distinct cycle length, and there can be up to 64 segments in a state. The cycle length can be relatively long (e.g., 600 iterations), or short (e.g., 3 iterations).
When a variable's cycle length is short, its periodicity generates audible frequencies. These audible frequencies are in addition to the base frequency, which is the sum of segment durations for a particular state. The choice of what cycle length for which variable, and the number of segments within a state, determines the resulting sound and its behavior.
In contradistinction to wigout, TrikTraks is a program that allows the variables (described above) to be given a unique path that determines their changing magnitude over time. Each path can be specified as: 1) a sine wave; 2) a triangle wave; 3) a sawtooth wave; 4) a square wave; 5) a polynomial between degrees 3 and 10; 6) or as an amplitude modulated FM wave. Every variable of every segment can be given a path that is independent of all other paths. Upon each iteration of the sequence of segments, each variable of every element changes its magnitude as determined by its path of transformation.