music-diatonic-0.0.1: Implementation of basic western musical theory objects.

Music.Diatonic.Degree

Description

This module implements scale degrees.

Synopsis

Documentation

data Degree Source

Use these constructors to create Degrees. To alter them, use the flat or sharp functions along with the $# operator.

Constructors

First 
Second 
Third 
Fourth 
Fifth 
Sixth 
Seventh 

class Eq n => Deg s n | s -> n whereSource

Methods

degrees :: s -> [(Degree, n)]Source

Returns all the naturally occuring Degrees in s, along with the element that corresponds to the Degree.

degree :: s -> n -> Maybe DegreeSource

Returns the degree of n in s.

findDegree :: s -> Degree -> Maybe nSource

Returns the n in s that correcponds to the specified Degree.

showDegree :: s -> Degree -> Maybe StringSource

Returns a string representation of the Degree within the context of s.

tonic :: s -> nSource

Returns the tonic of s.

first :: s -> nSource

Alias for tonic.

supertonic :: s -> Maybe nSource

leadingTone :: s -> Maybe nSource

subtonic :: s -> Maybe nSource

submediant :: s -> Maybe nSource

dominant :: s -> Maybe nSource

subdominant :: s -> Maybe nSource

mediant :: s -> Maybe nSource

second :: s -> Maybe nSource

seventh :: s -> Maybe nSource

sixth :: s -> Maybe nSource

fifth :: s -> Maybe nSource

fourth :: s -> Maybe nSource

third :: s -> Maybe nSource

intervalDegree :: Interval -> DegreeSource

Returns the Degree that corresponds to the specified Interval.

 intervalDegree Maj3rd == Third
 intervalDegree Min3rd == (flat $# Third)

degreeInterval :: Degree -> IntervalSource

Returns the Interval that corresponds to the specified Degree.

 degreeInterval Third == Maj3rd
 degreeInterval (flat $# Third) == Min3rd