hmt-0.15: Haskell Music Theory

Safe HaskellSafe-Inferred
LanguageHaskell98

Music.Theory.Tuning.Syntonic

Description

Syntonic tuning.

Synopsis

Documentation

mk_isomorphic_layout :: Integral a => a -> a -> (a, a) -> [[(a, a)]] Source

Construct an isomorphic layout of r rows and c columns with an upper left value of (i,j).

minimal_isomorphic_note_layout :: [[(Int, Int)]] Source

A minimal isomorphic note layout.

let [i,j,k] = mk_isomorphic_layout 3 5 (3,-4)
in [i,take 4 j,(2,-4):take 4 k] == minimal_isomorphic_note_layout

rank_two_regular_temperament :: Integral a => a -> a -> [(a, a)] -> [a] Source

Make a rank two regular temperament from a list of (i,j) positions by applying the scalars a and b.

mk_syntonic_tuning :: Int -> [Cents] Source

Syntonic tuning system based on mk_isomorphic_layout of 5 rows and 7 columns starting at (3,-4) and a rank_two_regular_temperament with a of 1200 and indicated b.

syntonic_697 :: Tuning Source

mk_syntonic_tuning of 697.

divisions syntonic_697 == 17
let c = [0,79,194,273,309,388,467,503,582,697,776,812,891,970,1006,1085,1164]
in cents_i syntonic_697 == c

syntonic_702 :: Tuning Source

mk_syntonic_tuning of 702.

divisions syntonic_702 == 17
let c = [0,24,114,204,294,318,408,498,522,612,702,792,816,906,996,1020,1110]
in cents_i syntonic_702 == c