hamusic-0.1.1: Library to handle abstract musicSource codeContentsIndex
Music.Analysis.Abstract.Melodic
Portabilityportable
Stabilityexperimental
Maintainersilva.samuel@alumni.uminho.pt
Contents
Combinators
Auxiliary functions
Description
This module implements Melodic Motive
Synopsis
type Pitch = Number
type MelodicNode = Maybe (Delta, Accident)
type MelodicRelative = Maybe (Delta, Accident)
type MelodicAbsolute = Maybe (Pitch, Accident)
type MelodicClass = Maybe (PitchClass, Accident)
type Accident = Maybe Number
data AccidentClass
= DoubleSharp
| Sharp
| Natural
| Flat
| DoubleFlat
| UnknowAccident Text
data PitchClass
= C
| D
| E
| F
| G
| A
| B
type MelodicClassNode = Maybe (PitchClass, Accident)
settings :: Settings
rest :: b -> ((Delta, Accident) -> b) -> MelodicNode -> b
mkRest :: MelodicNode
mkNoRest :: MelodicNode
pitch :: (Number, Accident) -> (IntegerNumber, (PitchClass, Accident))
pitch' :: (Number, Accident) -> (PitchClass, Accident)
absPitch :: (PitchClass, Accident) -> (Number, Accident)
transpose12 :: Number -> MelodicAbsolute -> MelodicAbsolute
f7to12 :: (Number, Accident) -> (Number, Accident)
f12to7 :: (Number, Accident) -> (Number, Accident)
transpose :: Number -> Motive MelodicAbsolute -> Motive MelodicAbsolute
reverse :: Motive MelodicNode -> Motive MelodicNode
symmetric :: Number -> Motive MelodicAbsolute -> Motive MelodicAbsolute
toAlpha :: Motive MelodicAbsolute -> Motive (Maybe (IntegerNumber, (PitchClass, Accident)))
toAlpha' :: Motive MelodicNode -> Motive MelodicClassNode
fromAlpha :: Motive MelodicClassNode -> Motive MelodicAbsolute
to12 :: Motive MelodicAbsolute -> Motive MelodicAbsolute
from12 :: Motive MelodicAbsolute -> Motive MelodicAbsolute
relative :: Motive MelodicAbsolute -> Motive MelodicRelative
absolute :: Motive MelodicRelative -> Motive MelodicAbsolute
Documentation
type Pitch = NumberSource
Melodic node
type MelodicNode = Maybe (Delta, Accident)Source
type MelodicRelative = Maybe (Delta, Accident)Source
type MelodicAbsolute = Maybe (Pitch, Accident)Source
type MelodicClass = Maybe (PitchClass, Accident)Source
type Accident = Maybe NumberSource
Accident is defined as number provisional. It doesn't support natural (only supports flats and sharps) To supports sharps, flats and natural, it will be Maybe Number This number is number of half-tones.
data AccidentClass Source
Constructors
DoubleSharp
Sharp
Natural
Flat
DoubleFlat
UnknowAccident Text
show/hide Instances
data PitchClass Source
Pitch Class definition
Constructors
CC
DD
EE
FF
GG
AA
BB
show/hide Instances
type MelodicClassNode = Maybe (PitchClass, Accident)Source
MelodicNode with PitchClass
settings :: SettingsSource
default settings
Combinators
rest :: b -> ((Delta, Accident) -> b) -> MelodicNode -> bSource
rest combinator
Auxiliary functions
mkRest :: MelodicNodeSource
Default rest
mkNoRest :: MelodicNodeSource
default non-rest
pitch :: (Number, Accident) -> (IntegerNumber, (PitchClass, Accident))Source
Transforms 7-number into Char notation
pitch' :: (Number, Accident) -> (PitchClass, Accident)Source
Transforms 7-number into Char notation
absPitch :: (PitchClass, Accident) -> (Number, Accident)Source
Transforms Char into 7-Number notation
transpose12 :: Number -> MelodicAbsolute -> MelodicAbsoluteSource
Transpose to 12 level
f7to12 :: (Number, Accident) -> (Number, Accident)Source
transforms 7 level to 12-level notation
f12to7 :: (Number, Accident) -> (Number, Accident)Source
transforms 12-level into 7-level notation
transpose :: Number -> Motive MelodicAbsolute -> Motive MelodicAbsoluteSource
Transposes over 7 absolute level
reverse :: Motive MelodicNode -> Motive MelodicNodeSource
Reverse
symmetric :: Number -> Motive MelodicAbsolute -> Motive MelodicAbsoluteSource
symmetric melodic
toAlpha :: Motive MelodicAbsolute -> Motive (Maybe (IntegerNumber, (PitchClass, Accident)))Source
Convert to alpha notation
toAlpha' :: Motive MelodicNode -> Motive MelodicClassNodeSource
Convert to alpha notation
fromAlpha :: Motive MelodicClassNode -> Motive MelodicAbsoluteSource
get 7-Absolute music from alpha notation
to12 :: Motive MelodicAbsolute -> Motive MelodicAbsoluteSource
Convert 7-absolute into 12-absolute notation
from12 :: Motive MelodicAbsolute -> Motive MelodicAbsoluteSource
Convert 12-absolute into 7-absolute notation
relative :: Motive MelodicAbsolute -> Motive MelodicRelativeSource
relative melodic.
absolute :: Motive MelodicRelative -> Motive MelodicAbsoluteSource
absolute PF
Produced by Haddock version 2.6.0