Mods for the original Teenage Engineering OP-1, firmware 246. By LizardMan.
A hobby project, built in free time and at its own pace. Help is always welcome, and if you'd like to support it, there's Ko-fi.
Opus 2 is out as a beta: not a bigger pack, but a plugin manager for the OP-1. Its small core loads plugins,
.opmod files you copy into a mods folder on the OP-1's disk. Add one, remove one, swap them, no reflashing. The
starter pack has all of Opus 1's features as plugins, plus dx (a DX7 voice player for your own .syx banks),
outatime (a time-travel synth engine), iter (the OP-1's own hidden engine), a trigger guard for worn keys, a
Halloween colour theme, and new in beta 4 an LFO matrix, SIM (a drum engine whose page is a physics box), the OP-1's
own help screen back, endless latch and preset tools (overwrite, rename and delete); beta 4.1 brings a chorus page
that draws its voices and pitch bend on the plain arrows. Beside the pack: the monitor,
which shows what the OP-1 and every plugin cost while you hold FN, and the bridge, an alpha, which runs op1r's and
Hundekraft's synths, effects and sequencers on Opus.
- The core: make the update from your own stock firmware with the patcher at https://opus-op1.pages.dev/patcher/. It runs in your browser and nothing is uploaded.
- The plugins: the starter pack, each plugin on its own, the monitor and the bridge are in Releases.
- Your own plugins: the plugin kit (GPL-3.0, with two additional terms: see Licence).
Opus 1 (1.0.1) is deprecated: its page stays on the site as legacy, but going back to it from Opus 2 isn't supported. https://opus-op1.pages.dev/opus1/
Report a bug · Ideas and questions · Releases
Opus is built so you can try it without risk and leave without losing anything.
- Coming from stock or Opus 1: your sounds, presets and tape stay. Opus 1's sounds play with the starter pack in the mods folder. Coming from beta 3 or earlier, your saved presets move into files on the USB disk at the first start.
- Coming from op1r or Hundekraft: to try Opus out, install it over them: your sounds, presets and tape stay, and so
do op1r's plugin files. Hundekraft's don't: it keeps them among the OP-1's own files, which every install replaces.
To switch for good, start clean: back up the disk, factory reset (te-boot's 7, which leaves op1r's plugin files),
install Opus 2 and copy back the presets you want (the steps). Either way,
their synths, effects and sequencers play with the bridge: Hundekraft's
.knlfiles go intomods/bridge. - Your presets are files: the
.aiffiles in the disk's synth and drum folders. Add, change or remove them on the computer, and they're there as the OP-1 leaves disk mode. - A plugin removed or switched off: a sound that needs it is kept exactly as it is. Its engine's, effect's, LFO's or sequencer's page says what's missing and which plugin it needs, and it plays again when the plugin comes back.
- Leaving: the cleaner (Opus's menu, system) makes your data ready for stock, puts your preset files back into the database, and keeps a copy of everything it changes. Install Opus again and it all comes back.
- The way back is always there: Opus never changes te-boot, the OP-1's own updater and recovery.
- IDs nobody has to hand out. Every plugin is named by its author and itself, like
opus.plateoryourname.delay, so names don't collide and nobody has to keep a list. - A small description file per plugin: its ID, name, author, version, the core version it needs and what it adds.
- Libraries. A plugin can be a library that others need, by ID and version. Opus loads a library before the plugins that need it, and refuses a plugin whose library is missing or too old, with the reason. The mods list shows what each plugin needs and what uses it.
- Clashes are refused, not forced. A place in the firmware holds one plugin. When two plugins want the same place or the same keys, the one later by file name is refused, and the mods list says which plugin has them.
- Costs up front. The mods list shows each plugin's memory and CPU. Every plugin has a CPU budget in the audio block, and its worst block is measured before release. When the audio breaks up, the heaviest plugin is switched off until the next start (a few clicks only bring up the audio warning), and one that crashes the OP-1 is left out at the next start.
- Your sounds stay. Every preset saved with Opus 1 or 2 names the plugins it needs, by their IDs.
These ideas come from VST3, CLAP, Fabric, Forge, Harmony and Mixin: see docs/design.md and CREDITS.md.
| id | what |
|---|---|
opus.dimension |
synth engine |
opus.amp |
guitar amp engine, with a tuner |
opus.dx |
DX7 voice player |
opus.outatime |
time-travel synth engine |
opus.iter |
the OP-1's hidden synth engine |
opus.sim |
drum engine whose page is a physics box (needs opus.orbit3d) |
opus.orbit3d |
3D line drawing library for plugin pages |
opus.matrix |
LFO matrix |
opus.bitcrush |
effect |
opus.chorus |
effect whose page draws its voices (needs opus.orbit3d) |
opus.plate |
reverb |
opus.filter |
the OP-1's hidden filter effect |
opus.overdrive |
a second effect behind every slot |
opus.scales |
scales and chords |
opus.bend |
pitch bend |
opus.dice |
a random sound, and undo |
opus.triggerguard |
a worn key that fires twice plays once |
opus.endlesslatch |
endless sequencer recording that stays on |
opus.tapeundo |
tape undo and redo |
opus.zoom |
tape zoom |
opus.playpause |
play as pause |
opus.presettools |
overwrite save, rename and delete for your presets |
opus.stockhelp |
the OP-1's own help screen, on FN held |
opus.splash |
your own start-up picture |
opus.halloween |
colour theme |
Outside the pack: opus.monitor, which shows what the OP-1 and every plugin cost while you hold FN, and
opus.bridge (alpha), which runs op1r's .op1p and Hundekraft's .knl synths, effects and sequencers.
Versions, keys, CPU and memory for each: https://opus-op1.pages.dev
The names and numbers that 246 mods share inside the firmware are kept in the OP-1 mod registry.
The core and its menu(Opus 1)Every feature as a part that registers with the core(Opus 1)Reading plugin files from the OP-1's disk at start-up(Opus 2 beta)The loader, with Opus 1's features moved out into plugin files(Opus 2 beta)Every feature as a file, the description file and a plugin kit for anyone(Opus 2 beta)- Out of beta, after enough stress and stability testing
No dates: each step ships when it has run on a real OP-1.
TabascoEye, who started it all in 2016, and wavi and op1hacks for op1repacker; popcorp, whose op1r brought the whole scene back to life; RoutineDiscount for the first entry in the mod registry; and everyone in the Custom Firmware thread on op-forums. Where ideas came from: CREDITS.md.
What's in this repository (the docs and the plugin kit) is GPL-3.0: use it, change it and share it, and what you build on it stays open too. The plugin kit adds two terms under the GPL's section 7: a modified version has to be marked as different from the original, and it can't use the original plugin's name. The plugins in the releases are © LizardMan, free to use and share. Their source is not published yet, apart from the kit's five examples. The source of the core and the other plugins will be published once it's properly put together. There's no date yet, but it isn't meant to stay closed. dx contains code under the Apache License 2.0 (its LICENSE and NOTICE are in the starter pack). The firmware updates and the patchers' data are © LizardMan, all rights reserved: please don't share them, link to the website instead.
Opus is an independent project, not affiliated with or endorsed by Teenage Engineering. OP-1 is a trademark of Teenage Engineering AB. There is no firmware in this repository.