Skip to content

Pattern library reference

Chance

View source: chance.py

Class Function
PStochasticPattern The superclass of all chance-based patterns.
PWhite White noise between min and max.
PBrown Brownian noise.
PCoin Coin toss, returning either 0 or 1 given some probability.
PRandomWalk 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 - play.
PFlipFlop Flip a binary bit with some probability.
PSwitchOne Capture length input values; loop, repeatedly switching two adjacent values.
PRandomExponential Random uniform on exponential curve between min and max,
PRandomImpulseSequence Random sequence of impulses with probability probability.

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
PLFO Encapsulates an LFO object.
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)
PNotEqual 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)
PAnd Return True if a and b, False otherwise (shorthand: patternA & patternB)

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.

Lsystem

View source: lsystem.py

Class Function
PLSystem Formal grammars based on Lindenmayer systems, modelling plant growth.

Markov

View source: markov.py

Class Function
PMarkov First-order Markov chain generator.
MarkovLearner Learn a Markovian sequence by sequentially registering new values
MarkovGrapher Helper class to graph the structure of a Markov object.

Midi

View source: midi.py

Class Function

Monome

View source: monome.py

Class Function

Oscillator

View source: oscillator.py

Class Function
PTri Generates a triangle waveform of period length.
PSaw Generates a sawtooth waveform of period length.

Scalar

View source: scalar.py

Class Function
PChanged Outputs a 1 if the value of the input pattern has changed, 0 otherwise.
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.
PScaleLinLin Map input from linear range [a,b] to linear range [c,d].
PScaleLinExp 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 [min, max].
PIndexOf Find index of items from pattern in list.

Sequence

View source: sequence.py

Class Function
PSequence Output sequential values from a list.
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 count 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 fn.
PSequenceAction Iterate over an array, perform a function, and repeat.

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.

Tonal

View source: tonal.py

Class Function
PDegree Map scale index degree to MIDI notes in scale.
PFilterByKey Filter notes based on their presence in key.
PNearestNoteInKey Return the nearest note in key.
PMidiNoteToFrequency Map MIDI note to frequency value.
PMidiSemitonesToFrequencyRatio Map a MIDI offet in semitones to a frequency ratio.
PKeyTonic Given a Key as an input, returns the tonic of that key.
PKeyScale Given a Key as an input, returns the scale corresponding to the key.

Warp

View source: warp.py

Class Function
PWarp 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.