Skip to content

Releases: wsbuck/op1-overdub

Release list

overdub 1.0

Choose a tag to compare

@wsbuck wsbuck released this 13 Oct 23:15
43dde84

First release of overdub: new synth engines, FX with animated screens and keyboard modes for the original OP-1, firmware 246, patched into TE's firmware. Every stock engine, FX and feature keeps working.

Not affiliated with or supported by teenage engineering. Flash at your own risk.

What's in it

Synth engines, with their own presets and screens:

  • va: two-oscillator virtual analog with a resonant low-pass (wave · detune · cutoff · resonance)
  • wavetable: 8 banks of morphing wavetables (position · bank · warp · unison)
  • grain: granular, playing a built-in bank or the sample in any sampler slot (position · grain size · density · spray)

FX, on synth, drum and master (stereo as master FX):

  • ensemble: a Juno / string-machine chorus. Its screen is a choir.
  • pingpong: a ping-pong delay. Its screen is a game of table tennis.
  • distortion: TUBE, MUFF, FUZZ, CLIP, FOLD and CRUSH, with a resonant voice filter. Its screen is two pedals: a stompbox and a wah.

Keyboard

  • HOLD: SHIFT + T2 latches released notes.
  • CHORD: hold SHIFT and play a chord; every key then plays that shape. SHIFT + one key turns it off.

Install

  1. Download stock firmware 246 from TE: https://teenage.engineering/_software/op-1/op1_246.op1
  2. Download overdub-1.0.zip below and unzip it.
  3. Run python3 overdub-1.0/apply.py op1_246.op1. It needs Python 3.10+ and nothing else, and writes OVERDUB.OP1.
  4. On the OP-1, hold COM while switching on, press 1, connect USB, copy OVERDUB.OP1 to the OP-1 disk, and eject.

The zip contains only our code, our database rows and our SVG screens. TE's firmware never leaves your computer: apply.py patches your own copy and checks every step.

Safety

  • The bootloader (te-boot.ldr) is never touched, so you can always go back: hold COM at power-on and upload stock op1_246.op1.
  • Before going back to stock, delete sounds saved with these engines or FX. Stock firmware stops at boot on a sound it doesn't know. If that happens, hold COM at power-on and do a factory reset.

Checksums (sha256)

  • stock op1_246.op1 (input): c5315218f825f143b415ca554516541898abee843d3a236df0b54c04e1fb13a9
  • OVERDUB.OP1 (output, as built here): 77b752ec8123068239ba2e7d79b0fa68592f260a7effee5dce4ce2a755a74384. apply.py verifies the firmware and database contents. The output hash can differ if your Python's liblzma or SQLite packs the file differently; the contents stay identical.

Build from source with python3 build.py --version 1.0 (Docker toolchain; see the README).