scamp_extensions.composers.barlicity

Module containing implementations of many of Clarence Barlow’s theoretical constructs. These include:

  • Indigestibility

  • Harmonicity (including harmonicity-based scale rationalization)

  • Rhythmic indispensability

  • Metric Coherence

All of these are described in his book, “On Musiquantics”. (http://clarlow.org/wp-content/uploads/2016/10/On-MusiquanticsA4.pdf)

Functions

calculate_metric_coherence(...[, ...])

Calculates the "metric coherence" of two meters, as described on pages 46-47 of Barlow's "On Musiquantics".

calculate_metric_similarity(...[, ...])

As Barlow explains on page 46 of "On Musiquantics," the metric coherece of a meter with itself is not always 1.

get_indispensability_array(rhythmic_strata)

A slightly more general approach to indispensability than the one proposed by Barlow.

get_standard_indispensability_array(...[, ...])

Returns a list of the indispensabilities of different pulses in a meter defined by the rhythmic_strata.

harmonicity(p, q)

Returns a number representing the simplicity (and thereby a kind of consonance) of an interval with frequency ratio of p/q.

indigestibility(n)

Returns a number representing how hard it is for a human to divide an object (e.g.

rationalize_scale(cents_values, ...[, ...])

Uses Clarence Barlow's algorithms for scale rationalization to determine optimal rational tunings given an input scale in cents values.