66 stretchcore
stretchcore plays uploaded mono sample loops with internal or external tempo control, granular timestretch, position jumps, sample selection, and two independent slow random CV outputs. Its Web Serial sample manager can preview, crop, read back, and replace the sample bank without reflashing the firmware.
Panel
Controls
Timestretch
Sets the timestretch amount; CV In 1 adds bipolar modulation when patched
Internal Tempo
Sets playback tempo from 100 to 200 BPM when no external clock is active
Jump Position
Sets the position used by the next switch-down or Pulse In 2 jump
Select Sample: Selects a sample according to the Y knob position and fires Pulse Out 2
Loop Playback: Normal playback; Main controls timestretch, X controls internal tempo, and Y sets the next jump position
Jump Position: Jumps playback to the position selected by Y and fires Pulse Out 1
Inputs & Outputs
Inputs
Outputs
Inputs
Timestretch Mod
Adds bipolar modulation to the Main knob's timestretch amount when patched
Position Offset
Adds a bipolar offset to the Y position when Pulse In 2 triggers a jump
External Tempo Clock
Two-pulses-per-quarter-note tempo clock; overrides the X knob while active
Jump Trigger
Jumps playback to the Y position, offset by CV In 2 when patched
Outputs
Loop Output 1
Mono playback of the selected sample loop
Loop Output 2
Duplicate mono playback of the selected sample loop
Random CV 1
Smooth slow bipolar random modulation output
Random CV 2
Independent smooth slow bipolar random modulation output
Jump Pulse
20 ms trigger emitted when the switch is moved down to jump playback
Select Pulse
20 ms trigger emitted when the switch is moved up to select a sample
LEDs
Playhead / Clock Edge
First playhead segment in free-run mode; remains lit as the left edge marker with external clock
Playhead Segment 2
Playhead segment in free-run mode; first inner position segment with external clock
Playhead Segment 3
Playhead segment in free-run mode; second inner position segment with external clock
Playhead Segment 4
Playhead segment in free-run mode; third inner position segment with external clock
Playhead Segment 5
Playhead segment in free-run mode; fourth inner position segment with external clock
Playhead / Clock Edge
Final playhead segment in free-run mode; remains lit as the right edge marker with external clock
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!
