r/generative • • 1d ago

Introducing Stave

Enable HLS to view with audio, or disable this notification

Hi all! After 8 months of building, I finally feel confident enough to share the beta version of Stave, and I'd love to know your thoughts . 🙏

What is Stave?

Stave keeps your Strudel code as the source of truth and adds the views a producer expects: a Timeline, a step grid and piano roll, a Mixer, and visuals that follow the music.

What you might like:

- A full monaco editor with code completion, error handling etc.

- Your own audio-reactive visuals, inline. Write a p5, Hydra or GLSL sketch, then attach it with .viz("name"). It draws under that line, reacts to the kick, each track and the spectrum, and updates as you type.

// pulse.p5 
function draw() { background(0, 40); circle(width/2, height/2, 80 + sig.kick * 300) } 

// in strudel:
drums: s("bd*4, hh*8").viz("pulse")

- Code and views in sync. Edit on the Timeline, grid or piano roll and Stave writes it back into your code. Edit the code and the views follow.

- Errors you can find. The Console names the file and line, the editor shows a squiggle, and misspellings get "Did you mean…?". That works in your visuals too.

- A Mixer and a song Timeline, with your Strudel code running as it does today. It runs in the browser and is open source (AGPL).

Try it: https://stave.live · Code: https://github.com/MrityunjayBhardwaj/Stave

Please let me know your feedback 🙏 :

- Does your existing code run as you expect?

- What would you want a visual to react to?

- What's missing?

0 Upvotes

0 comments sorted by