hmt-0.14: Haskell Music Theory

Safe HaskellSafe-Inferred

Music.Theory.Time_Signature

Description

Time Signatures.

Synopsis

Documentation

type Time_Signature = (Integer, Integer)Source

A Time Signature is a (numerator,denominator) pair.

ts_whole_note :: Time_Signature -> [Duration]Source

Tied, non-multiplied durations to fill a whole measure.

 ts_whole_note (3,8) == [dotted_quarter_note]
 ts_whole_note (2,2) == [whole_note]

ts_whole_note_rq :: Time_Signature -> RQSource

Duration of measure in RQ.

 map ts_whole_note_rq [(3,8),(2,2)] == [3/2,4]

ts_rq :: Time_Signature -> RQSource

Duration, in RQ, of a measure of indicated Time_Signature.

 map ts_rq [(3,4),(5,8)] == [3,5/2]

ts_divisions :: Time_Signature -> [RQ]Source

Uniform division of time signature.

 ts_divisions (3,4) == [1,1,1]
 ts_divisions (3,8) == [1/2,1/2,1/2]
 ts_divisions (2,2) == [2,2]
 ts_divisions (1,1) == [4]

ts_duration_pulses :: Time_Signature -> Duration -> RationalSource

Convert a duration to a pulse count in relation to the indicated time signature.

 ts_duration_pulses (3,8) quarter_note == 2

ts_rewrite :: Integer -> Time_Signature -> Time_SignatureSource

Rewrite time signature to indicated denominator.

 ts_rewrite 8 (3,4) == (6,8)

ts_sum :: [Time_Signature] -> Time_SignatureSource

Sum time signatures.

 ts_sum [(3,16),(1,2)] == (11,16)