Is there a Tidalcycles editor that is a set of midi/osc controllable cells?

I seem to have think that there's one out there right now. Basically each table cell is a d1 .. d12 channel, and triggering one will evaluate that cell. What would be nice is the cells are selectable via a rotary control and activated by a push button.

It would also be awesome if midi cc controls could change parameters as well, such as pan or reverb gain, instead of having to pattern it all in a d channel.

Like a Tidalcycles spreadsheet? Interesting idea. I don't think it exists -- yet.

Maybe explain a bit more about what you're wanting? Not understanding what the advantage over scripting would be.

I am aware of at least three different attempts to create something similar:


feedforward has separate cells and you might be able to implement the controls

it would also be possible to implement in tidal-gui, you could probably have a seperate little editor window for each channel, it also doesn't have OSC control for the editor itself (yet)

interesting. I'll need to check these out.

I think I was imagining something more like:

1 Like

This is also something I would love to work with but I thought about the cost of leaving the comfort of my favorite editor. There might be a way to implement something very close to a cell-like behavior using Neovim. Maybe someone already did it in this community.

EDIT: This spreadsheet looks super fun.

The fastest any one person can effect a change in the pattern is by typing out a new set of strings. With a cell that contains these patterns, and maybe a controller or hotkey, this boils down into how fast the user can press one button or rotate a controller.

As a performer, it is important to have my gestures transformed into musical output as quick as possible. Live coding through typing might be able to achieve the accurate timing of an euclidean sequenced reverb size, but still I'd like to be able to quickly reshape the music.

You might want to take a look at @pulu 's workflow in emacs - she describes it here:


Im using a midi mixer (a board with sliders and knobs) and have mapped each slider to the gain of one of the channels. Thus in my bootTidal.hs there is something like

b1 = d1 . (|* gain "^77")
b2 = d2 . (|* gain "^78")

where ^77, ^78,... are the midi channels the sliders send their messages on. Then in tidal I simply use b1 instead of d1 and so forth and can control the gain by the slider position.
You could map the other knobs to other properties, i.e.

a1 = d1 . (|* gain "^77") . (|* pan "^18") . (# lpf (rangex 100 20000 "^31")) . (# room "^51")

(my midi mixer has only three knobs per column) and define all sorts of knob configurations. (In fact I think I just might do that now...)

If you don't have physical knobs, I'm sure you can find some software controller that provides knobs and sends their value as midi control messages and then run your editor and the window with sliders side by side.


I could imagine that it would be possible to make something like this with a similar approach I'm doing with tidal-gui: using the threepenny-gui haskell library together with a javascript library (in your case one that provides a ready made spreadsheet editor for example (if something like that exists)).

Most of the backend could probably be copied over from tidal-gui, so it would be mostly about making the interface and tying the new front and backend together. Some haskell (and a little javascript) skills would be required but it should be doable!