Replies: 7 comments
-
Have you looked at |
Beta Was this translation helpful? Give feedback.
-
I did now.
My implementation above wasn't doing this correctly, it should really be
|
Beta Was this translation helpful? Give feedback.
-
Ah, I thought So your implementation is like seqPLoop, but it doesn't play the patterns from cycle 0 each time? Fractions cause trouble:
Here's a version built around
|
Beta Was this translation helpful? Give feedback.
-
Re: "like seqPLoop, but it doesn't play the patterns from cycle 0 each time?" - Yes. Re: your implementation: that's much better, using Re: |
Beta Was this translation helpful? Give feedback.
-
Examples for "ur-" in art and music: https://en.wikipedia.org/wiki/Kurt_Schwitters#Ursonate and Ursatz (deep structure) in https://en.wikipedia.org/wiki/Schenkerian_analysis (also "Urlinie", fundamental line) So, future haddock for |
Beta Was this translation helpful? Give feedback.
-
From discussion on club.tidalcycles.org, it seems with That's good to know on One of the very first things I did was prototypical Tidal was model Kurt Schwitters Ursonate :) https://tidalcycles.org/index.php/History_of_Tidal The |
Beta Was this translation helpful? Give feedback.
-
On the other hand, I am reading references given in https://en.wikipedia.org/wiki/Peter_Westergaard%27s_tonal_theory and it'd definitely be interesting to compare these operators (segmentation, anticipation, ...) with Tidal's.
I had no idea! - I have very little knowledge of the superdirt samples. I'm looking forward to the results of tidalcycles/Dirt-Samples#15 (comment) to get this organised. |
Beta Was this translation helpful? Give feedback.
-
Is your feature request related to a problem? Please describe.
I found it surprisingly hard to implement "play x cycles of pattern a, then y cycles of pattern b", in fact, impossible with abstract operators (that don't manipulate queries or arcs).
Describe the function/feature you'd like
I thought this variant of
(slow)cat
would help:proxy implementation below.
Describe alternatives you've considered
combinations of "surface" functions (fast, slow, sew) that don't manipulate queries
Additional context
I made this proof-of-concept implementation, starting from the code in
Sound.Tidal.Core.cat
. Note that we could thencat = tcat . zip (repeat 1)
.This seems to work for point-like events (play synth),
probably doesn't work right for events with span (play sample).
It could be improved by more efficient lookup in
find_segment
(lookup table if timespans are nicely commensurable, balanced decision tree for the general case).There is no way to make timespans patternable in this approach.
Beta Was this translation helpful? Give feedback.
All reactions