Mercurial > hg > silvet
diff yeti/em.yeti @ 13:e15bc63cb146
Ranges, EM initialisation
author | Chris Cannam |
---|---|
date | Fri, 21 Mar 2014 18:12:38 +0000 |
parents | |
children | a91de434feb8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/yeti/em.yeti Fri Mar 21 18:12:38 2014 +0000 @@ -0,0 +1,31 @@ + +module em; + +mm = load may.mathmisc; +vec = load may.vector; +mat = load may.matrix; + +initialiseEM ranges notes size = + { + pitches = // z in the original + array (map do note: + map \(mm.random ()) [0..size.columns-1] + done [0..notes-1]), + sources = + mapIntoHash id // u in the original + do instrument: + array (map do note: + if note >= ranges[instrument].lowestNote and + note <= ranges[instrument].highestNote + then vec.ones size.columns + else vec.zeros size.columns + fi + done [0..notes-1]) + done (keys ranges); + }; + +{ + initialiseEM +} + +