tidalcycles / strudel

Web-based environment for live coding algorithmic patterns, incorporating a faithful port of TidalCycles to JavaScript
https://strudel.cc/
GNU Affero General Public License v3.0
643 stars 111 forks source link

euclidScale #953

Open felixroos opened 7 months ago

felixroos commented 7 months ago

like euclid but for scales:

https://strudel.cc/?4hbOfzqdDQyq also useful for microtonal scales: https://strudel.cc/?AJ9MQjqLtqJK

oscarbyrne commented 7 months ago

I love this idea but i'm a bit biased

AFAIK this concept is generally known as "maximally even (pitch) sets".

It's incredibly useful to be able to call something like euclidScale recursively to build something called a Filtered Point-Symmetry (FiPS) configuration space. Basically that lets you think about scales, chords and even single notes as existing within a single hierarchical configuration space. That's the main limitation I see with the approach you've got here.

More of the theory here (don't worry it's pretty accessible!):

I've actually been working on implementing FiPS in strudel. The code is a little bit overwrought at the moment but you can check it out here:

There's a demo available here:

I'd be happy to go through what I understand about FiPS and J functions in more depth with anyone who's interested. It's pretty cool stuff