Skip to content

Pattern library reference

Core

View source: core.py

Class Function
Pattern Abstract superclass of all pattern generators.
PConstant Returns a fixed value.
PRef Contains a reference to another pattern, which can be replaced dynamically.
PFunc Returns the value generated by a function.
PArrayIndex Request a specified index from an array.
PDict Construct a pattern from a dict of arrays, or an array of dicts.
PDictKey Request a specified key from a dictionary.
PConcatenate Concatenate the output of multiple sequences.
PAbs Absolute value of input
PInt Integer value of input
PAdd Add elements of two patterns (shorthand: patternA + patternB)
PSub Subtract elements of two patterns (shorthand: patternA - patternB)
PMul Multiply elements of two patterns (shorthand: patternA * patternB)
PDiv Divide elements of two patterns (shorthand: patternA / patternB)
PFloorDiv Integer division (shorthand: patternA // patternB)
PMod Modulo elements of two patterns (shorthand: patternA % patternB)
PPow One pattern to the power of another (shorthand: patternA ** patternB)
PLShift Binary left-shift (shorthand: patternA << patternB)
PRShift Binary right-shift (shorthand: patternA << patternB)
PEqual Return 1 if a == b, 0 otherwise (shorthand: patternA == patternB)
PGreaterThanOrEqual Return 1 if a != b, 0 otherwise (shorthand: patternA != patternB)
PGreaterThan Return 1 if a > b, 0 otherwise (shorthand: patternA > patternB)
PGreaterThanOrEqual Return 1 if a >= b, 0 otherwise (shorthand: patternA >= patternB)
PLessThan Return 1 if a < b, 0 otherwise (shorthand: patternA < patternB)
PLessThanOrEqual Return 1 if a <= b, 0 otherwise (shorthand: patternA <= patternB)

Scalar

View source: scalar.py

Class Function
PChanged Outputs a 1 if the value of a pattern has changed.
PDiff Outputs the difference between the current and previous values of an input pattern
PSkipIf If skip is false, returns input; otherwise, returns None.
PNormalise Adaptively normalise input to [0..1] over a linear scale.
PMap Apply an arbitrary function to an input pattern.
PMapEnumerated Apply arbitrary function to input, passing a counter.
PLinLin Map input from linear range [a,b] to linear range [c,d].
PLinExp Map input from linear range [a,b] to exponential range [c,d].
PRound Round input to N decimal places.
PScalar Reduce tuples and lists into single scalar values,
PWrap Wrap input note values within , .
PIndexOf Find index of items from pattern in

Sequence

View source: sequence.py

Class Function
PSeries Arithmetic series, beginning at start, increment by step
PRange Similar to PSeries, but specify a max/step value.
PGeom Geometric series, beginning at start, multiplied by step
PImpulse Outputs a 1 every events, otherwise 0.
PLoop Repeats a finite pattern for n repeats.
PPingPong Ping-pong input pattern back and forth N times.
PCreep Loop length-note segment, progressing creep notes after repeats repeats.
PStutter Play each note of pattern count times.
PSubsequence Returns a finite subsequence of an input pattern.
PReverse Reverses a finite sequence.
PReset Resets pattern whenever trigger is true
PCounter Increments a counter by 1 for each zero-crossing in trigger.
PCollapse Skip over any rests in input
PNoRepeats Skip over repeated values in input
PPad Pad pattern with rests until it reaches length length.
PPadToMultiple Pad pattern with rests until its length is divisible by multiple.
PArpeggiator Arpeggiator.
PEuclidean Generate Euclidean rhythms.
PPermut Generate every permutation of count input items.
PPatternGeneratorAction Each time its pattern is exhausted, request a new pattern by calling .
PSequenceAction Iterate over an array, perform a function, and repeat.

Chance

View source: chance.py

Class Function
PWhite White noise between min and max.
PBrown Brownian noise.
PCoin Coin toss, returning either 0 or 1 given some probability.
PWalk Random walk around list.
PChoice Pick a random element from values, weighted by optional weights.
PSample Pick multiple random elements from values, weighted by optional weights,
PShuffle Shuffled list.
PShuffleInput Every n steps, take n values from pattern and reorder.
PSkip Skip events with some probability, 1 - .
PFlipFlop flip a binary bit with some probability.
PSwitchOne Capture length input values; loop, repeatedly switching two adjacent values.

Tonal

View source: tonal.py

Class Function
PDegree Map scale index to MIDI notes in .
PFilterByKey Filter notes based on their presence in .
PNearestNoteInKey Return the nearest note in .
PMidiNoteToFrequency Map MIDI note to frequency value.

Static

View source: static.py

Class Function
PGlobals Static global value identified by a string.
PCurrentTime Returns the position (in beats) of the current timeline.

Fade

View source: fade.py

Class Function
PFadeNotewise Fade a pattern in/out by introducing notes at a gradual rate.
PFadeNotewiseRandom Fade a pattern in/out by gradually introducing random notes.

Markov

View source: markov.py

Class Function
PMarkov First-order Markov chain generator.

Lsystem

View source: lsystem.py

Class Function
PLSystem integer sequence derived from Lindenmayer systems

Warp

View source: warp.py

Class Function
PWInterpolate Requests a new target warp value from pattern every length beats
PWSine Sinosoidal warp, period length beats, amplitude +/-.
PWRallantando Exponential deceleration to times the current tempo over length beats.