Inspiration
Recreating a beat usually involves repeatedly changing the music, listening again, and deciding what to fix. We wanted to see if an AI agent could handle that loop directly inside a music-making website.
What it does
The user gives the agent a reference beat. The agent writes a Strudel program, tests it, compares the result with the original, and tries again. Every attempt is saved so users can inspect earlier versions or continue from them.
How we built it
We built a browser-based Strudel editor with React and TypeScript. The website gives the agent six tools for reading and changing the program, testing attempts, and managing saved versions. It records each result, compares its first ten seconds with the reference, and saves everything in the browser.
Challenges we ran into
Connecting the agent to a live music editor was the biggest challenge. We also had to capture Strudel’s audio reliably, compare recordings of different lengths, preserve attempts after reloading, and handle experimental browser support for WebMCP.
Accomplishments that we're proud of
The agent can complete several attempts from one prompt without needing the user to tell it to continue. Every attempt has its own code, score, feedback, and connection to the previous version. The project also works as a live deployed website.
What we learned
Clear feedback matters more than simply giving the agent a score. The agent made better decisions when it received both measurements and a short explanation of what sounded different. We also learned that matching audio requires more than comparing volume and energy.
What's next for strudelWebMCP
We want to add better rhythm, pitch, and sound comparisons so the feedback reflects the music more closely. We also want the agent to hear each generated attempt directly, add an easier reset option, and support longer and more complex reconstructions.
Built With
- codex
- react
- vite
- webmcp
Log in or sign up for Devpost to join the conversation.