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

Music.Theory.Tuning.Sethares_1994

Description

William A. Sethares. "Adaptive Tunings for Musical Scales". Journal of the Acoustical Society of America, 96(1), July 1994.

Synopsis

Documentation

pl_dissonance :: (Floating n, Ord n) => (n, n) -> (n, n) -> n Source #

Plomp-Levelt consonance curve.

R. Plomp and W. J. M. Levelt, "Tonal Consonance and Critical Bandwidth," Journal of the Acoustical Society of America.38, 548-560 (1965).

"Relating Tuning and Timbre" http://sethares.engr.wisc.edu/consemi.html MATLAB: https://sethares.engr.wisc.edu/comprog.html

import Sound.SC3.Plot 
plot_p1_ln [map (\f -> pl_dissonance (220,1) (f,1)) [220 .. 440]]

pl_dissonance_h :: (Floating n, Ord n) => [(n, n)] -> [(n, n)] -> n Source #

Sum of pl_dissonance for all p in s1 and all q in s2.

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

Return local minima of sequence with index.

atms_fig_1 :: (Floating n, Enum n, Ord n) => [[n]] Source #

William A. Sethares "Adaptive Tunings for Musical Scales".

plot_p1_ln atms_fig_1

atms_fig_2 :: (Ord t, Floating t, Enum t) => t -> [t] Source #

atms_fig_3 :: (Ord t, Floating t, Enum t) => t -> [t] Source #

rtt_fig_2 :: (Ord t, Floating t, Enum t) => t -> [t] Source #

"Relating Tuning and Timbre" http://sethares.engr.wisc.edu/consemi.html

plot_p1_ln [rtt_fig_2 880]
map fst (local_minima (rtt_fig_2 880)) == [267,316,386,498,582,702,884,969]