moontide
Health Warn
- License — License: AGPL-3.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Claude steers live music by writing Strudel code played in a browser page
Moontide
The moon guides the tide.
Early: Moontide is young and has known bugs, and its Scratchpad is early experimental (see the
known limits).
A hobby project: Claude plays live music for you. Describe a mood, a theme or an idea, and
Claude writes Strudel code that plays in your browser and changes without
ever stopping.
▶ Watch the demo on YouTube (3 minutes, with sound)
How this was made
Moontide is a personal project. Most of the code, research and documentation was
written by an AI coding assistant working under my direction. I set the goals, listened to
every change, tried it on my own instruments, judged the results by ear, and made the
decisions. I am responsible for what is here, errors included.
What it does
- You talk ("start something dreamy in D minor", "darker", "add a bass"). Claude writes
Strudel code, and a browser page plays it at once, without stopping the music. - The code is always visible and editable. Every version that played is kept, and Claude can
bring any of them back. - The page shows the music in several views: a timeline of named tracks where you can edit
notes, a Song grid, the history, a mixer and a jam view with the scale on a piano or a guitar. - A right-click on anything in the page sends Claude a request with that context.
- Claude can move the tempo up or down over a number of bars, instead of jumping.
- The same code can play real MIDI instruments from the page, and a
Scratchpad (early experimental) lets you draw or play in a motif and send
it to Claude. - On an instrument whose model describes them, Claude can set tone, part and scene
settings that no program change carries, written in the code like a sound
or a control. Moontide stores none of them. The models that describe settings are files of your own;
none ships with Moontide.
Moontide does not start from scratch. The music engine is
Strudel, the JavaScript port of TidalCycles by Felix Roos, Alex McLean and the
Strudel contributors. Moontide is the bridge between Claude and a Strudel page.
Install
What you need: Node 22 or later, Claude Code or Claude Desktop, Chrome (Chrome or Edge
for MIDI), internet access (Strudel and its sounds load from the web), and speakers or headphones.
claude mcp add --scope user moontide -- npx -y moontide-mcp
Then start a new Claude session and ask for music. Claude Desktop, Windows, running from the
source code, updating and uninstalling are on the manual's
Install page.
First music
- Start a new Claude session. Nothing opens yet: Moontide waits until you want it.
- Ask for music, for example "Play something calm to start the day". Or say "start Moontide".
- The page opens in a new tab at http://localhost:5757, or on another port when 5757 is busy.
- Click once anywhere in the page. Browsers start sound only after a click.
- Ask for changes: "darker", "add a bass", "slower".
More in First music.
The manual
The manual is at https://konni-arcadia.github.io/moontide/. It is written in plain words,
and every page ends with a box that says what was checked and what was not.
- Getting started: Install,
First music and
the page and its views. - Working with Claude: asking Claude,
requests from the page, small edits, song structure, tempo ramps and history. - MIDI gear: instruments and the setup file,
sounds and catalogs,
tone, part and scene settings,
the Scratchpad,
keyboard input and
sending a motif. - Troubleshooting: problems and known limits.
- How it works: the pieces and the tools,
what was measured, and
network, privacy, credits and license.
The same pages can be read on GitHub, as Markdown, in the
site folder.
Status
Early and personal. It runs on one setup: a Mac, Chrome, Claude Code and Claude Desktop, and,
for MIDI, a Roland SC-55, the Munt MT-32 emulator and a Roland JUPITER-Xm. It has not been tried
anywhere else. The test suite runs on Windows, Linux and macOS in CI, but nobody has played
music on Windows or Linux yet. There are known bugs. Feedback is welcome, but support is not
something I can promise. The list is in
Known limits.
What is not yet checked by hand is listed at the end of each manual page and in the
changelog.
Network and privacy
The server listens on 127.0.0.1 only and sends nothing out. The page loads Strudel and its
samples from the web. Details: network, privacy, credits and license.
Contributing and security
Bug reports and ideas are welcome as issues (use the bug form). How pull requests are handled is in
CONTRIBUTING.md.
Security problems go through a private report, never a public issue. See
https://github.com/konni-arcadia/moontide/security/policy.
Credits
Built on Strudel by Felix Roos, Alex McLean and the Strudel contributors
(source: https://codeberg.org/uzu/strudel), on TidalCycles by Alex McLean and its community, on the
sample sets Strudel loads (including the TidalCycles Dirt-Samples and the Versilian Community
Sample Library), on the Model Context Protocol and its TypeScript SDK from Anthropic, and on the
acorn parser. The full list is on the
credits page.
License
Moontide plays Strudel, which is under AGPL-3.0-or-later. Moontide uses the same license. It
loads Strudel from unpkg at run time and does not ship it. The license text is in
LICENSE. Moontide is not
affiliated with, or endorsed by, the Strudel or TidalCycles projects, or Anthropic.
Konni — built with an AI coding assistant.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found
