StatBalProc2:
Filter:
BBCut/Classes (extension) | Libraries > BBCut > Cut procedures

StatBalProc2
ExtensionExtension

Automatic breakbeat cutting algorithm using statistical feedback

Description

Extension of ChooseCutProc using Charles Ames' method of statistical feedback to control state selection. The essential auxilliary class is StatBalNormStream. This version changes weightings during the phrase itself so as to give changing structure to phrasing. Because weights may temporarily go to zero, the normalisation version of statistical feedback is essential. See StatBalProc for comparison.

The technique of changing weightings is more noticeable than the influence of statistical feedback. See the examples below for a comparison. Set heterogeneity high to simulate Lehmer style dispersion characteristics.

For additional data on the algorithm see Nick Collins, "Further Automatic BreakBeat Cutting Methods", Proceedings of Generative Art 2001, reproduced at http://www.cus.cam.ac.uk/~nc272/.

Class Methods

.new

Arguments:

cutarray

An array of 3 arrays of form [ [states], [startweights], [endweights ] ] where the states are the possible cutsizes, and the start weights are those for the beginning of the phrase, the endweights for the end. Linear interpolation is use internally to work out intermediate weights. The endweights are reached at beat position currphraselength=rollallowed. The three arrays must obviously be of the same size.

repeatarray

As cutarray for the repeats parameter.

chet

heterogeneity for the StatBalNormStream that will be created from the cutarray.

rhet

heterogeneity for the StatBalNormStream that will be created from the cutarray.

phraselength

Next length of phrase in beats.

rollchance

A probability of a roll near the end of a phrase.

rollallowed

number of beats within sight of the end of the current phrase within which a roll is permissible. Further, position at which final weightings for a phrase will be acheived.

bpsd

beats per sub division. Sets a primitive cut size resolution for choose offset messages.

Examples

You should substitute your own break sample to hear the effects of this cut procedure more clearly.