haskore-0.1.0.2: The Haskore Computer Music SystemSource codeContentsIndex
Haskore.Basic.Pitch
Synopsis
type T = (Octave, Class)
data Class
= Cf
| C
| Cs
| Df
| D
| Ds
| Ef
| E
| Es
| Ff
| F
| Fs
| Gf
| G
| Gs
| Af
| A
| As
| Bf
| B
| Bs
type Octave = Int
type Absolute = Int
type Relative = Int
toInt :: T -> Absolute
fromInt :: Absolute -> T
classToInt :: Class -> Relative
classParse :: ReadS Class
classFormat :: Class -> ShowS
intToFreq :: Floating a => Absolute -> a
transpose :: Relative -> T -> T
Documentation
type T = (Octave, Class)Source
data Class Source
Constructors
Cf
C
Cs
Df
D
Ds
Ef
E
Es
Ff
F
Fs
Gf
G
Gs
Af
A
As
Bf
B
Bs
show/hide Instances
type Octave = IntSource

& code{(-3,A)} & 27.5 Hz \ $A_1$ & code{(-2,A)} & 55.0 Hz \ $A $ & code{(-1,A)} & 110.0 Hz \ $a $ & code{( 0,A)} & 220.0 Hz \ $a^1$ & code{( 1,A)} & 440.0 Hz \ $a^2$ & code{( 2,A)} & 880.0 Hz end{tabular} end{center} caption{Note names, Haskore representations and frequencies.} figlabel{note-freqs} end{figure}

Treating pitches simply as integers is useful in many settings, so let's also define some functions for converting between type{Pitch.T} values and type{Pitch.Absolute} values (integers): begin{haskelllisting}

type Absolute = IntSource
type Relative = IntSource
toInt :: T -> AbsoluteSource
fromInt :: Absolute -> TSource
classToInt :: Class -> RelativeSource
classParse :: ReadS ClassSource
classFormat :: Class -> ShowSSource
intToFreq :: Floating a => Absolute -> aSource
transpose :: Relative -> T -> TSource
Produced by Haddock version 2.7.2