Sat Dec 31 2022E.W.Ayers
Last Christmas in a drunken stupor I bid on Ebay for a second-hand, battered OP-1 by Teenage Engineering (TE). It's a pocket synth/arranger that you can sketch songs on. I've written some thoughts on it, they aren't going to make much sense if you haven't used the device. I might write a 'design lessons learnt from the OP-1' post which doesn't need this.
Listen to the songs I made with it, the audio is taken straight from the device with no mastering.
The main takeaway: it's a toy for hipsters. You can get PC / tablet apps that do everything this can do ... and yet. Something about having a dedicated interface with tactile buttons and twiddly knobs makes me more likely to play with it. This is because I spend all of my time using a PC, tablet and phone. I don't want to spend more time prodding around a load of menus and clicking things. Clicking is too slow, prodding relies you to do hand-eye work to find the button. If I learned all of the KB shortcuts for Bitwig I could replicate this, but it still amounts to holding the command key a lot.
Some apps, games and objects are so beautifully designed that I can't help but think about them. The most recent example I can think of is a game called The Witness. A lot of the value I derive from OP-1 is in exploring the design decisions that they made.
The main thing OP-1 has given me is given me new ways to think about design. OP-1 has a design philosophy that sets it apart from other music tools:
Creativity thrives on constraints. You are limited to four audio tracks, one effect per instrument, one modulation per instrument. All synths, sequencers and effects are limited to 4 (occasionally 8) parameters.
You are encouraged to throw things away. There is no undo. You can only store one sequencer pattern at a time. You can't save multiple songs to work on. Some of this is because of storage constraints (I think on the newer OP-1 you can save multiple projects). When I made music in the past I would constantly go back to old songs and get stuck reusing the same riffs and beats. Not letting me save everything is a good nudge towards building new things.
Menus suck. The only time a menu is used is to select preset patches. All other navigation and selection is done with special buttons and encoders. DAWs are especially guilty of menu-trawling, loads of time is spent navigating through file-pickers and context menus. TE observe that having more choice and control sacrifices thought-cycles that could be spent making music.
As well as this, the hardware is solid and beautiful. It is minimalist in its own way without looking like an Apple product. The software is so clean and playful. Every module and mechanic has a unique and interesting UX represented with a cool, whimsical visualisation. The parameters all have cryptic names like 'power' and 'telephomatic' or are nameless and modify the visualisation in some way. The DSP of each module is a cute twist on the usual implementation of these things: the Nitro filter has a follower-modulation feature; The random note generator is a spinning tombola; one of the pattern sequencers is a pair of monkeys that can chain patterns together.
The synths and effects (mostly) sound great straight out of the box. In contrast, most DAW synths have lots of knobs and features and it can be quite difficult to get something sounding good without knowing what you are doing (even if you do, it still requires lots of time that could be spent playing).
And yet, the main thing I daydream about when using the OP-1 is being able to code my own modules with the same design philosophy, but you can't because it is locked down.
Here are the main daydreams I have about the OP-1.
You should be able to 'lift' patterns from the Pattern sequencer to the Finger sequencer.
When you are in sequencer mode, the 1-8 number buttons should be a preset bank for the sequencers, in exactly the same way that 1-8 work for synths and drums. The Hold encoder's state is retained across the bank you can also chain them together like on a pocket-operator. From any screen, holding the sequencer key and one of the 1-8 buttons should trigger a beat-matched transition to that pattern. I guess this is kind of what the Finger sequencer is trying to do, but Finger can be annoying to edit.
If you change the tempo, the tape recording stays the same but the beat markers get completely off. It's simply never useful to have a recording which is out of time with the tempo. The tape should always be locked to the tempo.
1.2. Limitations of existing modules
The grid module sounds terrible. I never managed to get a good sound out of it. Seems to just add an unpleasant ringing delay/echo to input.
Setting new patterns in Finger is tedious. I wish you could open them using the Pattern editor (or drop pattern sequences to finger).
The Sketch sequencer is useless. I can see what they were going for but it doesn't work.
I should be able to chain patterns in Finger together. Eg I can shift-tap a sequence of 4 patterns and it loops over them.
Maybe it does this and my ears are broken, but having the sampler detect the pitch and set the root pitch offset for you would be handy.
More generally, the synth sampler feels like a missed opportunity. Eg if the input audio is multiple notes, it figures out what pitches they are at and multi-samples. Or it could work like a sequencer where you can manipulate and chop around the samples. I guess you can get all this by loading in to the drum sampler.
The drum sampler is bad at chopping your recordings. I have to go through and set all of the offsets manually. This must be a solved DSP problem.
Delay and Cwo effect should have time parameter be beatmatched (or at least have a beatmatch mode).
1.3. Modules that I wish existed
Basically, OP-1 should be jam-packed full of modules and extras. There are so many cool players, effects and synths in desktop DAWs. Just copy them!
Modulation from audio follower: run a follower on a particular tape track (with some release on it) and use that as a modulation channel. Then you can do sidechain-like effects. You could imagine variants of this where you only take certain frequencies or whatever. This is already implemented in OP-1, you can see it on the Nitro effect. Currently you have to simulate sidechain with an LFO which doesn't work with kick-on-every-beat rhythms.
Similarly, there should be a sidechain compression effect.
Nice-to-have effects that are missing: distortion, gating, conv-reverb, autotune, vocoder, chorus, filters.
Graintable synth where you can add your own samples.
Sequencers: Baseline generator, Key-aware pattern sequencer. In general, there are lots of cool generative pattern creation tools out there. OP-Z has some. Just lots more of those would be great and extend the possibilities immensely.
I really really wish there was a sequencer called Chords. You select a key and a scale (major, minor, phrygian etc) , then pressing the notes would emit the chord (I, ii, iii, IV, V etc). You can choose the variants, inversions etc. You can also override by playing a chord and it tells you the name of the chord for that key and scale. These would then be placed on a Pattern-like sequencer. You can do all sorts of cool visualisations using the circle of fifths; or perhaps a cartoon organ with lots of stops. I know that you don't really need this if you are a good musician but this is so useful for experimenting with the right chord progression if you are a novice like me who can't intuit the right finger placement in time. (or just to avoid finger cramps.)
2.1. Alternatives to the OP-1
In no particular order.
Axoloti (open source)
OTTO (open source)
Chlorophyll (open source)
2.2. Modding the OP-1
I was so desperate to write my own OP-1 modules I researched modding the OP-1. It was a dead end without investing some serious time into reverse-engineering for weird CPU so I gave up. Here are the links that were most helpful. Also note that decompiling and publishing the firmware source isd illegal.
TabascoEye post unpacking the OP-1 software update format. You can edit the SVGs (for the UI drawings) and change default settings by modifying values in the sqlite db. They were able to unlock a Filter effect and a synth called Iter. Ultimately, after 4 years, the software remains opaque. The sourcecode for the modding efforts can be found here.
OP-101 is a blog trying to figure out how the different synth modules work.