basso LIVE / 001

BROWSER PLAYER / FENNEL PATTERNS / 808 SAMPLES

Save the pattern. Keep the beat.

Basso plays a beat in your browser and swaps in your changes at the next bar, without stopping the music.

A save waits for the one.

Change the beat whenever the idea arrives. Basso keeps the current groove intact until the bar completes.

  1. 1

    Pick a pattern

    Start from an example or a blank grid, then press Play. Nothing to install.

  2. 2

    Edit while it runs

    Click steps, or write Fennel and press Update. The current pattern keeps playing while the change is checked.

  3. 3

    Cross the boundary

    The next call to pattern(bar) swaps the groove. A broken change is reported and the beat carries on.

The groove is the source file.

Sixteen steps, plain data, no hidden timeline. A pattern is a Fennel function you can read, export, and keep under version control. Any grid converts to one. Send a grid beat to a friend as a link: the pattern travels inside the link, with no account or server.

Open the complete pattern
patterns/indo-bounce.fnl EXCERPT
(bpm 150)
(steps 16)

(fn pattern [bar]
  [; the 3 + 3 + 2 bounce
   {:step 0  :sample "kick2.wav"}
   {:step 3  :sample "kick2.wav"}
   {:step 6  :sample "kick2.wav"}
   {:step 8  :sample "kick2.wav"}
   {:step 11 :sample "kick2.wav"}
   {:step 14 :sample "kick2.wav"}])

What Basso will not compromise.

BAR

Changes land on a boundary.

Never halfway through a groove.

AUDIO

The device stays open.

Revisions do not restart playback.

LOCAL

Everything runs in your browser.

No account, no server, no tracking of your patterns.

FORMAT

One pattern format.

The same Fennel file plays in the browser and the command line.

Prefer your own editor?

The command-line version plays the same Fennel files from disk and reloads them when you save. It is frozen: it still works, but new features land in the browser player first. It needs a Go toolchain; the 808 samples are built into the binary.

go install github.com/nyelonong/basso/cmd/basso@latest
basso play patterns/basic-groove.fnl

Then save the file on any step.