A collection of functions that returns a Boolean about various features regarding the scale
Methods
# (static) deep() → {Boolean}
Returns true if the scale a deep scale
- See:
-
- Clough, J., et al. (1999). "Scales, sets, and interval cycles: A taxonomy." Music Theory Spectrum 21(1): 74-104.
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major scale
scale.is.deep() //returns true
# (static) distributionally_even() → {Boolean}
Returns true if the scale is distributionally even
- See:
-
- Clough, J., et al. (1999). "Scales, sets, and interval cycles: A taxonomy." Music Theory Spectrum 21(1): 74-104.
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major scale
scale.is.distributionally_even() //returns true
# (static) in_lower_edos(cache) → {Boolean}
Returns a list of (lower-order) EDOs if the scale can be represented in them.
For instance 12-EDO [0,3,6,9]
also exists in in 4-EDO as [0,1,2,3]
. Therefore the function will return [4]
Name | Type | Description |
---|---|---|
cache |
Boolean | When true, the result will be cached for faster retrieval in subsequent calls. |
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,3,6,9]) //fully diminished chord
scale.is.in_lower_edos() //returns [4]
# (static) invertible(cacheopt) → {Boolean}
Returns true if the scale is invertible and false if it isn't
Name | Type | Attributes | Description |
---|---|---|---|
cache |
Boolean |
<optional> |
when true, the result will be cached for future retrieval |
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major
scale.is.invertible() //returns false
# (static) maximally_even() → {Boolean}
Returns true if the scale is maximally even
- See:
-
- Clough, J., et al. (1999). "Scales, sets, and interval cycles: A taxonomy." Music Theory Spectrum 21(1): 74-104.
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major scale
scale.is.maximally_even() //returns true
# (static) mode_of(scales) → {Boolean}
Checks if the scale is a mode / rotation of another scale
To check again multiple scale see Scale.is.one_of
Name | Type | Description |
---|---|---|
scales |
Array.<Number> | a collection of scales (or necklaces) |
- See:
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major
scale.is.mode_of([0,2,3,5,7,9,10]) //returns true
# (static) MOLT() → {Boolean}
Checks if the scale is a mode of limited transpositions
- See:
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,6,8,10]) //whole-tones
scale.is.MOLT() //returns true
# (static) myhill_property() → {Boolean}
Returns true if the scale has the Myhill property
- See:
-
- Scale#get.myhill_property
- Clough, J., et al. (1999). "Scales, sets, and interval cycles: A taxonomy." Music Theory Spectrum 21(1): 74-104.
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major scale
scale.is.myhill_property() //returns true
# (static) normal_order() → {Boolean}
Returns True if the scale is in normal order and False if it isn't
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major
scale.is.normal_order() //returns false
# (static) one_of(scales) → {Boolean}
Checks if the scale (as a whole!) is one of the scales given in a list of scales (or in one of their modes)
Name | Type | Description |
---|---|---|
scales |
Array.<Array.<Number>> | a collection of scales (more accurately, necklaces) |
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major
scale.is.one_of([[0,2,3,5,7,9,10],[0,1,2,3,4,5,6,7,8,9]]) //returns true
# (static) prime_form() → {Boolean}
Returns True if the scale is in prime form and False if it isn't.
(Notice, the prime form calculation conforms to Rahn's prime form rather than Forte's)- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major
scale.is.prime_form() //returns false
# (static) sharper() → {Boolean}
Returns True if the scale is sharper than another scale (if on average it has higher pitches).
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major
//Is the major sharper than lydian?
scale.is.sharper([0,2,4,6,7,9,11]) //returns false
//Is the major sharper than itself?
scale.is.sharper([0,2,4,5,7,9,11]) //returns false
//Is the major sharper than mixolydian?
scale.is.sharper([0,2,4,5,7,9,10]) //returns true
# (static) subset(scales, include_modesopt) → {Boolean}
Returns true if the scale is a subset of one of multiple scales provided.
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
scales |
Array.<Number> | Array.<Array.<Number>> | another scale, or a collection of scales |
||
include_modes |
Boolean |
<optional> |
true | When true, the function will return true also when the scale is a subset of one of the modes of the scales in question. When false, the scale must appear verbatim to return true |
- Type
- Boolean
let edo = new EDO(12) //define context
let scale = edo.scale([0,2,4,5,7,9,11]) //major
scale.is.subset([[0,2,4,5],[7,9,11]]) //returns false