PLIdev:
Filter:
Classes (extension) | Libraries > miSCellaneous > Other patterns | Libraries > miSCellaneous > Idev suite

PLIdev : PIdev : Pattern : AbstractFunction : Object
ExtensionExtension

dynamic scope pattern searching for numbers with integer distance from a source pattern, optionally avoiding repetitions within a span
Source: PIdev.sc

Description

DIdev / PIdef / PLIdev search for numbers with integer distance from a source signal / pattern up to a given deviation. Repetitions within a lookback span are avoided, DIdev / PIdef / PLIdev randomly choose from possible solutions. Intended for search within integer grids (pitches, indices etc.), however applications with non-integer sources are possible, see examples.

NOTE: It's the user's responsibility to pass a combination of deviation and lookback values that allows a possible choice, see examples.
NOTE: In contrast to DIdev, PIdev and PLIdev do *not* need to know maximum deviations (minLoDev, maxHiDev) beforehand. Thus the order of arguments is different (here loDev and hiDev before lookBack).

Class Methods

PLIdev.new(pattern, maxLookBack: 3, loDev: -3, hiDev: 3, lookBack, thr: 0.001, length: inf, envir: 'current')

Creates a new PLIdev object.

Arguments:

pattern

Symbol or PIdev pattern arg. The source value pattern to start search from. If a Symbol is passed, a pattern/value can be assigned to an envir variable later on. Can be dynamically replaced by Patterns or Streams.

maxLookBack

Integer, the maximum lookback span. Fixed, defaults to 3.

loDev

Symbol or PIdev loDev arg. Determines the current low deviation for the search. If a Symbol is passed, a pattern/value can be assigned to an envir variable later on. Can be dynamically replaced by Patterns or Streams. Defaults to -3.

hiDev

Symbol or PIdev hiDev arg. Determines the current high deviation for the search. If a Symbol is passed, a pattern/value can be assigned to an envir variable later on. Can be dynamically replaced by Patterns or Streams. Defaults to 3.

lookBack

Symbol or PIdev lookBack arg. Determines the current lookback span for avoiding repetitions. Can be modulated but must not exceed maxLookBack. If no value is passed, then maxLookBack is taken. If a Symbol is passed, a pattern/value can be assigned to an envir variable later on. Can be dynamically replaced by Patterns or Streams. Defaults to nil.

thr

Symbol or PIdev thr arg. Threshold for equality comparison. If a Symbol is passed, a pattern/value can be assigned to an envir variable later on. Can be dynamically replaced by Patterns or Streams. Defaults to 1e-3.

length

Symbol or PIdev length arg. Number of repeats. If a Symbol is passed, a value can be assigned to an envir variable later on. Defaults to inf.

envir

Dictionary or one of the Symbols \top, \t (topEnvironment), \current, \c (currentEnvironment). Dictionary to be taken for variable reference. Defaults to \current.

Inherited class methods

Instance Methods

Inherited instance methods

Undocumented instance methods

.envir

.envir = value

Examples

 

Ex. 1: Basic usage: random choice within region without repetitions

 

Ex. 2: Variable deviations and lookBack

 

Ex. 3: Moving source signal

 

Ex. 4: Dynamic deviation range and lookBack

 

Ex. 5: Non-integer source

 

Ex. 6: Multichannel expansion

 

Ex. 7: Application to other params: rhythm

 

Ex. 8: Proof of concept