GIS-0.0.7.6: An implementation of David Lewin's Generalized Interval Systems
Copyright(c) Eric Bailey 2021-2025
LicenseMIT
Maintainereric@ericb.me
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Data.PitchClass.Chromatic

Description

Chromatic pc-space and p-space.

Synopsis

Documentation

data PitchClass Source #

The twelve chromatic pitch classes.

Constructors

C 
Cis 
D 
Dis 
E 
F 
Fis 
G 
Gis 
A 
Ais 
B 

Instances

Instances details
Bounded PitchClass Source # 
Instance details

Defined in Data.PitchClass.Chromatic

Enum PitchClass Source # 
Instance details

Defined in Data.PitchClass.Chromatic

Generic PitchClass Source # 
Instance details

Defined in Data.PitchClass.Chromatic

Associated Types

type Rep PitchClass 
Instance details

Defined in Data.PitchClass.Chromatic

type Rep PitchClass = D1 ('MetaData "PitchClass" "Data.PitchClass.Chromatic" "GIS-0.0.7.6-CaSSpC8zQ1530uQnkUunXS" 'False) (((C1 ('MetaCons "C" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Cis" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "D" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Dis" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "E" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "F" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Fis" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "G" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gis" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "A" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Ais" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "B" 'PrefixI 'False) (U1 :: Type -> Type)))))
Num PitchClass Source #

Modular arithmetic. Only the fromInteger function is supposed to be useful.

Instance details

Defined in Data.PitchClass.Chromatic

Show PitchClass Source # 
Instance details

Defined in Data.PitchClass.Chromatic

Finitary PitchClass Source # 
Instance details

Defined in Data.PitchClass.Chromatic

Associated Types

type Cardinality PitchClass 
Instance details

Defined in Data.PitchClass.Chromatic

type Cardinality PitchClass = GCardinality (Rep PitchClass)
Eq PitchClass Source # 
Instance details

Defined in Data.PitchClass.Chromatic

Ord PitchClass Source # 
Instance details

Defined in Data.PitchClass.Chromatic

Act C₁₂ PitchClass Source #

C₁₂ acts on PitchClass

Instance details

Defined in Data.PitchClass.Chromatic

Torsor C₁₂ PitchClass Source #

The C₁₂-torsor where the action determines the interval (int)

Instance details

Defined in Data.PitchClass.Chromatic

type IntervalOf PitchClass Source #

In chromatic pc-space, the twelve pitch classes can be labeled by the elements of the cyclic group of order \(12\), C₁₂.

Instance details

Defined in Data.PitchClass.Chromatic

type Rep PitchClass Source # 
Instance details

Defined in Data.PitchClass.Chromatic

type Rep PitchClass = D1 ('MetaData "PitchClass" "Data.PitchClass.Chromatic" "GIS-0.0.7.6-CaSSpC8zQ1530uQnkUunXS" 'False) (((C1 ('MetaCons "C" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Cis" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "D" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Dis" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "E" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "F" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Fis" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "G" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gis" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "A" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Ais" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "B" 'PrefixI 'False) (U1 :: Type -> Type)))))
type Cardinality PitchClass Source # 
Instance details

Defined in Data.PitchClass.Chromatic

type Cardinality PitchClass = GCardinality (Rep PitchClass)
type IntervalOf (Pitch PitchClass) Source #

In chromatic p-space, pitches can be labeled by the elements of the group of integers under addition, \((\mathbb{Z}, +)\).

Instance details

Defined in Data.PitchClass.Chromatic

Chromatic pc-space

type C₁₂ = Sum (Finite 12) Source #

The cyclic group of order \(12\), denoted \(C_{12}\) or \(\mathbb{Z}_{12}\).

Chromatic p-space

Pattern synonyms are defined for C0 through B10.

pattern B10 :: Pitch PitchClass Source #

B10 = Pitch (B, 10)

pattern Ais10 :: Pitch PitchClass Source #

Ais10 = Pitch (Ais, 10)

pattern A10 :: Pitch PitchClass Source #

A10 = Pitch (A, 10)

pattern Gis10 :: Pitch PitchClass Source #

Gis10 = Pitch (Gis, 10)

pattern G10 :: Pitch PitchClass Source #

G10 = Pitch (G, 10)

pattern Fis10 :: Pitch PitchClass Source #

Fis10 = Pitch (Fis, 10)

pattern F10 :: Pitch PitchClass Source #

F10 = Pitch (F, 10)

pattern E10 :: Pitch PitchClass Source #

E10 = Pitch (E, 10)

pattern Dis10 :: Pitch PitchClass Source #

Dis10 = Pitch (Dis, 10)

pattern D10 :: Pitch PitchClass Source #

D10 = Pitch (D, 10)

pattern Cis10 :: Pitch PitchClass Source #

Cis10 = Pitch (Cis, 10)

pattern C10 :: Pitch PitchClass Source #

C10 = Pitch (C, 10)

pattern B9 :: Pitch PitchClass Source #

B9 = Pitch (B, 9)

pattern Ais9 :: Pitch PitchClass Source #

Ais9 = Pitch (Ais, 9)

pattern A9 :: Pitch PitchClass Source #

A9 = Pitch (A, 9)

pattern Gis9 :: Pitch PitchClass Source #

Gis9 = Pitch (Gis, 9)

pattern G9 :: Pitch PitchClass Source #

G9 = Pitch (G, 9)

pattern Fis9 :: Pitch PitchClass Source #

Fis9 = Pitch (Fis, 9)

pattern F9 :: Pitch PitchClass Source #

F9 = Pitch (F, 9)

pattern E9 :: Pitch PitchClass Source #

E9 = Pitch (E, 9)

pattern Dis9 :: Pitch PitchClass Source #

Dis9 = Pitch (Dis, 9)

pattern D9 :: Pitch PitchClass Source #

D9 = Pitch (D, 9)

pattern Cis9 :: Pitch PitchClass Source #

Cis9 = Pitch (Cis, 9)

pattern C9 :: Pitch PitchClass Source #

C9 = Pitch (C, 9)

pattern B8 :: Pitch PitchClass Source #

B8 = Pitch (B, 8)

pattern Ais8 :: Pitch PitchClass Source #

Ais8 = Pitch (Ais, 8)

pattern A8 :: Pitch PitchClass Source #

A8 = Pitch (A, 8)

pattern Gis8 :: Pitch PitchClass Source #

Gis8 = Pitch (Gis, 8)

pattern G8 :: Pitch PitchClass Source #

G8 = Pitch (G, 8)

pattern Fis8 :: Pitch PitchClass Source #

Fis8 = Pitch (Fis, 8)

pattern F8 :: Pitch PitchClass Source #

F8 = Pitch (F, 8)

pattern E8 :: Pitch PitchClass Source #

E8 = Pitch (E, 8)

pattern Dis8 :: Pitch PitchClass Source #

Dis8 = Pitch (Dis, 8)

pattern D8 :: Pitch PitchClass Source #

D8 = Pitch (D, 8)

pattern Cis8 :: Pitch PitchClass Source #

Cis8 = Pitch (Cis, 8)

pattern C8 :: Pitch PitchClass Source #

C8 = Pitch (C, 8)

pattern B7 :: Pitch PitchClass Source #

B7 = Pitch (B, 7)

pattern Ais7 :: Pitch PitchClass Source #

Ais7 = Pitch (Ais, 7)

pattern A7 :: Pitch PitchClass Source #

A7 = Pitch (A, 7)

pattern Gis7 :: Pitch PitchClass Source #

Gis7 = Pitch (Gis, 7)

pattern G7 :: Pitch PitchClass Source #

G7 = Pitch (G, 7)

pattern Fis7 :: Pitch PitchClass Source #

Fis7 = Pitch (Fis, 7)

pattern F7 :: Pitch PitchClass Source #

F7 = Pitch (F, 7)

pattern E7 :: Pitch PitchClass Source #

E7 = Pitch (E, 7)

pattern Dis7 :: Pitch PitchClass Source #

Dis7 = Pitch (Dis, 7)

pattern D7 :: Pitch PitchClass Source #

D7 = Pitch (D, 7)

pattern Cis7 :: Pitch PitchClass Source #

Cis7 = Pitch (Cis, 7)

pattern C7 :: Pitch PitchClass Source #

C7 = Pitch (C, 7)

pattern B6 :: Pitch PitchClass Source #

B6 = Pitch (B, 6)

pattern Ais6 :: Pitch PitchClass Source #

Ais6 = Pitch (Ais, 6)

pattern A6 :: Pitch PitchClass Source #

A6 = Pitch (A, 6)

pattern Gis6 :: Pitch PitchClass Source #

Gis6 = Pitch (Gis, 6)

pattern G6 :: Pitch PitchClass Source #

G6 = Pitch (G, 6)

pattern Fis6 :: Pitch PitchClass Source #

Fis6 = Pitch (Fis, 6)

pattern F6 :: Pitch PitchClass Source #

F6 = Pitch (F, 6)

pattern E6 :: Pitch PitchClass Source #

E6 = Pitch (E, 6)

pattern Dis6 :: Pitch PitchClass Source #

Dis6 = Pitch (Dis, 6)

pattern D6 :: Pitch PitchClass Source #

D6 = Pitch (D, 6)

pattern Cis6 :: Pitch PitchClass Source #

Cis6 = Pitch (Cis, 6)

pattern C6 :: Pitch PitchClass Source #

C6 = Pitch (C, 6)

pattern B5 :: Pitch PitchClass Source #

B5 = Pitch (B, 5)

pattern Ais5 :: Pitch PitchClass Source #

Ais5 = Pitch (Ais, 5)

pattern A5 :: Pitch PitchClass Source #

A5 = Pitch (A, 5)

pattern Gis5 :: Pitch PitchClass Source #

Gis5 = Pitch (Gis, 5)

pattern G5 :: Pitch PitchClass Source #

G5 = Pitch (G, 5)

pattern Fis5 :: Pitch PitchClass Source #

Fis5 = Pitch (Fis, 5)

pattern F5 :: Pitch PitchClass Source #

F5 = Pitch (F, 5)

pattern E5 :: Pitch PitchClass Source #

E5 = Pitch (E, 5)

pattern Dis5 :: Pitch PitchClass Source #

Dis5 = Pitch (Dis, 5)

pattern D5 :: Pitch PitchClass Source #

D5 = Pitch (D, 5)

pattern Cis5 :: Pitch PitchClass Source #

Cis5 = Pitch (Cis, 5)

pattern C5 :: Pitch PitchClass Source #

C5 = Pitch (C, 5)

pattern B4 :: Pitch PitchClass Source #

B4 = Pitch (B, 4)

pattern Ais4 :: Pitch PitchClass Source #

Ais4 = Pitch (Ais, 4)

pattern A4 :: Pitch PitchClass Source #

A4 = Pitch (A, 4)

pattern Gis4 :: Pitch PitchClass Source #

Gis4 = Pitch (Gis, 4)

pattern G4 :: Pitch PitchClass Source #

G4 = Pitch (G, 4)

pattern Fis4 :: Pitch PitchClass Source #

Fis4 = Pitch (Fis, 4)

pattern F4 :: Pitch PitchClass Source #

F4 = Pitch (F, 4)

pattern E4 :: Pitch PitchClass Source #

E4 = Pitch (E, 4)

pattern Dis4 :: Pitch PitchClass Source #

Dis4 = Pitch (Dis, 4)

pattern D4 :: Pitch PitchClass Source #

D4 = Pitch (D, 4)

pattern Cis4 :: Pitch PitchClass Source #

Cis4 = Pitch (Cis, 4)

pattern C4 :: Pitch PitchClass Source #

C4 = Pitch (C, 4)

pattern B3 :: Pitch PitchClass Source #

B3 = Pitch (B, 3)

pattern Ais3 :: Pitch PitchClass Source #

Ais3 = Pitch (Ais, 3)

pattern A3 :: Pitch PitchClass Source #

A3 = Pitch (A, 3)

pattern Gis3 :: Pitch PitchClass Source #

Gis3 = Pitch (Gis, 3)

pattern G3 :: Pitch PitchClass Source #

G3 = Pitch (G, 3)

pattern Fis3 :: Pitch PitchClass Source #

Fis3 = Pitch (Fis, 3)

pattern F3 :: Pitch PitchClass Source #

F3 = Pitch (F, 3)

pattern E3 :: Pitch PitchClass Source #

E3 = Pitch (E, 3)

pattern Dis3 :: Pitch PitchClass Source #

Dis3 = Pitch (Dis, 3)

pattern D3 :: Pitch PitchClass Source #

D3 = Pitch (D, 3)

pattern Cis3 :: Pitch PitchClass Source #

Cis3 = Pitch (Cis, 3)

pattern C3 :: Pitch PitchClass Source #

C3 = Pitch (C, 3)

pattern B2 :: Pitch PitchClass Source #

B2 = Pitch (B, 2)

pattern Ais2 :: Pitch PitchClass Source #

Ais2 = Pitch (Ais, 2)

pattern A2 :: Pitch PitchClass Source #

A2 = Pitch (A, 2)

pattern Gis2 :: Pitch PitchClass Source #

Gis2 = Pitch (Gis, 2)

pattern G2 :: Pitch PitchClass Source #

G2 = Pitch (G, 2)

pattern Fis2 :: Pitch PitchClass Source #

Fis2 = Pitch (Fis, 2)

pattern F2 :: Pitch PitchClass Source #

F2 = Pitch (F, 2)

pattern E2 :: Pitch PitchClass Source #

E2 = Pitch (E, 2)

pattern Dis2 :: Pitch PitchClass Source #

Dis2 = Pitch (Dis, 2)

pattern D2 :: Pitch PitchClass Source #

D2 = Pitch (D, 2)

pattern Cis2 :: Pitch PitchClass Source #

Cis2 = Pitch (Cis, 2)

pattern C2 :: Pitch PitchClass Source #

C2 = Pitch (C, 2)

pattern B1 :: Pitch PitchClass Source #

B1 = Pitch (B, 1)

pattern Ais1 :: Pitch PitchClass Source #

Ais1 = Pitch (Ais, 1)

pattern A1 :: Pitch PitchClass Source #

A1 = Pitch (A, 1)

pattern Gis1 :: Pitch PitchClass Source #

Gis1 = Pitch (Gis, 1)

pattern G1 :: Pitch PitchClass Source #

G1 = Pitch (G, 1)

pattern Fis1 :: Pitch PitchClass Source #

Fis1 = Pitch (Fis, 1)

pattern F1 :: Pitch PitchClass Source #

F1 = Pitch (F, 1)

pattern E1 :: Pitch PitchClass Source #

E1 = Pitch (E, 1)

pattern Dis1 :: Pitch PitchClass Source #

Dis1 = Pitch (Dis, 1)

pattern D1 :: Pitch PitchClass Source #

D1 = Pitch (D, 1)

pattern Cis1 :: Pitch PitchClass Source #

Cis1 = Pitch (Cis, 1)

pattern C1 :: Pitch PitchClass Source #

C1 = Pitch (C, 1)

pattern B0 :: Pitch PitchClass Source #

B0 = Pitch (B, 0)

pattern Ais0 :: Pitch PitchClass Source #

Ais0 = Pitch (Ais, 0)

pattern A0 :: Pitch PitchClass Source #

A0 = Pitch (A, 0)

pattern Gis0 :: Pitch PitchClass Source #

Gis0 = Pitch (Gis, 0)

pattern G0 :: Pitch PitchClass Source #

G0 = Pitch (G, 0)

pattern Fis0 :: Pitch PitchClass Source #

Fis0 = Pitch (Fis, 0)

pattern F0 :: Pitch PitchClass Source #

F0 = Pitch (F, 0)

pattern E0 :: Pitch PitchClass Source #

E0 = Pitch (E, 0)

pattern Dis0 :: Pitch PitchClass Source #

Dis0 = Pitch (Dis, 0)

pattern D0 :: Pitch PitchClass Source #

D0 = Pitch (D, 0)

pattern Cis0 :: Pitch PitchClass Source #

Cis0 = Pitch (Cis, 0)

pattern C0 :: Pitch PitchClass Source #

C0 = Pitch (C, 0)