Compare commits

...

5 Commits

Author SHA1 Message Date
loooph 5a1ad32176 Add setcps 2023-02-22 19:28:55 +01:00
loooph 0f3df3c7c5 Use stack to play multiple graphs at once 2023-02-22 19:28:25 +01:00
loooph 4a4dc5dc13 Add use modulus of vertex value for notes to avoid them getting too high 2023-02-22 19:27:19 +01:00
loooph 08f1329fdf Add nubbeKG graph 2023-02-22 19:26:51 +01:00
loooph 94d7472c03 Add function to generate paths 2023-02-22 19:25:33 +01:00
1 changed files with 15 additions and 7 deletions

View File

@ -60,6 +60,10 @@ instrument g e
--
-- complete graph
k n = buildG (1,n) [(u,v)|u <- [1..n],v <- [1..n]]
-- path
p n = buildG (1,n) [(u,u+1)|u <- [1..n-1]]
-- reversed path TODO function to reverse all edges for arbitary graphs
p' n = buildG (1,n) [(u+1,u)|u <- [1..n-1]]
-- TODO Tiefe
-- TODO Wurzel betonen
@ -70,23 +74,25 @@ g1 = buildG (0,6) [(1,5),(1,2),(1,3),(2,4),(3,6),(4,2),(4,3),(5,1),(5,2),(5,6),(
g2 = buildG (0,6) $ id <$> [(0,1),(1,2),(2,3),(3,4),(4,5),(5,6),(2,1)]
t1 = buildG (1,15) [(1,4),(1,12),(4,2),(4,6),(2,8),(2,3),(6,5),(6,7),(12,10),(12,14),(10,9),(10,11),(14,13),(14,15)]
--
nubbeKG = buildG (0,89) [(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,52),(0,53),(0,54),(1,68),(1,69),(1,70),(2,71),(2,72),(2,73),(2,74),(3,75),(3,76),(3,77),(3,78),(3,79),(3,80),(3,81),(3,82),(3,83),(3,84),(3,85),(3,86),(3,87),(3,88),(3,89),(4,7),(4,8),(4,9),(4,10),(4,11),(4,12),(4,13),(4,14),(4,15),(5,60),(5,61),(5,62),(5,63),(5,64),(5,65),(5,66),(5,67),(6,55),(6,56),(6,57),(6,58),(6,59),(7,16),(7,17),(7,18),(7,19),(8,48),(8,49),(8,50),(8,51),(9,44),(9,45),(9,46),(9,47),(10,40),(10,41),(10,42),(10,43),(11,36),(11,37),(11,38),(11,39),(12,32),(12,33),(12,34),(12,35),(13,28),(13,29),(13,30),(13,31),(14,24),(14,25),(14,26),(14,27),(15,20),(15,21),(15,22),(15,23)]
let edgePattern g e = (n $ pure $ toEnum $ snd e) # (s $ pure $ instrument g e)
let edgePattern g e = (n $ pure $ toEnum $ (snd e) `mod` 31) # (s $ pure $ instrument g e)
# gain 1
vertexPattern g v = (scale "ritusen" $ pure $ toEnum (v-10)) # s "supersquare"
vertexPattern g v = (scale "ritusen" $ pure $ toEnum $ (v `mod` 31) - 10) # s "supersquare"
# rate 0.1
# resonance 0.2
# end 0.2
# gain 0.8
-- p g = (\(x,y) -> fastcat $ concat $ transpose [(vertexPattern g x):(replicate (length y - 1) (s "~")), (edgePattern g) <$> y]) <$> (nodeEdgePairs2 g 1)
p g = map (\(x,y) -> fastcat [vertexPattern g x, cat $ map (edgePattern g) y]) $ nodeEdgePairs g
p' = p g
g = k 10
patternize g = map (\(x,y) -> fastcat [vertexPattern g x, cat $ map (edgePattern g) y]) $ nodeEdgePairs g
gs = [ k 30
, p 2
]
in d1 $ id
$ qtrigger -- restart at the beginning of the preorder
$ fast 4.0 -- depends on maximum degree
$ ghost
$ cat p'
$ (stack $ map cat $ map patternize gs)
# size "[0.8|0]"
# room "[0.7|0]"
# lpf "[1000|1500|2000]"
@ -96,6 +102,8 @@ in d1 $ id
hush
setcps (144/60/4)
-- testing stuff
d1 $ qtrigger $ fast 2 $ s "<numbers:1 clubkick:4 ~ rave:2 numbers:2 rave:4 ~ casio:2>" # end 0.2