# The state of TidalCycles and Strudel

**URL:** <https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522>\
**Category:** TidalCycles\
**Tags:** questions\
**Created:** [29 November 2024 17:31 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522 "2024-11-29T17:31:31Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![yaxu](https://uzu.lurk.org/user_avatar/uzu.lurk.org/yaxu/32/2_2.png) [@yaxu](https://uzu.lurk.org/u/yaxu)\
**Post date:** [29 November 2024 17:31 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/1 "2024-11-29T17:31:31Z")

</div>

Hi all, I noticed this forum had stopped emailing a lot of people (without them requesting that), and tweaked the settings to fix that.

With that in mind, I thought it would be nice to have a thread just for updating each other on what we're doing with [TidalCycles](https://tidalcycles.org/) and [Strudel](https://strudel.cc/)! For example:

- What are you up to with tidal and/or strudel, and/or what are you doing next?
- How is your local (or online!) live coding community going, any fun events happening?
- Made any weird interfaces? Connected Tidal or Strudel to anything weird?
- If you've come to all this recently, how's it going? What resources are you finding useful, what is confusing/out of date/missing?
- Anything else come to mind?

Feel free to reply here or create a new thread if you want to start a bigger topic 🙂

---

<div class="post-metadata">

**Author:** ![ludens](https://uzu.lurk.org/user_avatar/uzu.lurk.org/ludens/32/3028_2.png) [@ludens](https://uzu.lurk.org/u/ludens)\
**Post date:** [2 December 2024 13:01 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/2 "2024-12-02T13:01:31Z")

</div>

I’ve been starting a new live coding community in the Boston area. We’ve met up a few times this year at different friends places, but in January we are starting public meetups. I have been teaching people Tidal Cycles, [Strudel](https://glfmn.io/presentations/algorave/), and Hydra. Hoping we can start doing performances in the spring!

I think there’s an existing community in the city but I don’t have social media and I haven’t figured out how to contact them.

---

<div class="post-metadata">

**Author:** ![cleary](https://uzu.lurk.org/user_avatar/uzu.lurk.org/cleary/32/177_2.png) [@cleary](https://uzu.lurk.org/u/cleary)\
**Post date:** [2 December 2024 23:04 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/3 "2024-12-02T23:04:09Z")

</div>

I've started what I'm hoping will be a regular kids livecoding workshop at a local creative spot - I wrote about my first set of workshops and lessons learned here:

> **[Creating a Livecoding Workshop for Kids – TOPLAP](https://blog.toplap.org/2024/11/12/creating-a-livecoding-workshop-for-kids/)**
>
> Introduction In September 2024, I embarked on my first major livecoding workshop project in a couple of years, in conjunction … \<a class="more-link" href="https://blog.toplap....

Will (hopefully) kick off again in term 1 next year 🙂

---

<div class="post-metadata">

**Author:** ![claude](https://uzu.lurk.org/user_avatar/uzu.lurk.org/claude/32/2966_2.png) [@claude](https://uzu.lurk.org/u/claude)\
**Post date:** [3 December 2024 12:13 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/4 "2024-12-03T12:13:34Z")

</div>

I did most of my Looptober 2024 experiments with Strudel:

> **[Looptober 2024 :: mathr](https://mathr.co.uk/web/looptober-2024.html)**
>
> Music loops for the month of Looptober, 2024.

Have attended a couple of live-coding meetups in London, UK, some Strudel sessions took place there.

Meanwhile I've been slowly working on a fork/reimplementation of Tidal as a full language with maxi-notation like the Alternative Timelines paper. So far I have a compiler (implemented in Hugs-compatible Haskell) for simply-typed lambda calculus plus pattern syntax (no recursion, no type classes, but with vector and map types) that outputs (non-idiomatic) C code for the main pattern, that I compile to a shared library and hotswap into a scheduler that sends timestamped OSC to classic Dirt sampler. Almost all of the Tidal pattern library is missing, so the example in the paper doesn't work yet. No public code to share yet, still early days.

The main goal (apart from maxi-notation) is to see if it's possible to do without GHC (GBs HDD needed) or a browser (GBs RAM needed) at run time, and still get acceptable latency and throughput with non-trivial patterns. Target machine is my old netbook, which is about as powerful as a Raspberry Pi 3.

---

<div class="post-metadata">

**Author:** ![polymorphic.engine](https://uzu.lurk.org/user_avatar/uzu.lurk.org/polymorphic.engine/32/30_2.png) [@polymorphic.engine](https://uzu.lurk.org/u/polymorphic.engine)\
**Post date:** [3 December 2024 17:11 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/5 "2024-12-03T17:11:35Z")

</div>

super exciting project you have there ! there quite some semantical questions when it comes to the maxi-notation, that i have been thinking about, like for example what should something like

```haskell
[rev id] [1 2 3 4]

```

do? there's ways to argue for both [2 1 3 4] or [4 3 3 4]. would be cool to chat about such things sometime

meanwhile i'm working on an alternative representation of tidal patterns that are mere functions of time (and not functions of arcs of time), which simplifies a lot of things and makes thinking about parallel events and state much easier. i'm implementing this in haskell, but there will also be a supercollider version that @julian is working on 🙂

---

<div class="post-metadata">

**Author:** ![mrreason](https://uzu.lurk.org/user_avatar/uzu.lurk.org/mrreason/32/3203_2.png) [@mrreason](https://uzu.lurk.org/u/mrreason)\
**Post date:** [3 December 2024 20:41 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/6 "2024-12-03T20:41:28Z")

</div>

Thanks for this thread @yaxu! I am really interested in reading more news from other live coders 🙂

I kinda work on a bunch of tools that I would like to combine to a single piece of Software and I want to call it "TidalCyclesStudio" or something like this 🙂 And maybe this is a project that will take for ages, but I intend to create and release all the tools independantly and combine them to one software.  
And as far as I can tell, all these intermediate steps to my dream eco system are still beneficial for the community. Even when I will be the only one, who will use the end product 😃

The recent tools I were working on are:

- SuperDirtMixer: [The SuperDirtMixer v1.1.0 is out now!](https://club.tidalcycles.org/t/the-superdirtmixer-v1-1-0-is-out-now/5497)
- TidalMidi (Tidal code to MIDI): [mrreason-setup/docs/tidal-midi.md at main · thgrund/mrreason-setup · GitHub](https://github.com/thgrund/mrreason-setup/blob/main/docs/tidal-midi.md)
- Editor interface with audio visualizer and a num pat: [mrreason-setup/docs/infrastructure-overview.md at main · thgrund/mrreason-setup · GitHub](https://github.com/thgrund/mrreason-setup/blob/main/docs/infrastructure-overview.md)

What I do next (aka the plans I already made):

**SuperDirtMixer**

- Make it embeddable
- Make the ui better scalable
- Add an effect suite (EQ and compressor is already available)
  - Chorus
  - Flanger
  - Distortion
  - Overdrive
  - Lo-Fi filter
  - [More]

**TidalLooper**

- Start to resolve the Github issues
- Create a ui for the looper with managing the loops (visualize the audio buffer, slice them, quantize them etc.)
- Create a ui for the looper with triggering everything without code

**TidalVST**

- This I already summed up in this thread: [Using VSTPlugin with Tidal - #64 by mrreason](https://club.tidalcycles.org/t/using-vstplugin-with-tidal/2352/64)

---

<div class="post-metadata">

**Author:** ![alvaro.makes.music](https://uzu.lurk.org/user_avatar/uzu.lurk.org/alvaro.makes.music/32/3040_2.png) [@alvaro.makes.music](https://uzu.lurk.org/u/alvaro.makes.music)\
**Post date:** [4 December 2024 03:49 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/7 "2024-12-04T03:49:44Z")

</div>

Hi everyone, love the variety of projects we're working on!

I've been a bit slow lately, but here my current challenges:

- Expressing polymetric rhythms as concatenations of smaller units rather than divisions of a larger unit
- Writing a piece for livecoded church organ using MIDI and SysEx (that last bit is being tricky)
- Will start organizing Strudel workshops at Coaxial Arts in LA soon, hopefully as the beginning of a Live Code LA community / node.
- Not Tidal-specific, but I'm making a wearable, split lap keyboard so you can live code while standing up and moving on stage.
- Been trying to start a prog metal duo with a screaming singer. Hopefully will find a bandmate soon!

---

<div class="post-metadata">

**Author:** ![Robin\_Hase](https://uzu.lurk.org/user_avatar/uzu.lurk.org/robin_hase/32/1338_2.png) [@Robin\_Hase](https://uzu.lurk.org/u/Robin_Hase)\
**Post date:** [5 December 2024 13:52 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/8 "2024-12-05T13:52:49Z")

</div>

i've been picking up tidal again lately, continuing on my eternal quest of integrating it with ableton. i'm currently working on 3 projects that i'm all using together right now.

first of all i've written a custom C++ max external that parses OSC messages from tidal and writes them into a multichannel buffer. using this in a max4live device, this buffer is then read out by other objects at audio rate via a phasor~ synced to ableton link, turning the information into MIDI notes.  
it should also work in plain max as well if you don't want to use ableton.  
in theory this means sample accurate MIDI events from tidal with next to no CPU overhead, plus 4 modulation sources you can pattern via your code (currently hardcoded to be named val1-val4).

![ezgif-1-dc06be3f0b](https://club.tidalcycles.org/uploads/default/original/2X/2/208f79a81388ff9852f3782950775f76ec969a67.gif)

it's not pretty or optimized, but i haven't been able to crash it in a while which is good enough for me. currently i've only compiled it for apple silicon though, if anyone's familiar with the min-devkit for max and wants to build it on windows let me know!

> **[receivetidal.amxd](https://drive.google.com/file/d/13aW0qEImF40PdDOynJKF9-1TzvTO-bqY/view?usp=sharing)**
>
> Google Drive file.

secondly i'm currently building a very simple nodejs application that allows me to trigger sections of a tidal code file via a cheap old launchpad mini mk2. the way it works right now you can basically use it like the clip matrix we all know and love from ableton, but with tidal code instead of midi clips, and it doesn't require ableton at all!  
the code is kind of weird, messy and definetly buggy because most of it was written by GPT-o1 lol...  
please don't judge me, i just don't have too much energy to work on code between already doing it 8 hours a day at my dayjob and whatever else life throws at me, so i'm glad i can bang out janky prototypes using LLMs on the sofa.

lastly and more excitingly i'm also writing a semirandomized/generative tidal code generator, also using nodejs and currently being part of the tidal/launchpad application. i've only started this one last week but it's already quite fun! here's the code for both if anyone wants to try it out.

> **[GitHub - ribon3000/tidalLaunchpad: triggering (and generating) tidal code via a cheap...](https://github.com/ribon3000/tidalLaunchpad)**
>
> triggering (and generating) tidal code via a cheap launchpad mini mk2

---

<div class="post-metadata">

**Author:** ![albreche](https://uzu.lurk.org/letter_avatar_proxy/v4/letter/a/76d3ee/32.png) [@albreche](https://uzu.lurk.org/u/albreche)\
**Post date:** [6 December 2024 20:06 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/9 "2024-12-06T20:06:10Z")

</div>

'im playing with voidlinux/emacs/tidal/sc from time to time, the beloved minimalist open source sound machine :).  
Currently i'm trying to update the tidal.el to have trees-sitter in place and ease livecoding through navigation thanks to incremental parsing tree-sitter offers us (see [this github fork](https://github.com/albreche/Tidal)).

---

<div class="post-metadata">

**Author:** ![ilesinge](https://uzu.lurk.org/user_avatar/uzu.lurk.org/ilesinge/32/785_2.png) [@ilesinge](https://uzu.lurk.org/u/ilesinge)\
**Post date:** [14 December 2024 11:11 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/10 "2024-12-14T11:11:30Z")

</div>

Hello all!  
I've done a Strudel workshop in an Engineering school last week, hoping to give a taste for other ways to use code. It's been quite well received.  
And I'm hoping to find time & courage to prepare and organize a public Tidal + poetry performance in an upcoming poetry festival in March.  
Apart from that @mrreason I'm super excited for your project to create a UI for TidalLooper, of which I am a loyal user.  
Cheers!

---

<div class="post-metadata">

**Author:** ![hellocatfood](https://uzu.lurk.org/user_avatar/uzu.lurk.org/hellocatfood/32/42_2.png) [@hellocatfood](https://uzu.lurk.org/u/hellocatfood)\
**Post date:** [1 January 2025 20:52 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/11 "2025-01-01T20:52:45Z")

</div>

Since starting my music making + Tidal journey in 2019 I have steadily been doing lots of performances and workshops for a range of people including young children and early-career artists. Most notably I have been running the [(Algo|Afro) Futures](https://algo-afro-futures.lurk.org/) mentoring programme since 2021. In the first two years Tidal was taught and in 2023 and 2025 it'll be Strudel, which has been great at lowering the barrier to entry (no installation issues). Here's a video from 2023's programme:

[![](https://img.youtube.com/vi/PaUVUM6H9ug/maxresdefault.jpg "(Algo|Afro) Futures showcase live from Vivid Projects, Birmingham UK") ](https://www.youtube.com/watch?v=PaUVUM6H9ug)

On a personal note I'm hoping to release some music in 2025!

---

<div class="post-metadata">

**Author:** ![alvaro.makes.music](https://uzu.lurk.org/user_avatar/uzu.lurk.org/alvaro.makes.music/32/3040_2.png) [@alvaro.makes.music](https://uzu.lurk.org/u/alvaro.makes.music)\
**Post date:** [6 February 2025 07:03 UTC](https://uzu.lurk.org/t/the-state-of-tidalcycles-and-strudel/5522/12 "2025-02-06T07:03:41Z")

</div>

Hey this sounds amazing! I'm a Windows user and would love to try this, as 90% of the time I use Tidal is to MIDI control Ableton Live.
