accumulator, initValue, parameterObject
Description: For each evaluation, this Generator adds the result of the Generator ParameterObject to the stored cumulative numeric value; the initialization value argument initValue is the origin of the cumulative value, and is the first value returned.
Arguments: (1) name, (2) initValue, (3) parameterObject {Generator}
Sample Arguments: a, 0, (bg,rc,(1,3,4,7,-11))
basketFill, selectionString, parameterObject, valueCount
Description: Chooses values from a ParameterObject generated list of values. The number of values generated is determined by the valueCount integer. Valuse are generated only at initialization. Values are chosen from this list using the selector specified by the selectionString argument.
Arguments: (1) name, (2) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}, (3) parameterObject {source Generator}, (4) valueCount
Sample Arguments: bf, oc, (ru,0,1), 10
basketFillSelect, parameterObject, valueCount, parameterObject
Description: Chooses values from a ParameterObject generated list of values. The number of values generated is determined by the valueCount integer. Valuse are generated only at initialization. Values are choosen from the list with values within the unit interval produced by an embedded ParameterObject. Values that exceed the unit interval are limited within the unit interval.
Arguments: (1) name, (2) parameterObject {source Generator}, (3) valueCount, (4) parameterObject {selection Generator}
Sample Arguments: bfs, (ru,0,1), 10, (rb,0.2,0.2,0,1)
basketGen, selectionString, valueList
Description: Chooses values from a user-supplied list (valueList). Values can be strings or numbers. Values are chosen from this list using the selector specified by the selectionString argument.
Arguments: (1) name, (2) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}, (3) valueList
Sample Arguments: bg, rc, (0,0.25,0.25,1)
breakGraphFlat, stepString, edgeString, parameterObject, parameterObject, pointCount
Description: Provides a dynamic break-point function without interpolation. A list of (x,y) coordinate pairs is generated from two embedded Generator ParameterObjects. The number of generated pairs is determined by the count argument. A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) parameterObject {x point Generator}, (5) parameterObject {y point Generator}, (6) pointCount
Sample Arguments: bgf, e, l, (a,0,(bg,rp,(1,3,9))), (bg,rc,(0,0.25,0.5,0.75,1)), 60
breakGraphHalfCosine, stepString, edgeString, parameterObject, parameterObject, pointCount
Description: Provides a dynamic break-point function with half-cosine interpolation. A list of (x,y) coordinate pairs is generated from two embedded Generator ParameterObjects. The number of generated pairs is determined by the count argument. A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates. The exponent argument may be any positive or negative numeric value.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) parameterObject {x point Generator}, (5) parameterObject {y point Generator}, (6) pointCount
Sample Arguments: bghc, e, l, (a,0,(bg,rp,(1,3,9))), (bg,rc,(0,0.25,0.5,0.75,1)), 60
breakGraphLinear, stepString, edgeString, parameterObject, parameterObject, pointCount
Description: Provides a dynamic break-point function with linear interpolation. A list of (x,y) coordinate pairs is generated from two embedded Generator ParameterObjects. The number of generated pairs is determined by the count argument. A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) parameterObject {x point Generator}, (5) parameterObject {y point Generator}, (6) pointCount
Sample Arguments: bgl, e, l, (a,0,(bg,rp,(1,3,9))), (bg,rc,(0,0.25,0.5,0.75,1)), 60
breakGraphPower, stepString, edgeString, parameterObject, parameterObject, pointCount, exponent
Description: Provides a dynamic break-point function with exponential interpolation. A list of (x,y) coordinate pairs is generated from two embedded Generator ParameterObjects. The number of generated pairs is determined by the count argument. A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates. The exponent argument may be any positive or negative numeric value.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) parameterObject {x point Generator}, (5) parameterObject {y point Generator}, (6) pointCount, (7) exponent
Sample Arguments: bgp, e, l, (a,0,(bg,rp,(1,3,9))), (bg,rc,(0,0.25,0.5,0.75,1)), 60, -1.5
breakPointFlat, stepString, edgeString, pointList
Description: Provides a break-point function without interpolation from a list of (x,y) coordinate pairs (pointList). A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) pointList
Sample Arguments: bpf, e, l, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))
Example C-12. breakPointFlat Demonstration 1
breakPointFlat, event, loop, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))
breakPointHalfCosine, stepString, edgeString, pointList
Description: Provides a break-point function with half-cosine interpolation from a list of (x,y) coordinate pairs (pointList). A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) pointList
Sample Arguments: bphc, e, l, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))
Example C-15. breakPointHalfCosine Demonstration 1
breakPointHalfCosine, event, loop, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))
breakPointLinear, stepString, edgeString, pointList
Description: Provides a break-point function with linear interpolation from a list of (x,y) coordinate pairs (pointList). A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) pointList
Sample Arguments: bpl, e, l, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))
Example C-18. breakPointLinear Demonstration 1
breakPointLinear, event, loop, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))
breakPointPower, stepString, edgeString, pointList, exponent
Description: Provides a break-point function with exponential interpolation from a list of (x,y) coordinate pairs (pointList). A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates. The exponent argument may be any positive or negative numeric value.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) pointList, (5) exponent
Sample Arguments: bpp, e, l, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6)), -1.5
Example C-21. breakPointPower Demonstration 1
breakPointPower, event, loop, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6)), -1.5
basketSelect, valueList, parameterObject
Description: Chooses values from a user-supplied list (valueList). Values can be strings or numbers. Values are choosen from the list with values within the unit interval produced by an embedded ParameterObject. Values that exceed the unit interval are limited within the unit interval.
Arguments: (1) name, (2) valueList, (3) parameterObject {selection Generator}
Sample Arguments: bs, (1,2,3,4,5,6,7,8,9), (rb,0.2,0.2,(bpl,e,s,((0,0.4),(120,0))),(bpl,e,s,((0,0.6),(120,1))))
constant, value
Description: Return a constant string or numeric value.
Arguments: (1) name, (2) value
Sample Arguments: c, 0
constantFile, absoluteFilePath
Description: Given an absolute file path, a constant file path is returned as a string. Note: symbolic links (aliases or shortcuts) and home directory symbols (~) are expanded into complete paths.
Arguments: (1) name, (2) absoluteFilePath
Sample Arguments: cf,
cyclicGen, directionString, min, max, increment
Description: Cycles between static minimum (min) and maximum (max) values with a static increment value. Cycling direction and type is controlled by the directionString argument.
Arguments: (1) name, (2) directionString {'upDown', 'downUp', 'up', 'down'}, (3) min, (4) max, (5) increment
Sample Arguments: cg, ud, 0, 1, 0.13
caList, caSpec, parameterObject, parameterObject, tableExtractionString, selectionString
Description: Produces values from a one-dimensional cellular automata table. One dimensional cellular automata may be standard, totalistic, continuous, or float formats, and are defined with a caSpec string. The caSpec string may contain one or more CA parameters defined in key{value} pairs. All parameters not defined assume default values. Valid parameters include f (format), k, r, i (initialization), x (row width), y (number of steps), w (extracted width), c (extracted center), and s (initial step skip). Rule and mutation values may be provided by embedded Generator ParameterObjects. Values may be extracted into a list from the resulting table as defined by the tableFormatString. Values are chosen from this list using the selector specified by the selectionString argument.
Arguments: (1) name, (2) caSpec, (3) parameterObject {rule}, (4) parameterObject {mutation}, (5) tableExtractionString {'averageColumn', 'averageColumnActive', 'averageColumnIndex', 'averageColumnIndexActive', 'averageColumnIndexPassive', 'averageColumnPassive', 'averageRow', 'averageRowActive', 'averageRowIndex', 'averageRowIndexActive', 'averageRowIndexPassive', 'averageRowPassive', 'flatColumn', 'flatColumnActive', 'flatColumnIndex', 'flatColumnIndexActive', 'flatColumnIndexPassive', 'flatColumnPassive', 'flatColumnReflect', 'flatColumnReflectActive', 'flatColumnReflectIndex', 'flatColumnReflectIndexActive', 'flatColumnReflectIndexPassive', 'flatColumnReflectPassive', 'flatRow', 'flatRowActive', 'flatRowIndex', 'flatRowIndexActive', 'flatRowIndexPassive', 'flatRowPassive', 'flatRowReflect', 'flatRowReflectActive', 'flatRowReflectIndex', 'flatRowReflectIndexActive', 'flatRowReflectIndexPassive', 'flatRowReflectPassive', 'productColumn', 'productColumnActive', 'productColumnIndex', 'productColumnIndexActive', 'productColumnIndexPassive', 'productColumnPassive', 'productRow', 'productRowActive', 'productRowIndex', 'productRowIndexActive', 'productRowIndexPassive', 'productRowPassive', 'sumColumn', 'sumColumnActive', 'sumColumnIndex', 'sumColumnIndexActive', 'sumColumnIndexPassive', 'sumColumnPassive', 'sumRow', 'sumRowActive', 'sumRowIndex', 'sumRowIndexActive', 'sumRowIndexPassive', 'sumRowPassive'}, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: cl, f{f}i{c}x{81}y{120}, 0.25, 0.0005, sc, oc
caValue, caSpec, parameterObject, parameterObject, tableExtractionString, min, max, selectionString
Description: Produces values from a one-dimensional cellular automata table scaled within dynamic min and max values. One dimensional cellular automata may be standard, totalistic, continuous, or float formats, and are defined with a caSpec string. The caSpec string may contain one or more CA parameters defined in key{value} pairs. All parameters not defined assume default values. Valid parameters include f (format), k, r, i (initialization), x (row width), y (number of steps), w (extracted width), c (extracted center), and s (initial step skip). Rule and mutation values may be provided by embedded Generator ParameterObjects. Values may be extracted into a list from the resulting table as defined by the tableFormatString. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) caSpec, (3) parameterObject {rule}, (4) parameterObject {mutation}, (5) tableExtractionString {'averageColumn', 'averageColumnActive', 'averageColumnIndex', 'averageColumnIndexActive', 'averageColumnIndexPassive', 'averageColumnPassive', 'averageRow', 'averageRowActive', 'averageRowIndex', 'averageRowIndexActive', 'averageRowIndexPassive', 'averageRowPassive', 'flatColumn', 'flatColumnActive', 'flatColumnIndex', 'flatColumnIndexActive', 'flatColumnIndexPassive', 'flatColumnPassive', 'flatColumnReflect', 'flatColumnReflectActive', 'flatColumnReflectIndex', 'flatColumnReflectIndexActive', 'flatColumnReflectIndexPassive', 'flatColumnReflectPassive', 'flatRow', 'flatRowActive', 'flatRowIndex', 'flatRowIndexActive', 'flatRowIndexPassive', 'flatRowPassive', 'flatRowReflect', 'flatRowReflectActive', 'flatRowReflectIndex', 'flatRowReflectIndexActive', 'flatRowReflectIndexPassive', 'flatRowReflectPassive', 'productColumn', 'productColumnActive', 'productColumnIndex', 'productColumnIndexActive', 'productColumnIndexPassive', 'productColumnPassive', 'productRow', 'productRowActive', 'productRowIndex', 'productRowIndexActive', 'productRowIndexPassive', 'productRowPassive', 'sumColumn', 'sumColumnActive', 'sumColumnIndex', 'sumColumnIndexActive', 'sumColumnIndexPassive', 'sumColumnPassive', 'sumRow', 'sumRowActive', 'sumRowIndex', 'sumRowIndexActive', 'sumRowIndexPassive', 'sumRowPassive'}, (6) min, (7) max, (8) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: cv, f{s}, (c,110), (c,0), sr, 0, 1, oc
Example C-30. caValue Demonstration 1
caValue, f{s}k{2}r{1}i{center}x{91}y{135}w{91}c{0}s{0}, (constant, 110), (constant, 0), sumRow, (constant, 0), (constant, 1), orderedCyclic
directorySelect, directoryFilePath, fileExtension, selectionString
Description: Within a user-provided directory (directoryFilePath) and all sub-directories, this Generator finds all files named with a file extension that matches the fileExtension argument, and collects these complete file paths into a list. Values are chosen from this list using the selector specified by the selectionString argument. Note: the fileExtension argument string may not include a leading period (for example, use "aif", not ".aif"); symbolic links (aliases or shortcuts) and home directory symbols (~) are expanded into complete paths.
Arguments: (1) name, (2) directoryFilePath, (3) fileExtension, (4) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: ds, ., aif, rw
envelopeGeneratorAdsr, scaleString, edgeString, eventCount, parameterObject, parameterObject, parameterObject, parameterObject, parameterObject, parameterObject, min, max
Description: Generates a sequence of dynamic envelopes with durations controlled by a Generator Parameter Object. Envelope duration is specified by the duration ParameterObject; all values are interpreted in seconds. The scaleString parameter determines if shape values are interpreted as proportional values or absolute values in seconds. The number of envelopes generated is controlled by the eventCount parameter; envelopes are looped when necessary. The minimum and maximum envelope value is scaled within the range designated by min and max; min and max are selected once per envelope; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) scaleString {'absolute', 'proportional'}, (3) edgeString {'loop', 'single'}, (4) eventCount, (5) parameterObject {duration Generator}, (6) parameterObject {attack Generator}, (7) parameterObject {decay Generator}, (8) parameterObject {sustain Generator}, (9) parameterObject {release Generator}, (10) parameterObject {sustain scalar Generator}, (11) min, (12) max
Sample Arguments: ega, proportional, l, 100, (c,40), (c,2), (c,4), (c,2), (c,4), (c,0.5), 0, 1
Example C-33. envelopeGeneratorAdsr Demonstration 1
envelopeGeneratorAdsr, proportional, loop, 100, (constant, 40), (constant, 2), (constant, 4), (constant, 2), (constant, 4), (constant, 0.5), (constant, 0), (constant, 1)
Example C-34. envelopeGeneratorAdsr Demonstration 2
envelopeGeneratorAdsr, proportional, loop, 100, (basketGen, orderedCyclic, (60,40,20)), (basketGen, orderedCyclic, (1,5,10)), (basketGen, orderedCyclic, (10,5,1)), (constant, 6), (constant, 2), (basketGen, orderedCyclic, (0.2,0.5,0.7)), (constant, 0), (constant, 1)
Example C-35. envelopeGeneratorAdsr Demonstration 3
envelopeGeneratorAdsr, absolute, loop, 100, (basketGen, orderedCyclic, (60,40,20)), (basketGen, orderedCyclic, (1,5,10)), (basketGen, orderedCyclic, (10,5,1)), (constant, 6), (constant, 2), (basketGen, orderedCyclic, (0.2,0.5,0.7)), (constant, 0), (constant, 1)
envelopeGeneratorTrapezoid, scaleString, edgeString, eventCount, parameterObject, parameterObject, parameterObject, parameterObject, parameterObject, min, max
Description: Generates a sequence of dynamic envelopes with durations controlled by a Generator Parameter Object. Envelope duration is specified by the duration ParameterObject; all values are interpreted in seconds. The scaleString parameter determines if shape values are interpreted as proportional values or absolute values in seconds. The number of envelopes generated is controlled by the eventCount parameter; envelopes are looped when necessary. The minimum and maximum envelope value is scaled within the range designated by min and max; min and max are selected once per envelope; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) scaleString {'absolute', 'proportional'}, (3) edgeString {'loop', 'single'}, (4) eventCount, (5) parameterObject {duration Generator}, (6) parameterObject {ramp up Generator}, (7) parameterObject {width max Generator}, (8) parameterObject {ramp down Generator}, (9) parameterObject {width min Generator}, (10) min, (11) max
Sample Arguments: egt, proportional, l, 100, (c,40), (c,0.5), (c,4), (c,2), (c,4), 0, 1
Example C-36. envelopeGeneratorTrapezoid Demonstration 1
envelopeGeneratorTrapezoid, proportional, loop, 100, (constant, 40), (constant, 0.5), (constant, 4), (constant, 2), (constant, 4), (constant, 0), (constant, 1)
envelopeGeneratorUnit, edgeString, eventCount, parameterObject, parameterObject, parameterObject, min, max
Description: Generates a sequence of dynamic envelopes with durations controlled by a Generator Parameter Object. Envelope duration is specified by the duration ParameterObject; all values are interpreted in seconds. The scaleString parameter determines if shape values are interpreted as proportional values or absolute values in seconds. The number of envelopes generated is controlled by the eventCount parameter; envelopes are looped when necessary. The minimum and maximum envelope value is scaled within the range designated by min and max; min and max are selected once per envelope; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) edgeString {'loop', 'single'}, (3) eventCount, (4) parameterObject {duration Generator}, (5) parameterObject {sustain center unit Generator}, (6) parameterObject {sustain width unit Generator}, (7) min, (8) max
Sample Arguments: egu, l, 100, (c,40), (c,0.4), (c,0.2), 0, 1
funnelBinary, thresholdMatchString, parameterObject, parameterObject, parameterObject, parameterObject
Description: A dynamic, two-part variable funnel. Given values produced by two boundary parameterObjects and a threshold ParameterObject, the output of a Generator ParameterObject value is shifted to one of the boundaries (or the threshold) depending on the relationship of the generated value to the threshold. If the generated value is equal to the threshold, the value may be shifted to the upper or lower value, or retain the threshold value.
Arguments: (1) name, (2) thresholdMatchString {'upper', 'lower', 'match'}, (3) parameterObject {threshold}, (4) parameterObject {first boundary}, (5) parameterObject {second boundary}, (6) parameterObject {generator of masked values}
Sample Arguments: fb, u, (bpl,e,s,((0,0),(120,1))), (ws,e,60,0,0.5,0), (wc,e,90,0,0.5,1), (ru,0,1)
Example C-41. funnelBinary Demonstration 1
funnelBinary, upper, (breakPointLinear, event, single, ((0,0),(120,1))), (waveSine, event, (constant, 60), 0, (constant, 0.5), (constant, 0)), (waveCosine, event, (constant, 90), 0, (constant, 0.5), (constant, 1)), (randomUniform, (constant, 0), (constant, 1))
feedbackModelLibrary, feedbackModelName, parameterObject, parameterObject, min, max
Description: A model of a feedback system made from discrete particles. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) feedbackModelName, (3) parameterObject {aging step}, (4) parameterObject {threshold}, (5) min, (6) max
Sample Arguments: fml, cc, (bg,rc,(1,3)), (c,0.9), 0, 1
fibonacciSeries, start, length, min, max, selectionString
Description: Provides values derived from a contigous section of the Fibonacci series. A section is built from an initial value (start) and as many additional values as specified by the length argument. Negative length values reverse the direction of the series. The resulting list of values is normalized within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) start, (3) length, (4) min, (5) max, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: fs, 200, 20, 0, 1, oc
Example C-44. fibonacciSeries Demonstration 1
fibonacciSeries, 200, 20, (constant, 0), (constant, 1), orderedCyclic
grammarTerminus, grammarString, stepCount, selectionString
Description: Produces values from a one-dimensional string rewrite rule, or Lindenmayer-system generative grammar. The terminus, or final result of the number of generations of values specifed by the stepCount parameter, is used to produce a list of defined values. Values are chosen from this list using the selector specified by the selectionString argument.
Arguments: (1) name, (2) grammarString, (3) stepCount, (4) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: gt, a{.2}b{.5}c{.8}d{0}@a{ba}b{bc}c{cd}d{ac}@a, 6, oc
henonBasket, xInit, yInit, parameterObject, parameterObject, valueCount, valueSelect, min, max, selectionString
Description: Performs the Henon map, a non-linear two-dimensional discrete deterministic dynamical system. For some parameter settings the system exhibits chaotic behavior, for others, periodic behavior; small changes in initial parameters may demonstrate the butterfly effect. Variables x and y describe coordinate positions; values a (alpha) and b (beta) configure the system. As the output range cannot be predicted, as many values as specified by the valueCount argument, as well as any combination of variables with the valueSelect argument, are generated and stored at initialization. These values are then scaled within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: some values may cause unexpected results; alpha values should not exceed 2.0.
Arguments: (1) name, (2) xInit, (3) yInit, (4) parameterObject {a value}, (5) parameterObject {b value}, (6) valueCount, (7) valueSelect {'x', 'y', 'xy', 'yx'}, (8) min, (9) max, (10) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: hb, 0.5, 0.5, 1.4, 0.3, 1000, x, 0, 1, oc
Example C-48. henonBasket Demonstration 1
henonBasket, 0.5, 0.5, (constant, 1.4), (constant, 0.3), 1000, x, (constant, 0), (constant, 1), orderedCyclic
iterateCross, parameterObject, parameterObject, parameterObject
Description: Produces a single value cross faded between two values created by two Generator ParameterObjects in parallel. The cross fade is expressed as a number within the unit interval, where a value of zero is the output of the first Generator, a value of one is the output of the second Generator, and all other values are proportionally and linearly cross faded.
Arguments: (1) name, (2) parameterObject {first source Generator}, (3) parameterObject {second source Generator}, (4) parameterObject {interpolation between first and second Generator}
Sample Arguments: ic, (ws,e,30,0,0,1), (wp,e,30,0,0,1), (bpl,e,l,((0,0),(120,1)))
iterateGroup, parameterObject, parameterObject
Description: Allows the output of a source ParameterObject to be grouped (a value is held and repeated a certain number of times), to be skipped (a number of values are generated and discarded), or to be bypassed. A numeric value from a control ParameterObject is used to determine the source ParameterObject behavior. A positive value (rounded to the nearest integer) will cause the value provided by the source ParameterObject to be repeated that many times. After output of these values, a new control value is generated. A negative value (rounded to the nearest integer) will cause that many number of values to be generated and discarded from the source ParameterObject, and force the selection of a new control value. A value of 0 is treated as a bypass, and forces the selection of a new control value. Note: if the control ParameterObject fails to produce positive values after many attempts, a value will be automatically generated from the selected ParameterObject.
Arguments: (1) name, (2) parameterObject {source Generator}, (3) parameterObject {group or skip control Generator}
Sample Arguments: ig, (ws,e,30,0,0,1), (bg,rc,(-3,1,-1,5))
iterateHold, parameterObject, parameterObject, parameterObject, selectionString
Description: Allows a variable number of outputs from a source ParameterObject, collected and stored in a list, to be held and selected. Values are chosen from this list using the selector specified by the selectionString argument. A numeric value from a size ParameterObject is used to determine how many values are drawn from the source ParameterObject. A numeric value from a refresh count ParameterObject is used to determine how many events must pass before a new size value is drawn and the source ParameterObject is used to refill the stored list. A refresh value of zero, once encountered, will prohibit any further changes to the stored list. Note: if the size ParameterObject fails to produce a non-zero value for the first event, an alternative count value will be assigned.
Arguments: (1) name, (2) parameterObject {source Generator}, (3) parameterObject {size Generator}, (4) parameterObject {refresh count Generator}, (5) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: ih, (ru,0,1), (bg,rc,(2,3,4)), (bg,oc,(12,24)), oc
iterateSelect, parameterObject, parameterObject, parameterObject, parameterObject
Description: Allows a variable number of outputs from a source ParameterObject, collected and stored in a list, to be selected with values within the unit interval produced by an embedded ParameterObject. Values that exceed the unit interval are limited within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. A numeric value from a size ParameterObject is used to determine how many values are drawn from the source ParameterObject. A numeric value from a refresh count ParameterObject is used to determine how many events must pass before a new size value is drawn and the source ParameterObject is used to refill the stored list. A refresh value of zero, once encountered, will prohibit any further changes to the stored list. Note: if the size ParameterObject fails to produce a non-zero value for the first event, an alternative count value will be assigned.
Arguments: (1) name, (2) parameterObject {source Generator}, (3) parameterObject {size Generator}, (4) parameterObject {refresh count Generator}, (5) parameterObject {selection Generator}
Sample Arguments: is, (ru,0,1), (bg,rc,(10,11,12)), (bg,oc,(12,24)), (rb,0.15,0.15,0,1)
iterateWindow, parameterObjectList, parameterObject, selectionString
Description: Allows a ParameterObject, selected from a list of ParameterObjects, to generate values, to skip values (a number of values are generated and discarded), or to bypass value generation. A numeric value from a control ParameterObject is used to determine the selected ParameterObject behavior. A positive value (rounded to the nearest integer) will cause the selected ParameterObject to produce that many new values. After output of these values, a new ParameterObject is selected. A negative value (rounded to the nearest integer) will cause the selected ParameterObject to generate and discard that many values, and force the selection of a new ParameterObject. A value equal to 0 is treated as a bypass, and forces the selection of a new ParameterObject. ParameterObject selection is determined with a string argument for a selection method. Note: if the control ParameterObject fails to produce positive values after many attempts, a value will be automatically generated from the selected ParameterObject.
Arguments: (1) name, (2) parameterObjectList {a list of Generators}, (3) parameterObject {generate or skip control Generator}, (4) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: iw, ((ru,0,1),(wt,e,30,0,0,1)), (bg,oc,(8,4,-2)), oc
lorenzBasket, xInit, yInit, zInit, parameterObject, parameterObject, parameterObject, valueCount, valueSelect, min, max, selectionString
Description: Performs the Lorenz attractor, a non-linear three-dimensional discrete deterministic dynamical system. The equations are derived from a simplified model of atmospheric convection rolls. For some parameter settings the system exhibits chaotic behavior, for others, periodic behavior; small changes in initial parameters may demonstrate the butterfly effect. Variables x, y, and z are proportional to convective intensity, temperature difference between descending and ascending currents, and the difference in vertical temperature profile from linearity. Values s (sigma), r, and b are the Prandtl number, the quotient of the Rayleigh number and the critical Rayleigh number, and the geometric factor. As the output range cannot be predicted, as many values as specified by the valueCount argument, as well as any combination of variables with the valueSelect argument, are generated and stored at initialization. These values are then scaled within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: some values may cause unexpected results; r should not exceed 90.
Arguments: (1) name, (2) xInit, (3) yInit, (4) zInit, (5) parameterObject {r value}, (6) parameterObject {s value}, (7) parameterObject {b value}, (8) valueCount, (9) valueSelect {'x', 'y', 'z', 'xy', 'xz', 'yx', 'yz', 'zx', 'zy', 'xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx'}, (10) min, (11) max, (12) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: lb, 1.0, 1.0, 1.0, 28, 10, 2.67, 1000, xyz, 0, 1, oc
logisticMap, initValue, parameterObject, min, max
Description: Performs the logistic map, or the Verhulst population growth equation. The logistic map is a non-linear one-dimensional discrete deterministic dynamical system. For some parameter settings the system exhibits chaotic behavior, for others, periodic behavior; small changes in initial parameters may demonstrate the butterfly effect. Variable x represents the population value; value p represents a combined rate for reproduction and starvation. The p argument allows the user to provide a static or dynamic value to the equation. Certain p-value presets can be provided with strings: 'bi', 'quad', or 'chaos'. If a number is provided for p, the value will be used to create a constant ParameterObject. The equation outputs values within the unit interval. These values are scaled within the range designated by min and max; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) initValue, (3) parameterObject {p value}, (4) min, (5) max
Sample Arguments: lm, 0.5, (wt,e,90,0,2.75,4), 0, 1
Example C-63. logisticMap Demonstration 1
logisticMap, 0.5, (waveTriangle, event, (constant, 90), 0, (constant, 2.75), (constant, 4)), (constant, 0), (constant, 1)
listPrime, start, length, format, selectionString
Description: Produces a segment of prime (pseudoprime) integers defined by a positive or negative start value and a length. Depending on format type, the resulting segment can be given as an integer, width, unit, or binary segment. Values are chosen from this list using the selector specified by the selectionString argument.
Arguments: (1) name, (2) start, (3) length, (4) format {'integer', 'width', 'unit', 'binary'}, (5) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: lp, 2, 50, int, oc
lineSegment, stepString, parameterObject, min, max
Description: Provides a dynamic line segment created from three embedded Generator ParameterObjects. Start and end values, taken from min and max generators, are used to create a line segment spaning the time or event distance provided by the secPerCycle argument. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle).
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) min, (5) max
Sample Arguments: ls, e, 10, 0, 5
mask, boundaryString, parameterObject, parameterObject, parameterObject
Description: Given values produced by two boundary ParameterObjects in parallel, the Generator ParameterObject value is fit within these values. The fit is determined by the boundaryString: limit will fix the value at the nearest boundary; wrap will wrap the value through the range defined by the boundaries; reflect will bounce values in the opposite direction through the range defined by the boundaries.
Arguments: (1) name, (2) boundaryString {'limit', 'wrap', 'reflect'}, (3) parameterObject {first boundary}, (4) parameterObject {second boundary}, (5) parameterObject {generator of masked values}
Sample Arguments: m, l, (ws,e,60,0,0.5,0), (wc,e,90,0,0.5,1), (ru,0,1)
Example C-72. mask Demonstration 1
mask, limit, (waveSine, event, (constant, 60), 0, (constant, 0.5), (constant, 0)), (waveCosine, event, (constant, 90), 0, (constant, 0.5), (constant, 1)), (randomUniform, (constant, 0), (constant, 1))
markovGeneratorAnalysis, parameterObject, valueCount, maxAnalysisOrder, parameterObject
Description: Produces values by means of a Markov analysis of values provided by a source Generator ParameterObject; the analysis of these values is used with a dynamic transition order Generator to produce new values. The number of values drawn from the source Generator is specified with the valueCount argument. The maximum order of analysis is specified with the maxAnalysisOrder argument. Markov transition order is specified by a ParameterObject that produces values between 0 and the maximum order available in the Markov transition string. If generated-orders are greater than those available, the largest available transition order will be used. Floating-point order values are treated as probabilistic weightings: for example, a transition of 1.5 offers equal probability of first or second order selection.
Arguments: (1) name, (2) parameterObject {source Generator}, (3) valueCount, (4) maxAnalysisOrder, (5) parameterObject {output order value}
Sample Arguments: mga, (ws,e,30,0,0,1), 30, 2, (mv,a{1}b{0}c{2}:{a=10|b=1|c=2},(c,0))
Example C-75. markovGeneratorAnalysis Demonstration 1
markovGeneratorAnalysis, (waveSine, event, (constant, 30), 0, (constant, 0), (constant, 1)), 30, 2, (markovValue, a{1}b{0}c{2}:{a=10|b=1|c=2}, (constant, 0))
maskReject, boundaryString, parameterObject, parameterObject, parameterObject
Description: Given values produced by two boundary ParameterObjects in parallel, the Generator ParameterObject value is fit outside of these values. The fit is determined by the boundaryString: limit will fix the value at the nearest boundary; wrap will wrap the value through the range defined by the boundaries; reflect will bounce values in the opposite direction through the range defined by the boundaries.
Arguments: (1) name, (2) boundaryString {'limit', 'wrap', 'reflect'}, (3) parameterObject {first boundary}, (4) parameterObject {second boundary}, (5) parameterObject {generator of masked values}
Sample Arguments: mr, l, (ws,e,60,0,0.5,0), (wc,e,90,0,0.5,1), (ru,0,1)
Example C-78. maskReject Demonstration 1
maskReject, limit, (waveSine, event, (constant, 60), 0, (constant, 0.5), (constant, 0)), (waveCosine, event, (constant, 90), 0, (constant, 0.5), (constant, 1)), (randomUniform, (constant, 0), (constant, 1))
maskScale, parameterObject, valueCount, min, max, selectionString
Description: Given values produced by two boundary ParameterObjects in parallel, the Generator ParameterObject value is scaled within these values. A collection of values created by the Generator ParameterObject are stored. The resulting list of values is normalized within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) parameterObject {source Generator}, (3) valueCount, (4) min, (5) max, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: ms, (lp,100,120,w,oc), 120, (bphc,e,l,((0,0),(120,-3))), 3, oc
markovValue, transitionString, parameterObject
Description: Produces values by means of a Markov transition string specification and a dynamic transition order generator. Markov transition order is specified by a ParameterObject that produces values between 0 and the maximum order available in the Markov transition string. If generated-orders are greater than those available, the largest available transition order will be used. Floating-point order values are treated as probabilistic weightings: for example, a transition of 1.5 offers equal probability of first or second order selection.
Arguments: (1) name, (2) transitionString, (3) parameterObject {order value}
Sample Arguments: mv, a{.2}b{.5}c{.8}d{0}:{a=5|b=4|c=7|d=1}, (c,0)
Example C-82. markovValue Demonstration 1
markovValue, a{.2}b{.5}c{.8}d{0}:{a=5|b=4|c=7|d=1}, (constant, 0)
Example C-83. markovValue Demonstration 2
markovValue, a{0}b{.2}c{.4}d{.6}e{.8}f{1}:{a=3|b=6|c=8|d=8|e=5|f=2}a:{b=3}b:{a =2|c=4}c:{b=3|d=5}d:{a=1|c=4|e=3}e:{d=3|f=2}f:{e=2}a:b:{c=3}b:a:{b=2}b:c:{d=4} c:b:{a=2|c=1}c:d:{a=1|c=1|e=3}d:a:{b=1}d:c:{b=3|d=1}d:e:{d=1|f=2}e:d:{c=3}e:f: {e=2}f:e:{d=2}, (breakPointLinear, event, single, ((0,0),(119,2)))
noise, resolution, parameterObject, min, max
Description: Fractional noise (1/fn) Generator, capable of producing states and transitions between 1/f white, pink, brown, and black noise. Resolution is an integer that describes how many generators are used. The gamma argument determines what type of noise is created. All gamma values are treated as negative. A gamma of 0 is white noise; a gamma of 1 is pink noise; a gamma of 2 is brown noise; and anything greater is black noise. Gamma can be controlled by a dynamic ParameterObject. The value produced by the noise generator is scaled within the unit interval. This normalized value is then scaled within the range designated by min and max; min and max may be specified by ParameterObjects.
Arguments: (1) name, (2) resolution, (3) parameterObject {gamma value as string or number}, (4) min, (5) max
Sample Arguments: n, 100, pink, 0, 1
operatorAdd, parameterObject, parameterObject
Description: Adds the value of the first ParameterObject to the second ParameterObject.
Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}
Sample Arguments: oa, (ws,e,30,0,0,1), (a,0.5,(c,0.03))
operatorCongruence, parameterObject, parameterObject
Description: Produces the congruent value of the first ParameterObject object as the modulus of the second ParameterObject. A modulus by zero, if encountered, returns the value of the first ParameterObject unaltered.
Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}
Sample Arguments: oc, (ws,e,30,0,0,1), (a,0.5,(c,0.03))
operatorDivide, parameterObject, parameterObject
Description: Divides the value of the first ParameterObject object by the second ParameterObject. Division by zero, if encountered, returns the value of the first Generator.
Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}
Sample Arguments: od, (ws,e,30,0,0,1), (a,0.5,(c,0.03))
operatorMultiply, parameterObject, parameterObject
Description: Multiplies the value of the first ParameterObject by the second.
Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}
Sample Arguments: om, (ws,e,30,0,0,1), (a,0.5,(c,0.03))
oneOver, parameterObject
Description: Produces the value of one over the value of a ParameterObject. Divisors of zero are resolved to 1.
Arguments: (1) name, (2) parameterObject {value}
Sample Arguments: oo, (ws,e,30,0,0.5,2)
operatorPower, parameterObject, parameterObject
Description: Raises the value of the first ParameterObject to the power of the second ParameterObject.
Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}
Sample Arguments: op, (ws,e,30,0,0,1), (a,0.5,(c,0.03))
operatorSubtract, parameterObject, parameterObject
Description: Subtracts the value of the second ParameterObject from the first ParameterObject.
Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}
Sample Arguments: os, (ws,e,30,0,0,1), (a,0.5,(c,0.03))
pathRead, pathFormatString
Description: Extracts pitch information from the current Multiset within a Texture's Path. Data can be presented in a variety of formats including representations of the Multiset as 'forte', 'mason', or data on the current active pitch as 'fq' (frequency), 'ps' (psReal), 'midi' (midi pitch values), 'pch' (Csound pitch octave format), or 'name' (alphabetic note names).
Arguments: (1) name, (2) pathFormatString {'forte', 'mason', 'fq', 'ps', 'midi', 'pch', 'name'}
Sample Arguments: pr, forte
quantize, parameterObject, parameterObject, stepCount, parameterObject, parameterObject
Description: Dynamic grid size and grid position quantization. For each value provided by the source ParameterObject, a grid is created. This grid is made by taking the number of steps specified by the stepCount integer from the step width Generator ParameterObject. The absolute value of these widths are used to create a grid above and below the reference value, with grid steps taken in order. The value provided by the source ParameterObject is found within this grid, and pulled to the nearest grid line. The degree of pull can be a dynamically allocated with a unit-interval quantize pull ParameterObject. A value of 1 forces all values to snap to the grid; a value of .5 will cause a weighted attraction.
Arguments: (1) name, (2) parameterObject {grid reference value Generator}, (3) parameterObject {step width Generator}, (4) stepCount, (5) parameterObject {unit interval measure of quantize pull}, (6) parameterObject {source Generator}
Sample Arguments: q, (c,0), (c,0.25), 1, (c,1), (ru,0,1)
Example C-95. quantize Demonstration 1
quantize, (constant, 0), (constant, 0.25), 1, (constant, 1), (randomUniform, (constant, 0), (constant, 1))
randomBeta, alpha, beta, min, max
Description: Provides random numbers between 0 and 1 within a Beta distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Alpha and beta values should be between 0 and 1; small alpha and beta values (such as 0.1) increase the probability of events at the boundaries.
Arguments: (1) name, (2) alpha, (3) beta, (4) min, (5) max
Sample Arguments: rb, 0.5, 0.5, 0, 1
randomBilateralExponential, lambda, min, max
Description: Provides random numbers between 0 and 1 within a bilateral exponential distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) lambda, (3) min, (4) max
Sample Arguments: rbe, 0.5, 0, 1
Example C-100. randomBilateralExponential Demonstration 1
randomBilateralExponential, 0.5, (constant, 0), (constant, 1)
randomCauchy, alpha, mu, min, max
Description: Provides random numbers between 0 and 1 within a Cauchy distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: suggested values: alpha = 0.1, mu = 0.5.
Arguments: (1) name, (2) alpha, (3) mu, (4) min, (5) max
Sample Arguments: rc, 0.1, 0.5, 0, 1
randomExponential, lambda, min, max
Description: Provides random numbers between 0 and 1 within an exponential distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Lambda values should be greater than 0. Lambda values control the spread of values; larger values (such as 10) increase the probability of events near the minimum.
Arguments: (1) name, (2) lambda, (3) min, (4) max
Sample Arguments: re, 0.5, 0, 1
Example C-106. randomExponential Demonstration 1
randomExponential, 0.5, (constant, 0), (constant, 1)
randomGauss, mu, sigma, min, max
Description: Provides random numbers between 0 and 1 within a Gaussian distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: suggested values: mu = 0.5, sigma = 0.1.
Arguments: (1) name, (2) mu, (3) sigma, (4) min, (5) max
Sample Arguments: rg, 0.5, 0.1, 0, 1
randomInverseExponential, lambda, min, max
Description: Provides random numbers between 0 and 1 within an inverse exponential distribution. Lambda values control the spread of values; larger values (such as 10) increase the probability of events near the maximum. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) lambda, (3) min, (4) max
Sample Arguments: rie, 0.5, 0, 1
Example C-111. randomInverseExponential Demonstration 1
randomInverseExponential, 0.5, (constant, 0), (constant, 1)
randomInverseLinear, min, max
Description: Provides random numbers between 0 and 1 within a linearly increasing distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are distributed more strongly toward max.
Arguments: (1) name, (2) min, (3) max
Sample Arguments: ril, 0, 1
randomInverseTriangular, min, max
Description: Provides random numbers between 0 and 1 within an inverse triangular distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are distributed more strongly away from the mean of min and max.
Arguments: (1) name, (2) min, (3) max
Sample Arguments: rit, 0, 1
randomLinear, min, max
Description: Provides random numbers between 0 and 1 within a linearly decreasing distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are distributed more strongly toward min.
Arguments: (1) name, (2) min, (3) max
Sample Arguments: rl, 0, 1
randomTriangular, min, max
Description: Provides random numbers between 0 and 1 within a triangular distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are distributed more strongly toward the mean of min and max.
Arguments: (1) name, (2) min, (3) max
Sample Arguments: rt, 0, 1
randomUniform, min, max
Description: Provides random numbers between 0 and 1 within an uniform distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are evenly distributed between min and max.
Arguments: (1) name, (2) min, (3) max
Sample Arguments: ru, 0, 1
randomWeibull, alpha, beta, min, max
Description: Provides random numbers between 0 and 1 within a Weibull distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: suggested values: alpha = 0.5, beta = 2.0.
Arguments: (1) name, (2) alpha, (3) beta, (4) min, (5) max
Sample Arguments: rw, 0.5, 2.0, 0, 1
sampleAndHold, comparison, parameterObject, parameterObject, parameterObject
Description: A sample and hold generator. Produces, and continues to produce, a value drawn from the source Generator until the trigger Generator produces a value equal to the threshold Generator. All values are converted to floating-point values.
Arguments: (1) name, (2) comparison, (3) parameterObject {source Generator}, (4) parameterObject {trigger Generator}, (5) parameterObject {trigger threshold Generator}
Sample Arguments: sah, gt, (ru,0,1), (wsd,e,10,0,0,1), (c,0.5)
Example C-127. sampleAndHold Demonstration 1
sampleAndHold, greaterThan, (randomUniform, (constant, 0), (constant, 1)), (waveSawDown, event, (constant, 10), 0, (constant, 0), (constant, 1)), (constant, 0.5)
sieveFunnel, logicalString, length, min, max, parameterObject
Description: Using the user-supplied logical string, this Generator produces a Xenakis sieve segment within the z range of zero to one less than the supplied length. Values produced with the fill value Generator ParameterObject are funneled through this sieve: given a fill value, the nearest sieve value is selected and returned. Note: the fill value ParameterObject min and max should be set to 0 and 1.
Arguments: (1) name, (2) logicalString, (3) length, (4) min, (5) max, (6) parameterObject {fill value generator}
Sample Arguments: sf, 3|4, 24, 0, 1, (ru,0,1)
Example C-130. sieveFunnel Demonstration 1
sieveFunnel, 3@0|4@0, 24, (constant, 0), (constant, 1), (randomUniform, (constant, 0), (constant, 1))
sieveList, logicalString, zMin, zMax, format, selectionString
Description: Produces a Xenakis sieve as a raw, variable format sieve segment list. A z is defined by the range of integers from zMin to zMax. Depending on format type, the resulting segment can be given as an integer, width, unit, or binary segment. Values are chosen from this list using the selector specified by the selectionString argument.
Arguments: (1) name, (2) logicalString, (3) zMin, (4) zMax, (5) format {'integer', 'width', 'unit', 'binary'}, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: sl, 3|4, -12, 12, int, oc
sampleSelect, fileNameList, selectionString
Description: Given a list of file names (fileNameList), this Generator provides a complete file path to the file found within either the athenaCL/audio or the user-selected audio directory. Values are chosen from this list using the selector specified by the selectionString argument.
Arguments: (1) name, (2) fileNameList, (3) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: ss, (), rc
typeFormat, typeFormatString, parameterObject
Description: Convert the output of any ParameterObject into a different type or display format.
Arguments: (1) name, (2) typeFormatString {'string', 'stringQuote'}, (3) parameterObject {generator}
Sample Arguments: tf, sq, (bg,rc,(1,3,4,7,-11))
valuePrime, start, length, min, max, selectionString
Description: Produces a segment of prime (pseudoprime) integers defined by a positive or negative start value and a length. The resulting list of values is normalized within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) start, (3) length, (4) min, (5) max, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: vp, 2, 50, 0, 1, oo
valueSieve, logicalString, length, min, max, selectionString
Description: Using the user-supplied logical string, this Generator produces a Xenakis sieve segment within the z range of zero to one less than the supplied length. The resulting list of values is normalized within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.
Arguments: (1) name, (2) logicalString, (3) length, (4) min, (5) max, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}
Sample Arguments: vs, 3&19|4&13@11, 360, 0, 1, oo
Example C-136. valueSieve Demonstration 1
valueSieve, 3@0&19@0|4@0&13@11, 360, (constant, 0), (constant, 1), orderedOscillate
Example C-137. valueSieve Demonstration 2
valueSieve, 3@0&19@0|4@0&13@11|5@2&15@2, 120, (constant, 0), (constant, 1), randomWalk
waveCosine, stepString, parameterObject, phase, min, max
Description: Provides cosinusoid oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: wc, e, 30, 0, 0, 1
Example C-140. waveCosine Demonstration 1
waveCosine, event, (constant, 30), 0, (constant, 0), (constant, 1)
waveHalfPeriodCosine, stepString, parameterObject, phase, min, max
Description: Provides half-period cosinusoid oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the half-period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Half-period oscillators update seconds/event per cycle only once per half-period, permitting smooth transitons between diverse half-period segments. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: whpc, e, (bg,rc,(10,20,30)), 0, 0, 1
waveHalfPeriodPulse, stepString, parameterObject, phase, min, max
Description: Provides half-period pulse (square) wave oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the half-period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Half-period oscillators update seconds/event per cycle only once per half-period, permitting smooth transitons between diverse half-period segments. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: whpp, e, (bg,rc,(10,20,30)), 0, 0, 1
Example C-145. waveHalfPeriodPulse Demonstration 1
waveHalfPeriodPulse, event, (basketGen, randomChoice, (10,20,30)), 0, (constant, 0), (constant, 1)
Example C-146. waveHalfPeriodPulse Demonstration 2
waveHalfPeriodPulse, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0, (constant, 0), (constant, 1)
waveHalfPeriodSine, stepString, parameterObject, phase, min, max
Description: Provides half-period sinusoid oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the half-period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Half-period oscillators update seconds/event per cycle only once per half-period, permitting smooth transitons between diverse half-period segments. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: whps, e, (bg,rc,(10,20,30)), 0, 0, 1
Example C-149. waveHalfPeriodSine Demonstration 1
waveHalfPeriodSine, event, (basketGen, randomChoice, (10,20,30)), 0, (constant, 0), (constant, 1)
Example C-150. waveHalfPeriodSine Demonstration 2
waveHalfPeriodSine, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0, (constant, 0), (constant, 1)
waveHalfPeriodTriangle, stepString, parameterObject, phase, min, max
Description: Provides half-period triangle wave oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the half-period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Half-period oscillators update seconds/event per cycle only once per half-period, permitting smooth transitons between diverse half-period segments. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: whpt, e, (bg,rc,(10,20,30)), 0, 0, 1
wavePulse, stepString, parameterObject, phase, min, max
Description: Provides a pulse (square) wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: wp, e, 30, 0, 0, 1
Example C-155. wavePulse Demonstration 1
wavePulse, event, (constant, 30), 0, (constant, 0), (constant, 1)
wavePowerDown, stepString, parameterObject, phase, exponent, min, max
Description: Provides a power down wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) exponent, (6) min, (7) max
Sample Arguments: wpd, e, 30, 0, 2, 0, 1
Example C-158. wavePowerDown Demonstration 1
wavePowerDown, event, (constant, 30), 0, 2, (constant, 0), (constant, 1)
wavePowerUp, stepString, parameterObject, phase, exponent, min, max
Description: Provides a power up wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) exponent, (6) min, (7) max
Sample Arguments: wpu, e, 30, 0, 2, 0, 1
Example C-161. wavePowerUp Demonstration 1
wavePowerUp, event, (constant, 30), 0, 2, (constant, 0), (constant, 1)
waveSine, stepString, parameterObject, phase, min, max
Description: Provides sinusoid oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: ws, e, 30, 0, 0, 1
Example C-164. waveSine Demonstration 1
waveSine, event, (constant, 30), 0, (constant, 0), (constant, 1)
Example C-165. waveSine Demonstration 2
waveSine, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0, (constant, 0), (constant, 1)
waveSawDown, stepString, parameterObject, phase, min, max
Description: Provides a saw-down wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: wsd, e, 30, 0, 0, 1
Example C-168. waveSawDown Demonstration 1
waveSawDown, event, (constant, 30), 0, (constant, 0), (constant, 1)
waveSawUp, stepString, parameterObject, phase, min, max
Description: Provides a saw-up wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: wsu, e, 30, 0, 0, 1
Example C-171. waveSawUp Demonstration 1
waveSawUp, event, (constant, 30), 0, (constant, 0), (constant, 1)
waveTriangle, stepString, parameterObject, phase, min, max
Description: Provides a triangle wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.
Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max
Sample Arguments: wt, e, 30, 0, 0, 1
Example C-174. waveTriangle Demonstration 1
waveTriangle, event, (constant, 30), 0, (constant, 0), (constant, 1)