Launching tidal from terminal


Sorry if this question have been answered before, I would like to create my own interface for playing with tidal.
How can I launch tidal directly from terminal and play with it, without any text editor?

Thank you very much


1 Like

You can try summoning the boot script from ghci directly:

ghci -ghci-script [path-of-boot.ghci]

There might be a better solution.

Thank you very much I will try that

To have it be more usable, you might also want to set the "overloaded strings" option. I usually do something like this:

rubin:bgold% ghci -XOverloadedStrings
GHCi, version 8.10.7:  :? for help
Loaded package environment from /Users/bgold/.ghc/x86_64-darwin-8.10.7/environments/default
Loaded GHCi configuration from /Users/bgold/.ghci
λ> import Sound.Tidal.Context
λ> :s tidal/BootTidal.hs
[TidalCycles version 1.7.10]
Installed in /Users/bgold/.cabal/store/ghc-8.10.7/tdl-1.7.10-7682c0e7/share
Listening for external controls on
tidal> Waiting for SuperDirt (v.1.7.2 or higher)..


Thank you very much, is indeed working as I was expecting.

My next goal is to make it work from nodeJs / Electron. Never tried to do this kind of things before, I suppose it should be doable

Thanks again :slight_smile:

1 Like

You are in the right place - go crazy with your experiments!

There are quite a few plugins to existing text editors which may assist you on your journey, there is also feedforward which is a dedicated tidal editor in development, and tidal-gui which you may like to look at as well, just to get an idea of other projects in that dedicated interface areas as well as tips/ideas for your own implementation :slight_smile:

1 Like

It's still very experimental, but I've been playing around with some of these ideas as well. Here's how I've been approaching this specific task, which might be a useful starting point.

Like @cleary mentioned, there are several editor plugins and other interface projects for reference. This is the section of the Atom editor that I referred to a lot when getting things working with my project.


Oh super interesting! :eyes:

If you load BootTidal.hs, it already contains :set -XOverloadedStrings, so you don't need to add commandline options for that.

There is also 'tidal listener' as an OSC server: Tidal/tidal-listener at main · tidalcycles/Tidal · GitHub

A longer term aim is to replace ghci with this.

There is also the javascript port strudel: Strudel Tutorial

1 Like

Thank you all for your answers, actually launching a tidal process in my electron app was more straightforward than I expected. Wow yaxu a Javascript port of tidal! That's wonderful. What is the plan with that? Do you think the syntax could evolve? For the moment the haskell one looks more elegant and readable in my opinion. But if there is a complete port of tidal in Javascript I will go for it for sure!!

1 Like