Jun 17
you have an abstract space that has so many paremeters (axis)
that your black box can output - you can count the number of things (good to know)
given that you have these things - what subset of these things are recognizably unique
similarity metrics - given 2 beats how similar are they?
how distiguishable are your beat patterns?
then you need to answer the question of scale
typically noise functions have a domain in which they don't repeat
perlin noise endlessly good
at very broad level of scale, things change very slowly
the upside is it feels like you're going on this great journey - under saturation
you don't want to give away everything your algorithm can do at once
but also the downside of doing this is people might not see the changes because they're too slowly
a single beat changes in the beat every day
time step coherency
uniform distribution of random junk is boring
day to day level you want some sort of coherency between step to step
there's a gradient
with white noise you quickly saturate the whole range
//
whenever I call rand try using perlin noise instead
//
MORE NOTES JAN 30
I had an under saturation problem
ultra simply/nonexistent rhythms
//
how many rhythms are there that satisfy my criteria
my hueristic/fitness function (is it interesting enough)
the hueristic can be my opinion, or a piece of code, etc.
some algorithms generate everything under the sun, then evaluate with the fitness function - does it fit the constraints
[splitting into seperate beat 'words' / 'phrases' and stringing them together/arranging and rearranging them]
how many unique and 'interesting' (passes fitness test) rhythms can be generated
how many unique and 'interesting' rhythm generation engines can I think of
then I can think about how to spread them across a period of time
//
i need 8 different generator presets that can convey a gradient of simple to complex
//
maybe algo sparse is part of algo plain - or algo blocks
more diversity within each moon cycle
//
epochs could be oriented with the seasons maybe
//
the peaks should be more overly complex rather than the valleys being underly complex
//
the moon seemingly has one parameter (how full it is)
but there are additional parameters
ie whether or its before the full moon
think of it as
-1, to 0, to 1
so the sign of the number can be a parameter
there's one input parameter, and its a signed value with a magnitude
there's the sign,
there's the magnitude
i could also include the day of the week
//
if you have a super high frequency signal, people will see it as uniform noise
if the user looks at the output from day number n, and then they look at the output from day n+1, and n+2 is completely different from n+1, it's going to seem like random noise. So the problem I need to solve is making the difference between day to day small enough. (phase to phase)
they're reading the frequency change and seeing it change over time
in terms of week to week, if it gets more complicated, then simpler, etc. its going to be more confusing. The week to week parameters match the sign of the input parameter
// string replacement
you generate something, and then you mutate one one in it
you are trying to show connectivity, continuity between steps
seeing the interpolation between the steps
could have 2 rhythm end points and interpolate between them over time
how to write my algorithms/constraints such that it satisfies continuity between steps - there's a gradient
I can also take the derivate of the function (the change over time)
//
whether or not the two rhythms are the same thing
whether or not the two rhythms are the same length