What does r0astr add?¶
r0astr is built on top of Strudel — the brilliant JavaScript port of Tidal Cycles by Felix Roos. Everything Strudel can do, r0astr can do. The question is: what does r0astr bring to the table?
Multiple Connected Panels¶
The core design decision in r0astr is breaking the single-editor paradigm into multiple independent panels, each representing an instrument or voice.
- Atomised instruments — By splitting the workspace into individual panels, each element of the sound becomes configurable and reusable — like a track in a DAW.
- Separation of concerns — Each panel is its own context. A bass panel, a drum panel, a melody panel. Clean conceptual boundaries.
- Cleaner navigation — Jump between code sections without scrolling through a single monolithic editor. Each panel is focused and self-contained.
- Audience-friendly — For people watching a live-coding performance, individual panels make it easy to follow what's happening. They can see which instrument is being edited and how it changes.
- Syntax highlighting per panel — Each panel has its own editor with full syntax highlighting.
- Isolated errors — An error in one panel doesn't interrupt the rest of the performance. Other panels continue playing. This is critical for live performance continuity.
Snippets¶
The ability to load snippets into panels shouldn't be underestimated in a live-coding context. Snippets offer a middle position between fully coding from scratch and quickly building out panels with pre-configured instruments.
- Load complete, configured instruments from your library into any panel instantly.
- Or load code scaffolding — a starting point to complete and customise live.
- Snippets are loaded from file and available in any panel via hotkey insertion.
- Organise snippets by genre or instrument type for fast retrieval during performance.
It's up to you how much you prepare versus how much you improvise. Snippets give you that choice.
Hotkeys¶
r0astr was built from a coder's perspective. The ability to use hotkeys to perform functions allows for fast navigation, editing, updating, and playing panels without reaching for the mouse.
- Hotkeys cover all functions available in the API.
- Playback controls — start, stop, and toggle panels by key.
- Snippet insertion — load snippets into the active panel with a keystroke.
- Navigate between panels, reorder, show/hide — all from the keyboard.
Remote Interface¶
A cheap, free alternative to MIDI controllers — no investment in custom hardware required.
Use the phone in your pocket or the tablet in your bag. The remote connects over WebSocket and gives you a central place to adjust sliders, toggle controls, and manage your performance in real time.
- Turn tracks on and off at the push of a button.
- Set up multiple tracks and swap between them live on the remote.
- Revisit code panels as needed without breaking flow.
- Works on any tablet, phone, or computer — no special hardware, no cost.
The remote interface is intended to make advanced performance features immediately available to everyone — free, open source, low barrier to entry. Perfect for students, music instruction, and anyone who wants to perform without buying gear first. Power to the creators.
Built for Live Performance¶
r0astr is designed with the stage in mind.
- Custom skinning — Match the presented interface to your own visual style.
- Projection margins — Configure margins for easy integration with venue projection systems.
- Panel layout and behaviour — Panels can be configured for maximum clarity on stage.
- Syntax and pattern highlighting — Visual clarity for both performer and audience.
- Parse on play — Immediate error and warning feedback within a panel. Know what's wrong before it reaches the speakers.
Orchestration¶
Tie panels together into arrangements and control the overall structure of a performance.
- Arrangements — Define sequences of panels, referred to by panel name.
- Drag to reorder — Rearrange panels quickly on the fly. Hide code that's not relevant to the audience.
- Global panel — Define controls, functions, and variables available to every panel.
- Live tempo controls — Adjust tempo on the fly from the global control panel.
API and WebSockets¶
This is the secret sauce.
r0astr exposes a full API and WebSocket interface, allowing external applications to integrate with it. This opens up a world of possibilities:
- Build additional tooling and third-party plugins that interact with
r0astr. - Control
r0astrfrom an LLM, MCP server, or any external application. - Use
r0astras your sound engine and build your own apps and interfaces on top of it. - Full API specs available for developers to build tools against.
A powerful extension point for developers who want to go beyond what the UI offers.
Standing on the Shoulders of Giants¶
For pattern syntax, mini notation, samples, scales, and effects — go straight to the source:
-
꩜ Strudel by Felix Roos
Tidal Cycles ported to JavaScript — the engine under
r0astr's hood. -
Tidal Cycles by Alex McLean
The pattern language that started it all.
Dive Deeper¶
-
Concepts
Understand the mental model: panels, patterns, and synchronization.
-
Multi-Instrument
Use multiple panels together for layered compositions.
-
Master Panel
Control global tempo and effects across all panels.
-
Remote Control
Control
r0astrfrom a tablet, phone, or any device on your network. -
Example Arrangements
Complete multi-panel tracks you can copy and paste.
-
Troubleshooting
Common issues and solutions.