Update on Op6
I’d thought I’d share what I’ve been up to lately:
- I’m working on a voice editor, which will allow new op6 patches to be created. I’ll need one or two more rainy weekends before I have something that I can share here.
- @CtrlAltDel is tweaking op6 for the SG-2 Synth Guitar. Very exciting to see what he’s going to build.
- The polyphony (number of voices) of op6 has been increased from four to sixteen. So now it actually matches the original DX7 in that respect. Optimization of the hottest loop (the one that processes samples in the FM Operators) made it possible.
- Although I think I’ve found the low-hanging fruit, there is room for further improvement. There’s now a total of 6 x 16 = 96 operators, which means 4.6M samples/s in that loop. I guess every single clock cycle that can be cut matters. I plan to use the headroom for effects.
- A #define was added in configuration.h. It’s a build-time option that switches between MIDI over USB and “real” MIDI using a UART.
- In an attempt to emulate the classic LatelyBass program of Yamaha TX81z I hacked op6, reduced the number of operators to four (like TX81z) and added “waveform #5/half sine”. I think it sounds pretty good. Like the original, it’s very velocity sensitive. With reference to the flowery language we use here, I call the patch Late Bloomer. Check it out on github: daisylab/latebloomer at main · carlvp/daisylab · GitHub.