Aoide-0.1.0.2: A simple music library with the capability of generating .ly and .mid files.

Safe HaskellNone
LanguageHaskell2010

Composition.Theory

Description

This module contains functions for computing intervals and classifying chords.

Synopsis

Documentation

data Interval_number Source #

Interval numbers.

Constructors

Prime 
Second 
Third 
Fourth 
Fifth 
Sixth 
Seventh 

data Interval_quality Source #

Interval qualities, allowing for up to three levels of augmentation.

accidental_semitones :: Accidental -> Int Source #

Returns the number of semitones by which the accidental adjusts the pitch.

compute_interval_name :: Note_name -> Note_name -> Interval_name Source #

Computes the interval between two note names.

invert_interval_name :: Interval_name -> Interval_name Source #

Inverts the interval name.

semitones_from_c :: Note_name -> Int Source #

Computes the number of semitones from C. C♭ is considered to be -1 semitone from C and B♯ 12 semitones from C.

steps_from_c :: Note_name -> Int Source #

Computes the number of steps from C.