MIDI CC, from Tidal to another synth / DAW

Hi fellow Tidal Cyclists,
I’ve read as much as possible on that topic but still have a few questions.

Goal is simple : sending MIDI CC parameters changes from Tidal Cycles to external synths / other software.

I’ve used this tutorial : https://blog.tidalcycles.org/superdirt-midi/ and it all works as expected (thanks again Mike !), except from the sine bit : can’t make it work.

It seems that Tidal’s been updated here : a recent post (How to send an on/off midi message) by @yaxu got my attention.

  1. As explained in the relatively old blog article :
    d1 $ ccv "0 127" # ccn 33 # s "midi"

  2. The other way :
    d1 $ cc "33:0 33:127" # s "midi"

Both work.

  1. is great to easily write complex CC value patterns (or to re-use external pattern I suppose)
  2. is terser and allows to combine various CC param within the same sequence :
    d1 $ cc "33:0 34:127 35:64" # s "midi" for instance will work as expected

I’m trying various things that don’t work with 2. though, such as (pardon the very clumsy syntax, but I suppose you’ll get where I’m aiming it) :

  • d1 $ cc "33:[0 64 0 127]" # s "midi"
  • d1 $ cc "33:pat" #s midi

Is anything even vaguely similar even possible ?

Another question : how would you code the smoothest CC fade up, from 0 to 127 ?

Thanks a billion !

Hey ! Hope you’re all alright & safe :wink:

Tiny update : a workaround to fake a smooth MIDI CC fade up :

d1 $ struct "t*256" $ ccv (range 0 127 $ saw) # ccn 1 # s "midi"

Here, 256 events can be either way too much or way too little, depending on the tempo of your session. Such function can be easily modified.

Still super curious about patterning the cc function !

Oops missed this question!

d1 $ cc "33:[0 64 0 127]" # s "midi"

This thought applies also to the desire to do sound "cp:<3 4 5>". It’s not currently possible to do that for cc or sound. I’ll have a think about how it could be made possible, though. For now I’ve made an issue here https://github.com/tidalcycles/Tidal/issues/629

d1 $ cc "33:pat" # s "midi"

This is again a wider issue, how to embed patterns inside the mininotation, so that patterns made with tidal functions could be embedded in the mininotation can be mixed. E.g.

let foo = iter 4 (run 8) 
d1 $ n "$foo 3 4" # sound "bd"

This is theoretically possible, but I think needs a lot of thought… https://github.com/tidalcycles/Tidal/issues/530

So the answer is that neither is currently possible, but hopefully someday!

1 Like