hmt-0.15: Haskell Music Theory

Safe HaskellSafe-Inferred
LanguageHaskell98

Music.Theory.Tempo_Marking

Description

Common music notation tempo indications.

Synopsis

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

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"