Skip to content

Pattern library reference

Chance

View source: chance.py

Class Function
PStochasticPattern PStochasticPattern is 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
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 integer sequence derived from Lindenmayer systems

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

Oscillator

View source: oscillator.py

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

Scalar

View source: scalar.py

Class Function
PChanged Outputs a 1 if the value of the input 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.
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 , .
PIndexOf Find index of items from pattern in

Sequence

View source: sequence.py

Class Function
PSequence Sequence of values based on an array
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.

Static

View source: static.py

Class Function
Globals The Globals class encapsulates a namespace of global variables that can be accessed
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 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.
PMidiSemitonesToFrequencyRatio Map a MIDI offet in semitones to a frequency ratio.

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.