-- | Bohlen-Pierce tones
module Temporal.Music.Western.BohlenPierce(
-- * Tones
StepBP(..),
c, cs, cb, d, ds, db, e, es, eb,
f, fs, fb, g, gs, gb, h, hs, hb,
j, js, jb, a, as, ab, b, bs, bb,
-- * 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, cb, d, ds, db, e, es, eb,
f, fs, fb, g, gs, gb, h, hs, hb,
j, js, jb, a, as, ab, b, bs, bb :: 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
cb = b
ds = e
db = cs
es = f
eb = d
fb = e
gs = h
gb = fs
hb = g
js = a
jb = hs
ab = j
bb = as
bs = c