Seedbox v0.1 + firmware, generic kit/synth, ROOT/SCALE pages
Some checks failed
check / check (push) Has been cancelled
Some checks failed
check / check (push) Has been cancelled
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>
This commit is contained in:
59
README.md
Normal file
59
README.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# 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).
|
||||
Reference in New Issue
Block a user