-- klank ; the klankSpec family of functions can help create the 'spec' entry let impulse_freq = 0.125 mk reson_freq = let ampl = 1 decay_time = 16 rp = replicate (length reson_freq) k = klankSpec_k reson_freq (rp ampl) (rp decay_time) in klank (impulse ar impulse_freq 0 * 0.1) 1 0 1 k in mce (map mk [[221,614,1145,1804,2577,3456,4419] ,[977,1003,1390,1414,1432,1465,1748,1834,1919,1933,1987,2096,2107 ,2202,2238,2280,2400,2435,2507,2546,2608,2652,2691,2708]]) * 0.1 -- klank ; there is a limited form of mce let u = [1,1,1,1] p = [200,171,153,172] q = [930,971,953,1323] r = [8900,16062,9013,7892] k = mce [klankSpec_k p u u,klankSpec_k q u u,klankSpec_k r u u] s = mceTranspose k i = mce [2,2.07,2.13] t = impulse ar i 0 * 0.1 l = mce [-1,0,1] in mix (pan2 (klank t 1 0 1 s) l 0.25) ---- ; modal data import Sound.Sc3.Data.Modal {- hsc3-data -} Just reson_freq = lookup "Spinel sphere (diameter=3.6675mm)" modal_frequencies