Alchemy Lab / Capicola
Capicola
Real-time Time Stretcher
A collab with Heavylight Industries
Time stretching, in real time! Capicola stretches audio out while staying aligned to the rhythm of the input. Give your signal a glitched-out character without missing a beat. Capicola turns audio into envelope followers and triggers that can either self-modulate or feed to the rest of your rack. It’s a dynamic audio effect and CV utility in a 12HP package.

Slice, stretch, shift, distort
A novel time stretching algorithm
At its core, Capicola is the hardware implementation of “Extrema Sampling,” a novel data compression algorithm that reduces uniformly sampled 48kHz audio into non-uniform “Keyframes” of local extrema (peaks and valleys of the signal). The “Quality” knob determines the level of data compression applied in a continuous, modulatable fashion. It’s not bitcrush, it’s not downsampling. It’s a tape-like degradation the likes of which exist literally nowhere else.
This non-uniform sampling scheme, not dissimilar from Keyframe Animation in Blender 3D, is the basis for Capicola’s novel approach to “Overlap Add” time stretching in which the spacing between keyframes informs the granular crossfade duration. This inherently preserves the beats and tones, leaving the user with a “Grain Size” macro control.
Capicola also offers a novel approach to nonlinear distortion, again enabled by the keyframe representation. The distortion is applied to the keyframes in the “sparse domain” before the final interpolation, resulting in a naturally alias-free distortion that requires no oversampling and can facilitate many wild nonlinearities with ease.
Performance features
Real time stretch, real time play
Each of Capicola’s main controls is fully modulatable from the internal envelope followers and external CV, with dedicated attenuverters for the internal modulation. The envelope follower is an excellent source of “self” modulation, and easily leads to evolving, dynamic patches with a mind of their own.
The “Threshold” control allows the user to easily create “glitch fills” by temporarily disabling the beat snapping. The settings of stretch, pitch, and grain size lead to anything from ethereal washes of time-stretched sound to beat-synced looping segments.
The visual feedback engine of Alchemy Lab makes multiple pages of controls a pleasure to use rather than an exercise in memory. Capicola utilizes four color-coded pages to offer settings that are wide enough in scope to offer supreme flexibility but only when the user needs it. The main controls are knob-per-function on the main panel, and everything else acts in service of them.
Interactive manual
Play
Settings
Control
Performance Page
Primary
The six main controls. A modulation attenuverter and source selection for each lives on the Depth and Routing pages, respectively.
Modulation is animated on each knob's ring: the arc follows the modulated position, not just the pot.
Grain playback speed and direction. It is decoupled from time: the stretch clock keeps its own rate. CW of noon the grains play forward, CCW they play backward, up to 2× either way. Noon stops the head; near noon is just very slow.
- Noon: Stop
- Unity: At ¼ and ¾, held by a ±0.03× detent
Playback rate of the keyframe grid. At noon the grid stops instead of crawling. CW runs it forward up to realtime, CCW runs it backward up to realtime reverse.
Running out of buffer
The recorder writes sparse keyframes into a ring buffer of fixed size: 2^21 keyframes per channel, about 44 seconds of full-rate stereo audio. Only extrema are kept, so in practice it holds minutes, and longer at low Quality. If a freeze or a reverse leaves the grid behind the oldest keyframe, it jumps back to now with a full crossfade rather than a click.
- Noon: True freeze
- Taper: |u|^2.5 each side; ¾ ≈ 5.7× slower
How readily a transient triggers a slice. Lower is more sensitive and slices more often; higher slices less. At the very top, auto-slicing is off, and only B2 or a jack assigned to Slice slices.
- CCW: Most sensitive: the most slices
- CW: Fewer slices
- Top: Auto-slicing off
- Pip: Mirrors Slice trigger
How long a grain plays before the head is spliced on: the summed duration of the next N keyframes, where N is the grain size. It counts keyframes, not time, so dense material gives short grains and sparse material long ones, and lower Quality stretches them further.
An extremum is only stored as a keyframe if its value differs enough from the previous keyframe. Quality sets how much is enough. CW keeps nearly every extremum; CCW keeps fewer, making the representation sparser and, in turn, crunchier and more lo-fi.
Fewer keyframes also means a longer buffer and longer freeze times.
- Pip: Mirrors Input envelope; red on input clip
The output is fed back into the input, through a saturator and a tunable state-variable bandpass on the way.
Feedback only bites near now: right after a slice, while the read head is close to the live input. The further a head lags behind now, the less influence the feedback has. The tap sits before the mix, so turning Mix down doesn't starve the loop.
- Unity: At ⅔ of the sweep
- Pip: Mirrors Output envelope
Left input. The two channels are detected and sliced independently.
Right input.
An incoming trigger starts a new slice.
Incoming voltage modulates pitch.
Incoming voltage modulates stretch.
Incoming voltage modulates feedback.
Sends a trigger whenever a slice starts.
Sends the input envelope from this jack.
Left output, after the dry/wet mix. There is no dry normalling in hardware.
Right output, after the dry/wet mix.
Heavylight X Hermetic Modular
About Heavylight
Heavylight Industries started with a frustrated sampler user figuring out how to time stretch on a device that offered no such feature. The end result was the idea of non-uniform sampling: a novel, fast, keyframe-sampling compression and stretch algorithm.
Capicola is the first embodiment of this algorithm, but the "Keyframe" idea can power so much more: an endless CV recorder, a sampler, or maybe even an entirely new time-frequency representation for signals that will drive another dimension of audio possibilities. Only time will tell.
Matthew (Heavylight) and Luke (Hermetic), both residents of Cascadia, met by chance online. Hours after reaching out, the pair from the Pacific Northwest were hacking on the hardware prototype that was to become Capicola.
At a Glance
Specifications
- Format
- 3U Eurorack
- Width
- 12 HP
- Depth
- Skiff friendly
- Power +12 V
- <199 mA (LED-dependent)
- Power −12 V
- <50 mA
- Audio
- 48 kHz / 24-bit stereo
- CV jacks
- 6, field-programmable
- LEDs
- 102 RGB
- USB
- Front-facing USB-C
- Storage
- Micro SD
- Engine
- Keyframe time-stretch
- Pitch and time
- Fully decoupled
- Slicing
- Per-channel transient detection
- Modulation
- Envelope followers, per pot
- Feedback
- 0 to 1.5
- Ping-pong
- Direction changes at a fixed rate
- Presets
- 16 slots
Open Platform
Use Any Alchemy Lab Firmware
Capicola is one firmware among many on the open Alchemy Lab platform. The hardware is field-programmable down to the silicon: load Echoa or Spagyros, build your own voice, or contribute back to the SDK. Capicola itself is open source, built on the Alchemy SDK.
License
MIT
HAL
Open
Panel templates
Included
Language
C++








