hmt-0.20: Haskell Music Theory
Safe HaskellSafe-Inferred
LanguageHaskell2010

Music.Theory.Tuning.Scala.Functions

Description

Synopsis

Documentation

equaltemp :: Double -> Double -> Int -> [Double] Source #

http://www.huygens-fokker.org/scala/help.htm#EQUALTEMP

map round (equaltemp 12 2 13) == [0,100,200,300,400,500,600,700,800,900,1000,1100,1200]
map round (equaltemp 13 3 14) == [0,146,293,439,585,732,878,1024,1170,1317,1463,1609,1756,1902]
map round (equaltemp 12.5 3 14) == [0,152,304,456,609,761,913,1065,1217,1369,1522,1674,1826,1978]

lineartemp :: (Fractional n, Ord n) => Int -> n -> () -> n -> Int -> [n] Source #

http://www.huygens-fokker.org/scala/help.htm#LINEARTEMP

let py = lineartemp 12 2 () (3/2 :: Rational) 3
py == [1/1,2187/2048,9/8,32/27,81/64,4/3,729/512,3/2,6561/4096,27/16,16/9,243/128,2/1]

INTERVALS

interval_hist_ratios :: (Fractional t, Ord t) => [t] -> [(t, Int)] Source #

intervals_list_ratios :: String -> IO () Source #

http://www.huygens-fokker.org/scala/help.htm#SHOW_INTERVALS

mapM_ intervals_list_ratios (words "pyth_12 kepler1")

INTERVALS

interval_half_matrix :: (t -> t -> u) -> [t] -> [[u]] Source #

Given interval function (ie. - or /) and scale generate interval half-matrix.

interval_half_matrix_tbl :: (t -> String) -> (t -> t -> t) -> [t] -> [[String]] Source #

intervals_half_matrix :: (Scale -> [t]) -> (t -> t -> t) -> (t -> String) -> String -> IO () Source #

intervals_matrix_wr :: (t -> String) -> [[t]] -> IO () Source #

intervals_matrix :: (Scale -> [t]) -> ([t] -> [[t]]) -> (t -> String) -> String -> IO () Source #