-- | Bohlen-Pierce tones module Temporal.Music.Western.BohlenPierce( -- * Tones StepBP(..), c, cs, cf, d, ds, df, e, es, ef, f, fs, ff, g, gs, gf, h, hs, hf, j, js, jf, a, as, af, b, bs, bf, -- * Scales eqBP, justBP ) where import Temporal.Music.Notation.Seg(Seg) import Temporal.Music.Notation.Pitch import Temporal.Music.Notation.Scales(eqBP, justBP) -- | Tones for Bohlen-Pierce 13-tone scale. -- Default scale defined in 'Pch' class is equal -- temperament Bohlen-Pierce scale data StepBP = C | Cs | D | E | F | Fs | G | H | Hs | J | A | As | B deriving (Enum, Bounded, Eq, Show) instance Seg StepBP instance Pch StepBP where pitch = Pitch (eqBP 0 c1) c, cs, cf, d, ds, df, e, es, ef, f, fs, ff, g, gs, gf, h, hs, hf, j, js, jf, a, as, af, b, bs, bf :: Tone StepBP c = tone C cs = tone Cs d = tone D e = tone E f = tone F fs = tone Fs g = tone G h = tone H hs = tone Hs j = tone J a = tone A as = tone As b = tone B cf = b ds = e df = cs es = f ef = d ff = e gs = h gf = fs hf = g js = a jf = hs af = j bf = as bs = c