hmt-0.15: Haskell Music Theory

Safe Haskell | Safe
Language | Haskell98

Music.Theory.Tempo_Marking

Description

Common music notation tempo indications.

Synopsis

- type Tempo_Marking = (Duration, Rational)
- rq_to_seconds :: Tempo_Marking -> RQ -> Rational
- pulse_duration :: Time_Signature -> Tempo_Marking -> Rational
- measure_duration :: Time_Signature -> Tempo_Marking -> Rational
- measure_duration_f :: Fractional c => Time_Signature -> Tempo_Marking -> c
- metronome_table_wittner :: Num n => [(String, (n, n))]
- metronome_table_nikko :: Num n => [(String, (n, n))]
- mm_name :: (Num a, Ord a) => [(String, (a, a))] -> a -> Maybe String

# Documentation

type Tempo_Marking = (Duration, Rational) Source #

A tempo marking is in terms of a common music notation `Duration`.

rq_to_seconds :: Tempo_Marking -> RQ -> Rational Source #

Duration of a RQ value, in seconds, given indicated tempo.

    rq_to_seconds (quarter_note,90) 1 == 60/90

pulse_duration :: Time_Signature -> Tempo_Marking -> Rational Source #

The duration, in seconds, of a pulse at the indicated time signature and tempo marking.

    import Music.Theory.Duration.Name
    pulse_duration (6,8) (quarter_note,60) == 1/2

measure_duration :: Time_Signature -> Tempo_Marking -> Rational Source #

The duration, in seconds, of a measure at the indicated time signaure and tempo marking.

    measure_duration (3,4) (quarter_note,90) == 2
    measure_duration (6,8) (quarter_note,120) == 3/2

measure_duration_f :: Fractional c => Time_Signature -> Tempo_Marking -> c Source #

`Fractional` variant of `measure_duration`.

metronome_table_wittner :: Num n => [(String, (n, n))] Source #

Italian terms and markings from Wittner metronome (W.-Germany). http://wittner-gmbh.de/

metronome_table_nikko :: Num n => [(String, (n, n))] Source #

Italian terms and markings from Nikko Seiki metronome (Japan). http://nikkoseiki.com/

mm_name :: (Num a, Ord a) => [(String, (a, a))] -> a -> Maybe String Source #

Lookup metronome mark in table.

    mm_name metronome_table_nikko 72 == Just "Andante"