Files
seedbox/README.md
Gee 2196633ed5
Some checks failed
check / check (push) Has been cancelled
Seedbox v0.1 + firmware, generic kit/synth, ROOT/SCALE pages
First commit of the repo. Contents beyond the v0.1 simulator and layout:

- Full Pico 2 W firmware (firmware/app, drivers, engine port, host test).
- BANK page and 404 mode A/B removed; learned pads play exactly what was learned.
- 404/MiniFreak renamed to KIT/SYNTH throughout (jacks, code, sim, docs,
  layout labels; wiring rebuilt).
- ROLL returns to page select after a re-roll; a freshly learned track turns on.
- LCD contrast 66.
- ROOT and SCALE pages: 21 scales, AUTO = the seed picks; global and sticky.

Intended music change: the scale table grew from 8 to 21 and AUTO picks from
all of them, so every seed's scale changed. Vectors regenerated with
npm run vectors, plus new key-override cases. Flash record is now version 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:39:36 +03:00

60 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Seedbox
A generative rhythm and melody machine for a Raspberry Pi Pico 2 W. One 32-bit seed grows a whole tune: a drum part for any sampler or drum machine and a bass, melody and pad line for a poly synth, both over MIDI. Built and tested with a Roland SP-404MKII and an Arturia MiniFreak. You don't program steps. You pick a seed, turn tracks on and off, and steer it with two knobs.
**Status: v0.1.** The engine and the controls are settled in a browser simulator that drives the real gear over Web MIDI. The stripboard layout has been checked by script and by an independent review. The Pico firmware is not written yet: that's the next step.
## What's in the box
| Part | |
|---|---|
| Brain | Raspberry Pi Pico 2 W (RP2350), powered and flashed through its own USB port at the back |
| Screen | Nokia 5110 LCD (PCD8544, 84 × 48) |
| Controls | Encoder with push, ENERGY and DRIFT pots, SEED button, 11 track buttons in a 4 × 3 grid, with the RUN toggle in its top-right corner |
| MIDI | IN (for learning drum pads), OUT KIT (sampler or drum machine), OUT SYNTH. 3.5 mm TRS (Type A), MIDI 1.0 3.3 V spec. |
## Repo map
```
sim/ the browser simulator: index.html, engine.js (portable engine), app.js (UI, Web MIDI)
test/ golden vectors and the scripts that make and check them
hardware/ layout.js (the stripboard, one source of truth) and check-layout.js
tools/ bench pages: wiring.html, bom.html (tick-off parts list), panel.html (panel layout)
docs/ concept, controls, MIDI setup, hardware (BOM, pinout, wiring, panel, SVG drawings)
firmware/ the port plan for the Pico (C, Pico SDK)
```
## Run it
The simulator is a static page. Web MIDI needs a secure context, so serve it over `localhost` or HTTPS rather than opening the file directly:
```sh
npx serve . # or: python3 -m http.server
# open http://localhost:3000/sim/ (Chrome or Edge; Firefox needs a Web MIDI add-on)
```
GitHub Pages works too: enable Pages for the repo and open `/sim/`.
Checks (Node 18 or later, no dependencies):
```sh
npm test # golden vectors + stripboard netlist
```
## Docs
- [Concept](docs/concept.md): how the music is made
- [Controls](docs/controls.md): the panel, the screen pages, the gestures
- [MIDI setup](docs/midi-setup.md): kit and synth, learn mode
- [Hardware](docs/hardware/README.md): parts, pinout, stripboard, panel
- [Firmware plan](firmware/README.md)
- [Design decisions](docs/decisions.md)
## Licence
None chosen yet. Add a `LICENSE` file before making the repo public (MIT for code and CC BY-SA for the hardware docs is a common pairing).
## Credits
The track model leans on Eric Lyon's paper "Techno Counterpoint", an analysis of Aphex Twin's tracking practice. The AMENIZER plays a re-voiced Amen break pattern (The Winstons, "Amen, Brother", 1969).