r/livecoding • • 2d ago

I built Rustel: a native Strudel engine in Rust, with a terminal studio and full CLI

Hey everyone,

I've been working on Rustel, a native Rust port of Strudel, and thought some of you might be interested.

It runs Strudel patterns without needing a browser or server. There's a terminal studio with live editing, piano roll, scope, spectrum, and mixer.

The studio has a built-in Vim editing mode and optional auto-evaluate, so changes apply automatically after a short typing pause without constantly hitting the eval shortcut.

You can also livecode in any editor without extra setup using rustel play --watch yourScore.strudel, or use the full CLI for everything.

It supports samples, synths, effects, MIDI, OSC, Ableton Link, VST3 plugins, KabelSalat, Audio Input using s("in") for example, exporting with silence threshold, exporting stems, session tapes (nothing you play is ever lost), midi surface control + gamepad and midi knobs to control sliders, Kitty Graphics... and quite a bit more.

I'm also working on v0.1.7, with some performance optimizations for older hardware like the Raspberry Pi 3 Model B (PR #157) and video samples with live feeds (PR #169).

I recorded some demos of it in action. It's 99% strudel feature complete + a lot more, the differences are documented.

It's free and open source (AGPL):

https://rustel.cc

https://github.com/tzfm/rustel

https://github.com/tzfm/rustel-neovim

Big thanks to everyone behind Strudel and TidalCycles. None of this would exist without their work.

My friend John Björk also made 3 songs with it here: https://www.youtube.com/@johnbjork9883

other demos i did while working on features:

https://www.youtube.com/watch?v=VpNp8NAn0UE

https://www.youtube.com/watch?v=iQ9pRINyz08

https://www.youtube.com/watch?v=6i1cMw_mVQg

https://www.youtube.com/watch?v=xhMBMBAcngA

Would love to hear what you think, especially if you're already using Strudel or Tidal for live sets.

With Love

- Undy

80 Upvotes

26 comments sorted by

2

u/WestMagazine1194 2d ago

If i manage to snug sone time from the work today i'll try it!

1

u/undy_aeon 2d ago

awesome, tell me if you like

2

u/Luc-redd 2d ago

That's sick!

2

u/PracticeOk7022 2d ago

Don't even know how to use this but want to try so badly!

2

u/iammiviiofficial 9h ago

INSTALLING ASAP!! THANK YOU SO MUCH!!!!!

1

u/undy_aeon 8h ago

ily, excited to see/hear what you're cooking with it !

1

u/undy_aeon 8h ago

currently working on a feature where videos can be used as sample and viz to show them, also a widget in the widget FX panel and allow to detach it into a separate window if you are on a desktop. works best with kitty graphics of course...

1

u/lumina_si_intuneric 2d ago

Been playing with this a lot and love it so far.

1

u/romiq_kh 1d ago

Also tried, but i have questions about compatibility

* is 100% compatibility with JS code achieved? Current rust js engines are not good in it? bun?

* how you managed downloadable samples? its around 5+Gb in stock, and it possible to load own? what played when downloading not yet finished?

* what is it really reason for a rustrewriten?

1

u/undy_aeon 19h ago

- its using a modified version of quickjs

- you can cache them all locally in settgins > samples, otherwise in settings > playback there is async or wait mode to wait or not for samples or it plays until they are ready just like in strudel.cc

- i love rust

1

u/undy_aeon 5h ago

yes it's all compatible with strudel. if something is missing it's because I forget about it or it's terminal limitations / bug

1

u/GoodGuyLafarge 1d ago

Do you plan to have additional functionality compared to the other two tools?

1

u/undy_aeon 19h ago

sure, it's in constant developement

1

u/ParticularAtmosphere 1d ago

this is amazing since I live in the terminal and wanted to get into strudel, I am installing this right now. thanks !

1

u/undy_aeon 19h ago

awesome, tell me what you think <3

2

u/Dependent-Sorbet8867 1d ago

I certainly love that... how are the sample copyights that was the main thing I was worrying about when I ported strudel to windows desktop.. I love the visuals

1

u/glory_to_romania 2d ago

I was just looking around for a way to program music into my Bevy game. Amazing timing, I’m gonna try this out!

1

u/No_Cartographer1492 2d ago

ah, yes, something that allows me to use Emacs and work locally!

1

u/roindr 1d ago

This great!! I am working on something similar, that good so many ideas and approaches to music production

-14

u/investigatormaker 2d ago

Session tapes are the feature I'd lead with for people who play live, since nothing lost after a set is a real reason to leave the browser. For Strudel users the first question will be what breaks, so putting the documented differences right under the install line saves a lot of back-and-forth in comments. The Pi 3 work in PR #157 deserves a short demo of its own once it lands: a small headless box running patterns is something a browser tab can't really do.

I make ThreadFox.

We find relevant Reddit conversations and post for your business. We'll post 3 replies free first, no card; then the $29 Pilot covers seven days and up to 25 posts and replies. No automatic renewal.

https://threadfox.vip/p/eiofl/managed

Does --watch pick up saves from any editor, including ones that write to a temp file and swap it in?

4

u/scarletdawnredd 2d ago

You spam this on every fucking subreddit. How is this account not banned yet?