About repeatCycles, is there a way to lock a cycle and mutate it on evaluation ? I tried with reapeatCycles 1 but evaluating the code doesn't change anything.
Also is there a way to include resetCycle in code (in order to do stuff like every 4 (resetCycle)
Last question, in the following code i can't get the octave offset working. Am i doing it wrong? :
timeLoop lets you loop the given number of cycles. There's not a straightforward way to play a different loop on each evaluation, but here's a complicated way:
do
x <- (toRational . floor) <$> randomRIO (0, 9999)
d1 $ timeLoop 1 $ rotR x $ n (struct "t(5,8)" $ irand 8) # sound "newnotes"
I can't get this code to evaluate without errors complaining that randomRIO is out of scope. I tried to import System.Random but it seems it is not allowed in Tidal... What is the trick to access randomRIO ???
t>: error:
Could not load module ‘System.Random’
It is a member of the hidden package ‘random-1.2.0’.
You can run ‘:set -package random’ to expose it.
(Note: this unloads all the modules in the current scope.)
It is a member of the hidden package ‘random-1.1’.
You can run ‘:set -package random’ to expose it.
(Note: this unloads all the modules in the current scope.)
OK by trial and error, I found that if I add :set -package random
at the top of BootTidal.hs and then reboot tidal then I can import System.Random with no error and then evaluate the do section.
@yaxu Could you pls hint why something like this does not seem to work. I'd like to select a bunch of samples for each option or select a bunch of sample folders for each option but I cannot get it to work.
d1 $ s (segment 8 $ choose ["[bd:1|bd:2|bd:3|bd:4]", "808", "hh"])
Software expressing intent and justifying creative decisions are important considerations when building systems in the context of Computational Creativity. However, getting software to express subjective opinions like simple preferences is difficult without mimicking existing people’s opinions or using random choice. In this paper, we propose an alternative way of enabling software to make meaningful decisions in smallscale subjective scenarios, such as choosing a favourite colour. Our system uses a combination of metrics as a fitness function for evolving short pieces of code that choose between artefacts. These ‘preference functions’ can make choices between simple items that are neither random nor based on an already existing opinion, and additionally have a sense of consistency. We describe the system, offer some example results from the work and suggest how this might lead to further developments in generative subjectivity in the future.
Basically they displace the randomness from random number generator to comparator functions like >, < which they evolve using generic algorithms.
The example programs are silly but useful, e.g.
public int compare(int i, int j) {
if ((i < i)) {
return 0;
return 0;
}
if (((j + i) < j)) {
i = i;
return -1;
}
else {
j = -491;
return 1;
}
return 0;
}
Another kind of randomness is something which is maybe better described by other terms, but random chains which are not independent from one another; stateful randomness, or path-depenedent randomness. Things like random walks etc.
No? They wanted to "affect the entire group", presumably "group" = " syntactic unit" (in brackets, or before *2 in my example). Can be achieved with struct (using different queries to show effect of randomisation)
thanks for the reply and yes sorry I should have been clearer. I didn't mean the whole pattern but just the "group" of notes between the square brackets as in the below.
"kick [clap:4 off clap:5]? kick snare"
so I would like [clap:4 off clap:5] to either play or not play. i'm probably not explaining well as I don't know the terminology but thanks for the assistance