No account. $0 as of September 5, 2026, recorded on the pricing page. A Bun CLI is available as @hraness/soundfish.
sound.fish
Glasshouse Return becomes Glasshouse Demo, plays in the browser, and leaves as one copied URL. The clip is silent and uses five live states from the public editor; no interface or result was synthesized.Captured from the live editor on August 25, 2026 · 10 seconds · silent
01Open the default Glasshouse Return loop.
02Rename the composition to Glasshouse Demo.
03Play the loop in the browser.
04Open More loop actions and choose Copy link.
05Confirm that the loop link was copied.
Source https://sound.fish/ · 10.4 seconds · 1280 × 720 H.264 · no private data recorded · Inspect the capture manifest
Editable loop
1–16 bars
Tracks
Notes + drums
Hosted editor
$0
Portable artifacts
URL · JSON · MIDI
Compose
Place notes and drum hits on a piano roll, name the tracks, and shape volume, reverb, delay, and automation in a loop of 1 to 16 bars.
Hear
Press Play and hear the loop through General MIDI instruments rendered in your browser.
Share
Copy one link that holds the whole composition, or download it as Soundfish JSON or Standard MIDI.
How it works
The link is the handoff.
Composing, playing, sharing, and agent editing are separate jobs. The URL is what passes between them, and you can inspect it at every step.
01
Compose
Open a musical starter or import MIDI, JSON, or a loop link. Place notes and drum hits, shape the mix, and turn variations into a song with Arrange sections.
02
Hear
Press Play to hear your instruments and mix. The first use of an instrument may need a download; nothing plays automatically.
03
Share
Choose Copy link to share the complete composition in one playable URL. In More, download Soundfish JSON to keep an exact copy, or Standard MIDI to work in other music software. Song downloads contain the whole arrangement.
04
Collaborate
Choose Edit with agent and describe the change. Chat agents return loop text; coding agents use the CLI for exact loop or song edits. Review the reply before opening a new playable link.
Interfaces
Play it yourself, or hand it to an agent.
The browser and the CLI act on the same document without pretending to be the same tool.
Human interface
Make music in the browser. Edit, play, mix, and keep loops in the browser. Library keeps loops and saved songs on this device. Optional sign-in syncs loops across devices; complete links and Soundfish JSON keep either composition portable.
A musical request and a reviewed reply. Choose Chat app for a loop draft without an install, or Coding agent for exact edits with the Soundfish skill and CLI. Copy the prompt, send it to your agent, and review the reply in Soundfish.
Commands for loops and songs. Run bunx @hraness/soundfish once, or install the soundfish command. Inspect and verify loops or songs, export either as JSON or MIDI, and orchestrate authorized local song imports through StemDeck and Basic Pitch.
The canonical protocol says exactly what addresses the music, what protects transport, and what determines sound.
MusicCID
Addresses authored musical meaning: tempo, bars, typed tracks, events, production, effects, and automation. Titles, IDs, lineage, and display order stay outside it.
ArrangementCID
Addresses a song's expanded ordered child MusicCIDs and stable-track trajectories. Titles, section labels, repeat grouping, display order, and one consistent global track-ID rename stay outside it.
Transport digest
Covers the complete canonical loop or song payload. Renaming a loop preserves MusicCID, and renaming song sections preserves ArrangementCID, while either change updates the transported payload and this digest.
Sound release
Pins the current bank, renderer, graph, effects, limits, and defaults at runtime. It is inspectable, but it enters neither MusicCID nor ArrangementCID.
Soundfish keeps ordinary composition work client-side, then names every feature that crosses that boundary.
URL fragment
Browsers do not send the # fragment in an ordinary HTTP request. The fragment is not a secret: anyone who receives the complete URL can read the composition.
On-device library
The browser library uses IndexedDB and needs no account. Clearing Soundfish site data removes that local copy, so the complete URL remains the portable share and recovery artifact.
Agent providers
Provider-opening links carry neither the prompt nor the fragment. Pasting the prompt into a hosted agent sends the loop and CLI output to that provider; only a fully local, offline model and runner keep them on the device.
Optional services
Optional sign-in sync stores account-bound loop checkpoints. Production analytics sends one cookieless pageview without the query, fragment, composition, referrer, or account identity.
No. Open, edit, play, save locally, and share without signing in. Sign-in is optional and syncs loops across devices. Saved songs stay on this device.
What does Soundfish cost?
The hosted editor currently costs $0 and has no published paid plan or purchase flow. That current price is not a promise about future features or service levels.
Is a Soundfish link private?
It is client-side during ordinary navigation, not confidential. Anyone with the complete URL can decode the composition, and a hosted agent receives it when you paste the handoff.
Does agent editing need a mutation API?
No. The published CLI runs on a complete editable-loop Soundfish URL or local .soundfish text and returns another verified loop URL. It also inspects, verifies, and exports read-only songs. Soundfish exposes no unauthenticated hosted mutation endpoint for canonical documents.
Can I export a loop or song?
Use Download Soundfish JSON for the complete loop or song model and Download MIDI for other music software. Song MIDI carries tempo, tracks, programs, notes, velocities, duration, and section markers; JSON or the complete URL retains effects, automation, identities, lineage, and arrangement routing.
Can the CLI turn a recording into a song?
Yes, from authorized media. The local soundfish song import command orchestrates separately installed StemDeck and Basic Pitch tools and writes reviewable loop and song artifacts. Separation, analysis, and transcription are estimates, so audition and correct the result.
Does renaming change the music address?
A loop or track rename changes its payload and transport digest but not MusicCID. A song or section rename likewise changes its payload and transport digest but not ArrangementCID, because titles are transport metadata rather than authored musical meaning.
Built by
A person made this.
Soundfish is made by Ben Guo, a musician and builder. He was a founder and an engineering leader at companies including Venmo and Stripe, and he now builds from Puerto Rico.