Interpolated MIDI CC?

Hi Everyone,

I'm primarily interested in using TidalCycles with Reaktor, Kontakt, and other VSTs. Since I last explored Tidal it looks like tidal-midi has retired. The new MIDI Superdirt tutorial explains that CC patterns can be created like so:

d2 $ ccv "20 40 60 80 100" # ccn 30 # s "midi"

Does this create a curve and interpolate between the values? If not, are smooth transitions possible? For example, could I make a LFO with ccv?

Thanks,
-d.vyd

2 Likes

Yes, I actually did it recently. It is done in the same manner as any lfo, in your case:

d2 $ ccv (range 20 100 saw) # ccn 30 # s "midi"

If you want the change to be slowly change, you can add a slow and/or segment depending on your liking.

# ccn "27" # ccv (segment 64 $ slow 16 $ range 40 120 sine)

You can find all useful info about this here : https://tidalcycles.org/index.php/SuperDirt_MIDI_Tutorial

Pay attention to the last example in this page, as you would probably want to control multiple midi CC at the same time.

1 Like

that is good news. thank you @artheist.

With recent versions of Tidal (I think post 1.0), continuous functions like saw need some structure, so you'd always need the segment, e.g.

d2 $ segment 64 $ ccv (range 20 100 saw) # ccn 30 # s "midi"

To linearly interpolate between values you can use smooth, that again creates a continuous pattern so you'd need segment to sample from it again:

d2 $ segment 64 $ ccv ("20 40 60 80 100") # ccn 30 # s "midi"

Also I think this example would only end up sending one event per cycle, because the structure comes from the ccn

d1 $ ccn "27" # ccv (segment 64 $ slow 16 $ range 40 120 sine)

This would send 64 values per cycle:

d1 $ ccv (segment 64 $ slow 16 $ range 40 120 sine) # ccn "27"
1 Like