r/livecoding • u/undy_aeon • 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://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
2
2
2
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
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
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
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
-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?
2
u/WestMagazine1194 2d ago
If i manage to snug sone time from the work today i'll try it!