Functional equivalents of mini notation


I often find myself looking for ways to build and combine patterns with functions instead of mini notation - for instance using euclid 3 8 "bd" instead of "bd(3,8)", because it opens up the possibility to alter those parameters live.

In the new documentation (thanks for the hard work, it is a pleasure to read), the mini notation table has an "equivalent" column. But as it is, it is describing how a given mini notation affects your pattern - not to what function the mini notation is equivalent.

For example, right now I'm looking for a way to build polymetric sequences in a functional style, but so far I did not find the right function to do that.

1 Like

Hi @tgirod, "[a b c, d e]" would be equivalent to stack ["a b c", "d e"], nice and easy.

Unfortunately though there isn't a similar equivalent to "{a b c, d e}", which I'm guessing is what you're interested in. That is the one thing that you can do in the mininotation that you can't really do outside of it. The mininotation parser is able to 'count' the steps per cycle for each subsequence before combining them as patterns at the right relative speeds so that the steps align. Once they are patterns, they are no longer data structures, and there is no measure of 'steps per cycle' that can be derived from them.

However you could get polymeters going with the fit function, or the new 'take' stuff around stateful events for isorhythms.

hey @yaxu, thanks for the explanation. Now that I'm rereading the mini notation table, I realize I was really focused on the {} syntax, and the other examples are quite on point with what I wanted. Sorry for that ! :slight_smile:

I'm following the new take thing closely :wink:

1 Like