tidalcycles/Tidal

More random signals

fbous opened this issue · 2 comments

fbous commented

It would be nice to have better support for randomness in the standard library

Things I would like to see:

  1. More random distributions: Support for the most common distribution functions (uniform, Gaussian, exponential, etc.) and easy methods to map between them.
  2. Correlated noise: Add various instances of correlated noise
  3. Source of randomness in random functions: Define variants of the functions that rely on randomness like degrade and sometimes that allow specifying which random function to use.

If this is a desired feature, I would be willing to implement the above points. In fact I'm implementing it for myself anyway but I think others could profit from this as well and having a discussion how to do it the correct way could also be fruitful.

I've noticed that #905 is still open so I could tackle this as well while I'm at it.

yaxu commented

That would be great!

yaxu commented

This could be a separate issue but I think there's some tidying to do around this.

e.g. there are a couple of functions like chooseBy, select and degradeByUsing that allow pattern signals other than rand to define how things are chosen or removed. The 'By' in chooseBy means which random pattern (or other signal) should be used. In degradeByUsing, that's what 'Using' means, and 'By' means by how much. select seems to be chooseBy but selects from a list of patterns rather than plain values.. It'd be good to standardise these names!