Skip to content

IntervalConstructor

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:13

Musical Interval Constructor Class Handles equal temperament, just intonation, and Pythagorean tuning systems

new IntervalConstructor(): IntervalConstructor

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:14

IntervalConstructor

_cache: Map<any, any>

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:16


COMMON_INTERVALS: object

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:19

major_second: number

major_seventh: number

major_sixth: number

major_third: number

minor_second: number

minor_seventh: number

minor_sixth: number

minor_third: number

octave: number = 2.0

perfect_fifth: number

perfect_fourth: number

tritone: number

unison: number = 1.0

_vectorsEqual(a, b): any

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:466

any

any

any


analyzeInterval(ratio): any

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:507

Analyze interval quality (consonance/dissonance)

number

Interval ratio

any

Analysis result


centsToRatios(cents): Float32Array<ArrayBufferLike>

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:484

Convert cents to interval ratios

any[]

Intervals in cents

Float32Array<ArrayBufferLike>

Interval ratios


getNoteNames(binsPerOctave?): string[]

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:493

Get note names for intervals (Western 12-tone system)

number = 12

Number of divisions (default: 12)

string[]

Note names


intervalFrequencies(nBins, options?): Float32Array<ArrayBufferLike>

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:60

Construct a set of frequencies from an interval set

number

The number of frequencies to generate

Configuration options

number

Bins per octave (default: 12)

number

The minimum frequency (must be > 0)

string | number[]

Interval specification

boolean

Sort intervals in ascending order (default: true)

number

Deviation from A440 in fractional bins (default: 0)

Float32Array<ArrayBufferLike>

The frequency array


plimitIntervals(options?): any[] | Float32Array<ArrayBufferLike>

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:232

Construct p-limit intervals using harmonic crystal growth algorithm

Configuration options

number

Number of intervals (default: 12)

number[]

Prime factors to use

boolean

Return prime factorization (default: false)

boolean

Sort intervals ascending (default: true)

any[] | Float32Array<ArrayBufferLike>

Intervals or their factorizations


pythagoreanIntervals(options?): any[] | Float32Array<ArrayBufferLike>

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:164

Generate Pythagorean intervals based on powers of 3

Configuration options

number

Number of intervals to generate (default: 12)

boolean

Return prime factorization (default: false)

boolean

Sort intervals ascending (default: true)

any[] | Float32Array<ArrayBufferLike>

Intervals or their factorizations


ratiosToCents(ratios): Float32Array<ArrayBufferLike>

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:475

Convert interval ratios to cents

Float32Array<ArrayBufferLike>

Interval ratios

Float32Array<ArrayBufferLike>

Intervals in cents


wellTemperedIntervals(temperament?, sort?): Float32Array<ArrayBufferLike>

Defined in: packages/pleco-xa/src/scripts/xa-intervals.js:390

Generate well-tempered intervals (historical temperaments)

string = 'werckmeister'

Temperament name (‘werckmeister’, ‘kirnberger’, ‘young’)

boolean = true

Sort intervals

Float32Array<ArrayBufferLike>

Interval ratios