isobar is another SuperCollider-inspired pattern sequencing system. It is written in (and with) Python. The following is isobar’s list of its included pattern classes, and for each, the equivalent cl-patterns pattern is listed, if applicable. I haven’t used a lot of isobar, though, so it’s entirely possible some of these equivalents are wrong.
Abstract superclass of all pattern generators.
Returns a fixed value.
Contains a reference to another pattern, which can be replaced dynamically.
Returns the value generated by a function.
Request a specified index from an array.
Construct a pattern from a dict of arrays, or an array of dicts.
Request a specified key from a dictionary.
Concatenate the output of multiple sequences.
Absolute value of `input`
Integer value of `input`
Add elements of two patterns (shorthand: patternA + patternB)
Subtract elements of two patterns (shorthand: patternA - patternB)
Multiply elements of two patterns (shorthand: patternA * patternB)
Divide elements of two patterns (shorthand: patternA / patternB)
Integer division (shorthand: patternA // patternB)
Modulo elements of two patterns (shorthand: patternA % patternB)
One pattern to the power of another (shorthand: patternA ** patternB)
Binary left-shift (shorthand: patternA << patternB)
Binary right-shift (shorthand: patternA << patternB)
Return 1 if a == b, 0 otherwise (shorthand: patternA == patternB)
Return 1 if a != b, 0 otherwise (shorthand: patternA != patternB)
Return 1 if a > b, 0 otherwise (shorthand: patternA > patternB)
Return 1 if a >= b, 0 otherwise (shorthand: patternA >= patternB)
Return 1 if a < b, 0 otherwise (shorthand: patternA < patternB)
Return 1 if a <= b, 0 otherwise (shorthand: patternA <= patternB)
Outputs a 1 if the value of a pattern has changed.
Outputs the difference between the current and previous values of an input pattern
If `skip` is false, returns `input`; otherwise, returns None.
Adaptively normalise `input` to [0..1] over a linear scale.
Apply an arbitrary function to an input pattern.
Apply arbitrary function to input, passing a counter.
Map `input` from linear range [a,b] to linear range [c,d].
Map `input` from linear range [a,b] to exponential range [c,d].
Round `input` to N decimal places.
Reduce tuples and lists into single scalar values,
Wrap input note values within <min>, <max>.
Find index of items from `pattern` in <list>
Arithmetic series, beginning at `start`, increment by `step`
Similar to PSeries, but specify a max/step value.
Geometric series, beginning at `start`, multiplied by `step`
Outputs a 1 every <period> events, otherwise 0.
Repeats a finite `pattern` for `n` repeats.
Ping-pong input pattern back and forth N times.
Loop `length`-note segment, progressing `creep` notes after `repeats` repeats.
Play each note of `pattern` `count` times.
Returns a finite subsequence of an input pattern.
Reverses a finite sequence.
Resets `pattern` whenever `trigger` is true
Increments a counter by 1 for each zero-crossing in `trigger`.
Skip over any rests in `input`
Skip over repeated values in `input`
Pad `pattern` with rests until it reaches length `length`.
Pad `pattern` with rests until its length is divisible by `multiple`.
Arpeggiator.
Generate Euclidean rhythms.
Generate every permutation of `count` input items.
Each time its pattern is exhausted, request a new pattern by calling <fn>.
Iterate over an array, perform a function, and repeat.
White noise between `min` and `max`.
Brownian noise.
Coin toss, returning either 0 or 1 given some `probability`.
Random walk around list.
Pick a random element from `values`, weighted by optional `weights`.
Pick multiple random elements from `values`, weighted by optional `weights`,
Shuffled list.
Every `n` steps, take `n` values from `pattern` and reorder.
Skip events with some probability, 1 - <play>.
flip a binary bit with some probability.
Capture `length` input values; loop, repeatedly switching two adjacent values.
Map scale index <degree> to MIDI notes in <scale>.
Filter notes based on their presence in <key>.
Return the nearest note in <key>.
Map MIDI note to frequency value.
Static global value identified by a string.
Returns the position (in beats) of the current timeline.
Fade a pattern in/out by introducing notes at a gradual rate.
Fade a pattern in/out by gradually introducing random notes.
First-order Markov chain generator.
integer sequence derived from Lindenmayer systems
Requests a new target warp value from `pattern` every `length` beats
Sinosoidal warp, period `length` beats, amplitude +/-<amp>.
Exponential deceleration to <amp> times the current tempo over `length` beats.