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/

stretchcore module image

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!

Verify your download

Confirm the file you downloaded really is that new firmware.

macOS / Linux (Terminal)

shasum -a 256 firmware.uf2

Linux also has sha256sum firmware.uf2.

Windows (PowerShell)

Get-FileHash firmware.uf2 -Algorithm SHA256

Compare the result to the SHA256 on the website — it should match exactly.

Back to all programs Back to top