818 Bib

Usefuleffectdelayreverbstereotapeclocked

A hardware-tested beta Workshop Computer port of Plinky Synth's Bib. It runs the original 64-frame fixed-point DSP with stereo delay, rhythmic multitap, modulated reverb, shimmer, clock divisions, and tape transport controls.

Panel

Workshop Computer panelPageXYLeft AudioRight AudioX ModY ModDelay ClockLeft OutRight Out

Controls

Main knob

Page
Selects Drive, Delay, Reverb, or Mix.

X knob

X
Active-page X parameter, modulated by CV In 1.

Y knob

Y
Active-page Y parameter, modulated by CV In 2.

Switch

Detail Page: Delay tape transport/wobble or retained reverb shimmer.

Main Controls: Normal Drive, Delay, Reverb, and Mix page controls.

Page Action: Toggle wavefold, record delay taps, or hold dub feedback by page.

Inputs & Outputs

Inputs

Outputs

Inputs

Audio 1

Left Audio
Left input for stereo processing.

Audio 2

Right Audio
Independent right input for stereo processing.

CV 1

X Mod
Bipolar modulation of the active X control after pickup.

CV 2

Y Mod
Bipolar modulation of the active Y control after pickup.

Pulse 1

Delay Clock
Sample-timed clock with smoothing and stable Bib-style delay-time divisions. X selects a preferred time, not a fixed clock ratio.

Outputs

Audio 1

Left Out
Processed left output.

Audio 2

Right Out
Processed right output.

LEDs

LED 1

Page Bit 0
Binary Main-page indicator.

LED 2

Page Bit 1
Binary Main-page indicator.

LED 3

X Value
Effective X value, including CV.

LED 4

Y Value
Effective Y value, including CV.

LED 5

Page State A
Wavefold, clock lock, shimmer, or dub hold by page.

LED 6

Page State B
Ping-pong, multitap count, mix, or output level by page.

README

Bib for Workshop Computer

Version 1.1.2-beta. Current stable firmware, hardware-tested on a Workshop Computer. Catalogue status remains Beta.

Bib is a stereo dub processor adapted from Plinky Synth's Bib. It runs the original 64-frame Bib DSP directly on the Workshop's second RP2040 core, rather than using ComputerCard.h.

Install

Flash Bib-1.1.2-beta.uf2 to a Workshop Computer program card, then reset with the switch in Middle.

Controls

Main selects one of four pages. LEDs 0--1 show the selected page in binary: off/off Drive, on/off Delay, off/on Reverb, on/on Mix. LEDs 2 and 3 show the effective X and Y values, including CV. LEDs 4 and 5 show the relevant state for the current page.

Page Middle: X / Y Switch Down
Drive Drive / bipolar delay send Toggle wavefold
Delay Delay time / feedback Record a multitap phrase
Reverb Reverb send / feedback No action
Mix Wet/dry mix / output level Hold for dub feedback

On Drive, Y is bipolar: centre is off, clockwise sends normal stereo delay, and counter-clockwise selects Bib's ping-pong behaviour.

Multitap delay

On Delay, press Switch Down once to start a one-second phrase, then press it again up to eight times within that window. Every later press adds an equal-level relative delay head; the latest sets the full delay period. Turn X deliberately to clear the recorded pattern and restore a single repeat.

Delay tape page

On Delay with Switch Up, X controls the tape rate from stopped (CCW), through normal speed at noon, to 2x (CW). Y adds slow wow/flutter around that rate. Return Switch Middle for normal delay time and feedback. These controls have their own pickup, so entering the page does not jump the audio.

External delay clock

Patch a clock to Pulse In 1 and use Switch Middle. On the Delay page, LED 4 indicates clock lock. Accepted pulse intervals are at least 50 ms and less than two seconds.

X sets a preferred delay time, not a fixed divider/multiplier position. The clock chooses a nearby 3/4, straight or dotted length, scaled by powers of two. At 120 BPM with quarter-note pulses, the midpoint's approximately 512 ms target selects 500 ms. Sixteenth-note pulses can select four pulse periods to give the same delay. Switching pulse subdivisions can therefore retain approximately the same timing at a fixed X position.

Timing changes move Bib's read head smoothly, so brief smears or pitch bends are expected; clearly audible timing steps are not required. This behaviour was compared with hardware Bib and found similar. A steady clock and parked X should settle without repeated changes between adjacent divisions.

Version 1.1.2 measures edges at sample resolution, smooths small period fluctuations and retains the selected ratio around division boundaries. Large clock-rate changes are accepted after two consistent intervals. After clock loss, the last delay time is held until X moves deliberately.

Reverb shimmer page

On Reverb with Switch Up, X controls a retained shimmer amount. It starts at a subtle level after reset and is limited to three-quarters depth. Return Switch Middle for ordinary reverb send and feedback; the chosen shimmer stays active.

Inputs and outputs

  • Audio In 1 and Audio In 2 are independent left and right inputs.
  • CV In 1 and CV In 2 provide bipolar X and Y modulation after pot pickup.
  • Pulse In 1 clock-quantises Delay to Bib-style 3/4, straight, and dotted divisions. After clock loss, the last division is held until X moves.
  • Audio Outs 1 and 2 provide the processed stereo signal.

Audio In 1 is not normalised to Audio In 2. Mono duplication was evaluated but raised the idle noise floor in the direct stereo DSP path.

Build

export PICO_SDK_PATH=/path/to/pico-sdk
cmake -S . -B build -G "Unix Makefiles"
cmake --build build -j2

The build creates build/bib_workshop.uf2.

Clock regression checks can be run without hardware:

c++ -std=c++17 -Wall -Wextra tests/clock_test.cpp -o /tmp/bib-clock-test
/tmp/bib-clock-test

Attribution and licence

The original Bib DSP, reverb, lookup tables, and delay behavior are adapted from the software portion of the Buddies public repository, which is MIT-licensed. The upstream repository separately licenses its logos, panel and other graphic design under CC BY-SA 4.0, and its hardware under CERN-OHL-P v2; none of those non-software materials are included here. The Workshop transport borrows the hardware map, ADC correction, mux cadence, and DAC formatting from MIT-licensed ComputerCard.

The Workshop-specific DMA transport, block scheduler, control mapping, safety limits, pickup, CV/clock support, and tape-rate hand-off were written for this port. No original panel artwork, logos, or hardware design is included. See THIRD_PARTY_NOTICES.md and LICENSE.

The previous ComputerCard.h release candidate is preserved in archive/1.0.0-computercard-rc1/.

Release history

  • 1.1.2-beta: promoted after hardware comparison with original Bib and successful clock/tempo-change tests. Adds sample-level pulse timestamps, small-change smoothing, division hysteresis and large-rate reacquisition. The original DSP, reverb, audio levels, pickup and tape controls are unchanged.
  • 1.1.0-beta: previous stable code and UF2 are preserved in archive/1.1.0-block-dsp.

Firmware distribution notices

See THIRD_PARTY_NOTICES.md for dependency copyright and licence texts. Keep the accompanying NOTICE.txt with each redistributed UF2. Workshop-specific changes were AI-assisted.

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.