I created an updated version of my old 2021 preset for the OB-6.
It’s still work in progress, but as it already parses patch names, it’s so gratifying to finally see what names were given!
You can now also set names yourselves.
The rest of the patch parsing I still need to do. I had some documentation lying around, but forgot where I stored it…
3 Likes
If you find it, perhaps you will also know where I left my keys 
1 Like
Doc found, and keys as well. A key in G!
2 Likes
Just published new version V2 with full patch parsing. If you choose a new patch on the E1, the parsing happens automatically, and the patch name appears as well.
A beautiful synth with a not too elaborate number but very musically thought of controls !
4 Likes
Just finished V3, probably my last, for the OB-6.
With this version, the OB-6 gets an additional performance LFO and a layering function.
Performance LFO
The OB-6 has this really wonderful creamy sound, but it is known it lacks a bit in the LFO area: there is only one. Of course you can sacrifice VCO2 for LFO duties, but that is not always desirable.
So I borrowed @martin 's LFO code from “Send LFO” Electra One App, adapted it for OB-6 LFO duties. Now we have 2 LFO’s
on an OB-6 .
Here’s the heart of the code doing the LFO stuff:
function timer.onTick () -- timer callback
updateLFO(timerInterval)
local lfoShape = {}
lfoShape[3] = getLFOSawtooth()
lfoShape[4] = getLFOSquare()
lfoShape[2] = getLFOTriangle()
lfoShape[1] = getLFOSine()
local depth = math.floor(ampMod[parameterMap.get(deviceId, PT_VIRTUAL, 4016)])
for i = 1, SCOPE_WIDTH - 1 do -- scroll left and append newest sample
scope.y[i] = scope.y[i + 1]
end
scope.y[SCOPE_WIDTH] = depth/100*lfoShape[parameterMap.get(deviceId, PT_VIRTUAL, 4017)] -- draw what we actually output
local modValue = math.floor(254*scope.y[SCOPE_WIDTH]) -- mimick MIDI value behaviour
if prevModValue ~= modValue then
parameterMap.modulate(deviceId, PT_NRPN, modDestination,lfoShape[parameterMap.get(deviceId, PT_VIRTUAL, 4017)],depth)
prevModValue= modValue
end
scopeControl:repaint()
end
Sound layering with another synth
Next I wanted to layer this synth with others in an easy way. So a control let’s you simply choose to which MIDI channel you’d like to copy all incoming NoteOn and NoteOff messages that were originally meant for the OB-6.

3 Likes
Nice! That’s given me the idea to add a sneaky LFO to a couple of my LFO limited synths. Thanks.
1 Like