I've been analysing various code examples and try to wrap my head around it. Here is one example which kind of made me think about the use of
d1 $ slow 0.1 $ s "armora*2" # n 6 # release 0.5 # cutoff (slow 0.1 $ range 20 9999 $ rand) # resonance rand # speed (range 0 3 $ rand) # pan "0 0.25 0.5 0.75 1"
I am especially interested in the bit where a random value is fed into the
cutoff parameter. If I print out the example with
putStrLn . show $ slow 0.1 $ range 20 9999 $ rand
~0>⅒~|1171.1836777552962 ~⅒>⅕~|1171.1836777552962 ~⅕>3/10~|1171.1836777552962 ~3/10>⅖~|1171.1836777552962 ~⅖>½~|1171.1836777552962 ~½>⅗~|1171.1836777552962 ~⅗>7/10~|1171.1836777552962 ~7/10>⅘~|1171.1836777552962 ~⅘>9/10~|1171.1836777552962 ~9/10>1~|1171.1836777552962
(10 generated events)
slow set to 1 there is just one:
(I know that if you give
slow a value below 1 it actually behaves like
fast and therefore you could replace
slow 0.1 with
fast 10 which probably makes more sense.)
If I listen to the example it seems that
slow at this point kind of helps distribute the cutoff values over the complete range from 20 to 9999. Otherwise (e. g.
slow set to 1)
cutoff will only get very high values, which will result in a very different sound.
Can someone explain what is going on? It does not seem to be very complicated but I just can't put all the pieces together.
Another question which I bumped into while researching the above example:
drawLineSz 120 $ fast (choose [1,3]) $ "a b" -- will result in: [21 cycles] |ab|ab|ababab|ababab|ababab|ab|ab|ababab|ababab|ab|ababab|ababab|ababab|ababab|ab|ababab|ababab|ababab|ab|ab|ababab drawLineSz 120 $ fast (choose [1,3.25]) $ "a b" -- will result in: [12 cycles] |ab|ab|b-a-b-a-b-a-b|ba-b-a-b-a-b-|a-b-a-b-a-b-a|ab|ab|ba-b-a-b-a-b-|a-b-a-b-a-b-a|ab|b-a-b-a-b-a-b|ba-b-a-b-a-b-
What exactly is happening in the 2nd example (using a float in the list) and: does the hyphen mean that these are events spread over more than one cycle and originating in an earlier cycle? (I hope I could make myself clear...)