Skip to content

bte808/fun-20260517-orbit-mods

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Orbit Mods

Orbit Mods is a tiny browser orbit sequencer: each dot is a note, the rotating arm triggers notes, and the mod buttons reshape the rhythm, echoes, bass, mirrors, trails, and motion. It is a single static page with no build step and no external runtime dependencies.

It is meant for anyone who wants a quick musical sketchpad without opening a full DAW: students learning rhythm, developers who like browser toys, or anyone who wants to make a short looping pattern and share the encoded result.

Live demo: https://bte808.github.io/fun-20260517-orbit-mods/

Why it is useful

  • It turns rhythm into something visible, draggable, and easy to understand.
  • It gives an immediate Web Audio playground without accounts, uploads, or API keys.
  • The pattern code in the textarea can be copied, pasted, and loaded again later.
  • Saved loops stay in local storage, so a few favorite sketches are one click away on the same browser.
  • Saved-loop sets can now be copied as a small JSON bundle and imported into another browser.

Why it is fun

  • Dragging notes around the orbit changes the loop instantly.
  • Mods like Mirror, Echo, Bass, Drift, Trail, and Pulse make one pattern feel different without needing music theory.
  • Three starter loops show off soft drift, mirrored echo, and slower bassline moods before you design your own.
  • Randomize creates a fresh loop, but the user can still shape it by hand.
  • Saving a loop makes it feel more like collecting tiny musical charms instead of losing every happy accident.

How to play

  1. Open the page and press Test Tone if you want to confirm audio first.
  2. Press Play to start the rotating sequencer.
  3. Drag dots to change when and how high notes sound.
  4. Try Sunrise Drift, Mirror Echo, or Slow Bassline if you want an instant example loop.
  5. Toggle mods to reshape the loop.
  6. Press Randomize for a new pattern, or Copy Pattern to keep/share the current one.
  7. Paste a saved pattern code into the textarea and press Load to restore it.
  8. Press Save in the saved-loops row to keep a local favorite, then use Load or Delete for that saved slot.
  9. Press Copy Set to share your local loop shelf, or paste that JSON into the textarea and press Import Set.

2026-06-04 Maintenance Update

This pass adds a shareable saved-loop shelf. Copy Set writes the saved loops as a compact JSON bundle, and Import Set merges that bundle back into local storage without replacing unrelated loops. The update also refreshes asset cache-busters so GitHub Pages and local preview ports do not serve stale controls.

Inspiration

Today's scan turned up a few nearby ideas:

This repo borrows only the broad idea of an interactive browser music toy; all code, layout, and wording here are original.

Run locally

Open index.html directly in a browser, or serve the folder:

python3 -m http.server 4173

Then open:

http://127.0.0.1:4173

Audio starts only after pressing Play, as required by browser audio policies.

Check

npm run check

The check verifies that the static entry point, canvas app, Web Audio usage, audio fallback/resume feedback, saved-loop controls and set export, pattern export, responsive CSS, and README source links are present.

If a preview browser does not expose Web Audio, the app falls back to short generated WAV tones through HTML audio. The Test Tone button gives an immediate sound check before starting the orbit. If a preview browser exposes Web Audio but will not resume it, Play still starts the visual orbit and reports a muted status instead of appearing stuck.

Ideas to extend

  • Add MIDI export for the current orbit pattern.
  • Add a small scale editor and chord-mode mod.
  • Export and import the saved-loop library as a tiny JSON file.
  • Add a sampler lane for short user-recorded taps.

Releases

No releases published

Packages

 
 
 

Contributors