# Getting started with Soundfish

Make a loop. Build a song. Share the link. Soundfish is a browser music studio: start with a groove, change its notes and sounds, then turn variations into a song. You can edit, play, save on your device, and share without an account.

## Your first loop

1. On [Home](https://sound.fish/), choose [Starter loops](https://sound.fish/?starters=1) for a ready-to-play groove, or [New loop](https://sound.fish/?new=1) to start empty.
2. For a blank loop, choose **Add track** to create a notes or drums track. Choose **Draw** and tap or click the grid to add notes or hits. Choose **Select** to move them; drag a note edge to change its length. The velocity lane changes how strongly a note plays.
3. Press **Play** to hear your starter or the notes you added. Nothing plays automatically. The first use of an instrument may need a download; prepared sounds use the browser cache.
4. Choose **Copy link** to share the whole composition, including its instruments, effects, and automation.

**Select** and **Draw** sit beside the grid, with **Undo** and **Redo**. Select notes to reveal **Duplicate**, **Delete**, and **Done**. The **Notes** menu has selection and copy/paste commands.

Select a track to change its instrument or mix. **Space** pauses and resumes, **Command/Control+Z** undoes an edit, and **?** shows keyboard shortcuts. Editable loops have 1–16 bars.

## Make room for the music

If tracks are collapsed, expand the one you want to edit. Switching tracks keeps your place along the loop. **Time zoom** shows more bars or makes notes easier to reach; **Track height** makes pitch rows taller. These controls change the view, never the music. Use **Earlier** and **Later** to move along the selected track. Swipe vertically over empty grid space to scroll the page. On a computer, you can also use the horizontal scrollbar or a trackpad. In a song, use **Song zoom** and the **Section** picker to reach a distant section.

## Keep your work

[Home](https://sound.fish/) always gives you a choice. **Continue** resumes your last loop; [Library](https://sound.fish/library) opens saved work. Visiting Home does not reopen music or start playback.

Loops save on this device after editing. **Save song** keeps a whole arrangement in Library. Saved songs stay on this device; optional sign-in sync is for loops. Clearing browser site data removes local copies, so keep a complete link or download Soundfish JSON for work you want to keep.

**Download Soundfish JSON** preserves the complete source. **Download MIDI** carries the performance to other music software, but does not preserve all Soundfish effects, automation, identities, lineage, or arrangement routing.

## Build a song

Choose **Arrange sections** to repeat, rename, reorder, or duplicate sections and choose their parts. Add or replace a section with a compatible loop. Sections share tempo, swing, instruments, drum kits, and track identities.

In a song, **Arrange sections** opens on the section you’re viewing. The selected section stays visible when you move or duplicate it. **Open song** creates a new composition and leaves the source loops unchanged.

Use the horizontal section strip to browse. Choose **Song** to hear the whole arrangement or **Section** to audition one section. Browsing does not move playback. **Space** pauses and resumes; **Restart playback** plays from the beginning. In Song mode, **Play from section** starts at the selected section.

**Follow playback** keeps the playing position visible. Scrolling the strip or selecting a section turns following off; turn it back on when you want to follow again. Section notes are read-only; **Edit a copy** opens the selected section as a separate editable loop.

**Copy link**, **Save song**, and song downloads keep the whole arrangement, even when one section is selected. Browser **Back** returns to the previous composition.

## Bring music in

Choose **Import** for MIDI, Soundfish JSON, compose or S1 text, or a loop or song link. Files are processed on your device. Review the music and warnings before **Load into editor**; existing saved work is not overwritten. Opening imported music starts a new edit history. **Back** returns to the previous composition; edit undo applies within the current one.

## Work with an agent

Choose **Edit with agent** and describe a musical change. A chat agent can return loop text without an install; a coding agent with terminal access can return an exact loop or song URL for review. Use **Paste from agent** to review the reply before opening it.

Compose text does not preserve IDs, lineage, or automation points. Use the coding-agent workflow for exact edits to automated loops or song sections. The [agent guide](https://sound.fish/docs/agent.md) explains both workflows and the [downloadable skill](https://sound.fish/skills/soundfish.zip).

Provider links never contain your composition. Pasting a prompt into a hosted agent shares it with that provider. Only a fully local, offline model and runner keep the prompt, composition, and CLI output on your device.

## Go further

- [Sound guide](https://sound.fish/docs/music.md): instruments, drum kits, and mixing ideas.
- [Agent guide](https://sound.fish/docs/agent.md): prompts and verified editing workflows.
- [API reference](https://sound.fish/docs/api.md): URL formats, CLI, limits, and exact document rules.

A complete Soundfish link contains the music. Anyone with it can read the composition. If a sharing app truncates a long song link, send Soundfish JSON instead. [Read about privacy](https://sound.fish/privacy).
