66 Stretchcore
Mono sample-loop player with browser-loaded sample bank, tempo control, timestretch, and jump/selection gestures. Main knob targets playback position or sample index depending on switch gesture, X sets internal tempo when not externally clocked, and Y sets timestretch amount (with optional CV1 modulation). Switch down jumps to Main position and emits Pulse Out 1; switch up selects sample from Main position and emits Pulse Out 2. Pulse In 1 provides external clock, and Pulse In 2 triggers CV2-position jumps (or loop start when CV2 is unpatched).
README
stretchcore
stretchcore is a Workshop Computer card for playing uploaded mono sample loops with tempo control, timestretch, position jumps, and browser-based audio loading.
Quickstart
Get UF2 + instructions + sample manager at https://infinitedigits.co/stretchcore/

Demo
22 minutes of pure stretchcore: https://www.youtube.com/watch?v=w-iyoTLxIP8
Audio Loading
Audio is loaded from the web app in web/ over Web Serial (public instance at infinitedigits.co/stretchcore/). The firmware only needs to be flashed once with loader support; after that, sample banks can be replaced from the browser without reflashing firmware.
Samples are stored in flash as 48 kHz mono signed 8-bit PCM. The loader can read the device bank back, detect device flash capacity, show transfer progress with ETA, preview samples, crop waveforms, and upload banks with up to 64 samples.
Controls
| Control | Function |
|---|---|
| Main knob | Timestretch amount |
| X knob | Tempo when not externally clocked |
| Y knob | Position knob for jumps; sample selector when using Toggle Up |
| Toggle Down | Jump playback to the Y knob position; fire Pulse Out 1 |
| Toggle Up | Select sample from the Y knob position; fire Pulse Out 2 |
| CV In 1 | Adds bipolar modulation to Main knob timestretch when plugged in |
| CV In 2 | Bipolar offset for Pulse In 2 jumps |
| Pulse In 1 | External clock / BPM input |
| Pulse In 2 | Jump trigger: jumps to Y knob position plus CV In 2, or Y knob position if CV In 2 is unplugged |
| CV Out 1 | Smooth random slow bipolar LFO |
| CV Out 2 | Smooth random slow bipolar LFO |
| Pulse Out 1 | 20 ms trigger from Toggle Down |
| Pulse Out 2 | 20 ms trigger from Toggle Up |
Build
make build
make web-build
The firmware artifact is build/stretchcore.uf2.
Acknowledgements
Thanks for Tom Whitwell for this incredible tool which I find myself constantly referring to as a design of pure genius. Thanks to Chris Johnson for paving the way for the framework and huge thanks to Dune for continually pushing the boundaries and making incredibly inspirational music from such a small device. Also for letting me steal the 15_MLRws Sample Manager code!