Module

Data.Abc.KeySignature

Package
purescript-abc-parser
Repository
newlandsvalley/purescript-abc-parser

ABC Key Signatures and their associated scales and details of signature. The individual (sharp or flat) keys that comprise each key signature across all the modes in western music.

#notesInChromaticScale Source

notesInChromaticScale :: Int

the number of notes in a chromatic scale (12)

#diatonicScale Source

diatonicScale :: KeySignature -> KeySet

The set of keys (pitches) that comprise the diatonic scale governed by the key signature.

#keySet Source

keySet :: KeySignature -> KeySet

The set of keys (pitches) that comprise the key signature.

#modifiedKeySet Source

modifiedKeySet :: ModifiedKeySignature -> KeySet

The set of keys (pitch classes with accidental) that comprise a modified key signature (i.e. those signatures that don't represent classical western modes such as, for example, Klezmer or Balkan music.)

#isCOrSharpKey Source

isCOrSharpKey :: KeySignature -> Boolean

Is the key signature a sharp key or else a simple C Major key?

#normaliseModalKey Source

normaliseModalKey :: KeySignature -> KeySignature

normalise a modal key signature to its equivalent major key signature

#inKeySet Source

inKeySet :: Pitch -> KeySet -> Boolean

Is the pitch is in the KeySet?

#transposeKeySignatureBy Source

transposeKeySignatureBy :: Int -> ModifiedKeySignature -> ModifiedKeySignature

Transpose a key signature by a given distance.

#pitchNumbers Source

pitchNumbers :: List (Tuple Pitch Int)

a relationship between a Pitch and a note number i.e. C is 0, C Sharp is 1 B is 11 etc.

#pitchNumber Source

pitchNumber :: Pitch -> Int

the pitch number is the position of the pitch in the chromatic scale starting at C Natural = 0 (i.e. C is 0, C Sharp is 1 B is 11 etc.)