Emulation of the Verbos Harmonic Oscillator

I got a private request to create a new Venom module emulating the Verbos Electronics Harmonic Oscillator - an additive oscillator with the first 8 partials of the harmonic series.

There are a number of additive oscillators in the VCV ecosystem that support at least 8 partials, including:

But I don’t think there are any oscillators that come close to replicating the features of the Verbos Harmonic Oscillator. Let me know if you know of one!

I have always been fascinated by harmonics, so I had some interest in the project. I haven’t decided to take up the challenge of a new Venom module, but I have created an emulation using existing (mostly Venom and MindMeld PatchMaster) modules.

Verbos Harmonic Oscillator Emulation.vcv (11.9 KB)

Here is the UI:

And here are the internals that should not be modified:

I believe I captured all the features of the Harmonic Oscillator (as far as I understand them), and also threw in some enhancements.

  • Added an overall Level knob for the Harmonic Scan mix
  • Added attenuverters for the individual Harmonic level CV inputs
  • Added individual harmonic phase modulation inputs with attenuators
  • Added a switch for the Harmonic Scan width behavior
    • Turn harmonics full on within the width (I believe this is how the hardware works)
    • Attenuate the harmonics by an isosceles triangle with level full on at scan center and base equal to the scan width
  • Added a meter for each harmonic effective level instead of an LED

The individual harmonic outputs are +/-5V, without any mix levels being applied. But they do include any phase modulation.

Here are some implementation details that may not match the hardware behavior:

  • Pre-tilt levels are the sum of the slider levels, CV levels, and Scan levels, clamped between 0% to 100%
  • Tilt levels are clamped between -100% to 100%
  • The final effective harmonic levels are the sum of the Pre-tilt levels and the Tilt levels, clamped between 0% to 100%

I haven’t really explored what this emulation can do, other than verifying it behaves as I expect. I certainly don’t have a demo video.

I’d love to see what others can do with this.

Also, let me know if you would really like to see this implemented as a stand-alone module. Also whether you would be interested if it were a commercial module.

If enough people have interest, I might create the module. But it would be low on my to-do list. I have a bunch of other free and commercial modules already in my pipe line that I want to create first.

12 Likes

:+1:

Hi!

There is a Verbos emulation here:

CPU killer, but it actually sounds really good, I can’t compare with the original, but has a great caracter!, can’t put my finger on why, maybe it’s the imperfect sine shape..

7 Likes

Thanks for showing me this!

CPU killer ??? I don’t see it. On my Windows machine at 48kHz sample rate the CPU usage is 3.7% for mono output, regardless how many inputs or outputs are patched. Not great, but certainly not horrible.

What I find impressive is with 16 poly channels it only goes up to 4.5%

It certainly is derived from the Verbos design, and it is made to look very much the same. But there are a number of major differences in implementation (comparing videos to VCV behavior).

  • Partial count and levels
    • hardware has partials 1-8, and all can be turned completely off
    • dBiz has fundamental at constant full level, and partials 2-9 can be attenuated.
  • Individual partial outputs
    • hardware individual outputs are not attenuated by the mix
    • dBiz individual outputs are attenuated by the mix
  • Tilt functionality is completely missing from dBiz, unless the slope is supposed to be that. But I can’t figure out what slope does - any effect is very subtle.

I stopped looking for differences at this point.

1 Like

Thanks for this detailed view! back in the VCV 1 days it was quite a CPU killer, I guess it went through some fixing, that’s good news!

Your reproduction is very interesting, I understand you are using polyphony and v/oct offset to generate the harmonic content?

What always wrapped my mind is how to get a 8 sinewaves in perfect tuning with analog circuitery? it certainly can’t be 8 different vcos!

Turns out the original module is a 1969 Buchla oscillator with 10 partials generated from a single triangle wave going through a waveshaper that will later be developped to become a thing known as “wavefolder” !

You can find this interesting blogpost from Marc Verbos here

From the reading of the article and the scope view of this video, it seems the partials are not perfect sinewaves, I guess they are some kind of filtered peaks or artefact from the wavefolder

4 Likes

Yeah, I definitely heard that the harmonic partials are not clean sine waves in the demos that I saw.

That buchlatech article is a great find. Thanks!

1 Like

There is a newer version (2.5) of the dbiz plugin on the Github page compared to the VCV library version (2.1). However, only general change notes are listed.

1 Like

The imperfect sinewaves of the Verbos HO sounds incredible. Its the most characterfull eurorack VCO out the box IMO. I’ve owned it for 9 years and it will never leave my rack. You can copy the functionality, yes - but i’ve haven’t heard anything getting clise to that HO character.

Yes, I see that sentiment by a lot of owners of that module. Some don’t like the sound, but in my non-scientific sampling of comments, of those that have tried it, more love it than dislike it.

For Additive synthesis DocB has a great combo:

Pho gives you 16 harmonics (all harmonics in phase sync). It has a polyphonic modulation input for amplitudes (can be used to tilt or implement ‘filter‘ curves). The oscillator is phase driven, so phase modulation is inherently included.

Faders wil give you…well…faders. It has a polyphonic modulation input for amplitudes (can be used to tilt or implement ‘filter‘ curves)

Examples from DocB documentation.

For extra phase modulation mayhem you can add a waveshaper on the phase source. Normally the phase source would be a linear ramp/saw.

6 Likes

I believe NYSTHI Phasor is also an additive osc

Correct. NYSTHI Phasor also offers 16 harmonics. And a lot of per harmonic control. Not only control over amplitude, but also over phase and finetuning. Also offers global linear and exponential FM (probably implemented as phase modulation). Also offer modulation over all harmonics at once, odd, even, tilt and offset.

It lacks the very handy polyphonic inputs/output of the DocB Faders/PhO solution. But that can be solved with VCV Merge and VCV Split.

BTW, the docB OscA1 additive oscillator also offers very usefull Comb filter options.

1 Like

Same here. That’s why I wanted a synthesizer that gave me control over harmonics. One of my first (hardware) synthesizers in the early 90s (yes, old) was the Kawai K5 (SOS Dec 87) . Basically the Kawai K5 is a rare additive synthesizer that gives you control over 126 Harmonics (or 2 x 63). It had 4 envelopes to control harmonic amplitudes.

And, the ‘filter’ was actually just implemented as attenuation of partials, following a flexible segmented lines filter curve. You could have the ‘bandwidth’ so narrow that it would sweep individual harmonics in the spectrum. Since it is harmonics amplitude attenuation based, there is no resonance involved, and theoretically any shape is possible, while being completely phase stable / linear.

Finally also offered an implementation for ‘a formant’ filter, effectively using the same attenuation of harmonics solution, but using a multi segment curve over the keyboard.

The Kawai K5 and additive synthesis in general not only taught me a lot about sound, but is also able to create all sorts of sounds that are hard to recreate using other synthesis techniques.

3 Likes

This one seems pretty similar, too. But it seems it’s based on a different type of waveshaper for pure sinewaves.

1 Like

Another Harmonic Oscillator not mentioned yet is the Harmo-Blender from Sm@rTAZZ Studio. I like this one. It uses knobs not faders but I’ve mapped faders onto it here. I’m using the LFOs to give a bit of movement, like a Leslie speaker.

Harmo-Blender Organ2.vcv (15.1 KB)

3 Likes

MI Stages also has a harmonic oscillator Easter egg.

1 Like

It does? How do you access this function? I can’t see anything in the manual.

Can’t be accessed in VCV as far as I know …

On the factory firmware its quite funky: Stages modules can be chained together with a provided cable on the back pannel. If you use the cable to chain the module iself, you access the easter egg mode!

On the highly recomended custom firwmare, you just hold right side button for 6 seconds.

There is little to none global harmonic control, but some interesting twists:

  • each channel has a low pass gate with natural decaywith gate inputs
  • only 5 harmonic at the same time BUT you can pick any harmonic for each stage
  • each harmonic can have its own waveform

These 4 points combined makes it a verry creative tool!

The custom firmware can turn it into an LFO, so each stage becomes a multiple of the main frequency.

Removed by me!

2 Likes

The mix output of dBiz Verbo does indeed always outputs the fundamental/root/fist harmonic at full level. But…each individual output does go from 0% to 100%. So…you would need to send the individual outputs to an external mixer. But…this basic functionality of mixing sines at controllable amplitudes is (better) offered by other modules (as discussed above).

But the main missing unique selling point is the Harmonic Scan and the Spectral Tilt functionality.

The LED lights under the level sliders do seem to visually reflect the Width and Center, but it seems the actual levels of the harmonics/partials are not affected at all. I assume that the Slope should be the implementation of the Tilt functionality.

It is most likely that the Width and Center and Tilt implementation is indeed similar to the Kawai K5 (SOS Dec 87) ‘filter’ implementations that I mentioned before.

It seems the Width is just a bandpass filter emulation implemented as an upside down V shape filter curve where the breakpoint stays on 100% that can go from a horizontal line (no filtering/attenuation), via diagonal lines (wide bandpass) to near vertical lines (ultranarrow bandwidth of a single harmonic). Just by attenuating individual harmonic amplitudes conform the filter curve/shape. The Center control just shifts the filter curve (relative amplitudes) left/right over the oscillator’s static/set harmonics/spectrum amplitudes.

Tilt is the same principle, but where the filtercurve is effectively just a straight single line segement (no breakpoint) that can be tilted. Either attenuating the amplitudes of left/lower or right/higher harmonics. At least one side of the curve is on 100% and the other side, left or right, can tilt down, theoretically until the line is near vertical and only 1 harmonic remains (first or last).

With multi segment curves (linear or other) all sorts of filter curves could be made. There’s also the option to not only allow attenuation(s), but amplification(s) as well, better mimicking resonance. Also some ‘normalization’ could be implemented to keep the overall output levels stable when changing the curves.

On AM or LFM/PM. All of these synthesis techniques are resulting in sum- and difference frequencies of all harmonics in the spectrum of both carrier and modulator (where in LFM/PM ‘negative’ frequencies are reflected back from 0 Hz into the spectrum with inverted phase).

To stay with the harmonic spectrum it is most common for PM to stick to ratios (whole multiples of frequencies) and sines (single harmonic/frequency). Since harmonic frequencies are whole number multiples of the root/fundamental, you can use an additive/harmonic oscillator as a representation of multiple simultaneous carrier or modulator oscilators (operators/sines) at various ratios and amplitudes. And modulate/manipulate those.

PM is (obviously) very sensitive to phase shifts. The great thing is that in additive the phase remains untouched. Only the amplitude of individual harmonics is affected. Or…if phase can be controlled as well, you have full control over phase separately.

FYI, generally ‘normal’ filters not only affect harmonics amplitudes, but also their (relative) phase, which is then out of your control. Which affect PM.