Instruo: Modules released

Well, I’m not a total expert, but what you say sounds “rightish”, and it’s been so long since I made an analog VCO that I totally forgot that they very well might not go “through zero”. The whole linear through zero thing was a holy grail of analog “back in the day”. In digital it all just tends to go through zero, so I hadn’t thought much about it. But, yeah, non-trough zero would probably go out of tune - good point.

(btw, my Voyetra-8 synth was one of the few from back then with analog linear fm, but the depth was limited so that not only did it not go through zero, it didn’t even get very close to zero. So it was in tune but not super dramatic)

I think you may be wrong about the relationship between the carrier and modulator frequency, but maybe it’s a good analogy - I don’t know. Oh, now it can’t be right, because as you increase the modulation depth you get spectral lines above and below the carrier freq. I think the you get frequencies at carrier, carrier + mod, carrier - mod, carrier + 2 * mode, carrier - 2 * mod, etc… all with complex amplitudes that make FM kind of unpredictable, but a cheap way to get a complex dynamic timbre.

As usual I would recommend looking at the output on a spectrum analyzer, although perhaps my brain is just wired that way…

No, it takes +/- 1 V to reach the carrier base frequency (actually ~1.072)

OK, this was all driving me nuts. Regardless what the end sound is, I would like to know what each of the oscillators is doing from a frequency standpoint when applying true FM. And there is not much consistency with the 3 oscillators I looked at in V2 - Neoni, VCV VCO, and Bogaudio VCO.

To investigate, I opted to apply constant voltages into FM input, with attenuation set at 100%

VCV Fundamental VCO, Exponential FM mode:

  • 0V no impact - the frequency remains the same
  • 1V frequency is x2 - 1 octave up
  • 2V frequency is x4 - 2 octaves up
  • -1V frequency is /2 - 1 octave down
  • -2V frequency is /4 - 2 octaves down

Perfect - exactly as I expect. The FM input at 100% attenuation is basically an alternate V/Oct input. To prove it, I also applied an audio rate signal attenuated to say 10%. The sound when patched into the V/Oct input is identical to the sound when patched into the FM input at 100%.

VCV Fundamental VCO, Linear FM mode:

  • 0V - no impact, the frequency remains the same.
  • 1V - frequency increased by ~261.63 Hz.
  • 2V - frequency increased by ~523.26 Hz
  • -1V - frequency is reduced by ~261.63 Hz
  • –2V - frequency is reduced by ~523.26 Hz

So each volt represents 261.63 Hz = C4 If the base frequency is C4, then 1V is up 1 octave, 3V is up 2 octaves. -.5V is down 1 octave, -.75V is down 2 octaves. etc. Importantly, -1V and lower stalls the oscillator at 0 Hz

The Hz per volt remains constant regardless the base frequency. So if the base is C5, then 2V is up 1 octave. 6V is up 2 octaves, -1V is down 1 octave, -1.5V is down 2 octaves, and -2 stalls the oscillator at 0 Hz.

Again, exactly what I expect. It is what I expected before I experimented, except I didn’t know how many Hz 1 volt represented. Now I know.

Bogaudio VCO, Exponential FM mode

Exactly the same as VCV VCO. 0V no change, 1V up 1 octave, 2V up 2 octaves, -1 down 1 octave, etc.

But there is one very important difference. The sound when patching audio rate signal attenuated to 10% into FM at 100% is radically different then what I get when patching into the V/Oct. The FM input is much cleaner, the V/Oct very harsh.

If I use LFO modulation, then the sounds are basically the same, though the spectrogram of the V/Oct is still dirtier.

What on earth is going on here? The only guess I can come up with is the voltage at the FM input is maybe sampled at a higher rate than the voltage at the V/Oct input. So maybe the V/Oct input is introducing some type of aliasing? I tried looking at the code, but I’ve never done any such coding, so I don’t know what I am looking for. I did find the code that uses phase modulation for linear FM though.

Bogaudio VCO, Linear FM

Well, Bogaudio uses phase modulation, so there is nothing to compare. Applying any constant voltage to the FM input has no impact - perfectly understandable. The FM input only has effect when the voltage is varying.

Instruo Neoni

This beast is entirely different! First off, the FM must be in DC coupled mode for a constant voltage to have any effect. That makes sense. But what effect does it have?

Instruo Neoni, Exponential FM

Neoni does not have an exponential FM input. The only way to get exponential FM is to use the V/Oct input.

Instruo Neoni, Linear FM (Traditional) base frequency at C4

First oddity, setting FM attenuation to 1 (100%?) without any input increases a C4 by ~11.3 Hz.

But after actually patching input it gets even weirder - there is nothing traditional that I can see. The formula for frequency is approximated by:

frequency = |Base / 2.1 * (Volts + 2.1)|.

The bars represent absolute value. So the oscillator stalls at -2.1, but not negative values less than that.

The other piece of the puzzle is the waveform is inverted about 0 when the voltage is <= -0.2V. So a saw wave becomes a ramp when negative voltages are involved. (except for the narrow negative range > -0.2)

The number of Hz per volt is not a constant - it depends on the base voltage. So with that formula, regardless of base voltage, -2.1 constant voltage stalls the oscillator. 0V = the base frequency, and -4.2V = base frequency inverted. 4.2 and -6.3 are both one octave up.

Neoni clips incoming FM voltage at +/- 10V, so 8.3V is two octaves up, but you can not get to two octaves up with a negative value.

I don’t see how this can be called traditional, at least from the stand point of how the end result is generated. Maybe the sound is similar to simple linear FM, but I guess you can call this “through -2.1 linear FM”!

Instruo Neoni, Linear FM (Through zero)

This is very similar to the “traditional” setting, except the stall point is at 0V where one would expect, and the divisor is 1.07 instead of 2.1. The point at which the waveform is inverted remains at -0.2V

So the formula becomes

frequency = |Base * Volts / 1.07|

This formula is symmetric around 0V, so it makes sense the end result is more harmonious.


I took a quick look at this Instruo FM VCO. I really don’t know what it’s doing. If it sounds good - great. It seems to be FM, but then something odd is going on with the output waveform. Possibly intentional, who is to know?

Look at this simple patch. You can see the Bogaudio it putting out "normal’ FM/PM waveforms. The scope looks like I would expect. You can see on the analyzer there are a lot of energy in the harmonics, but then they fall off above 1k.

The other VCO, on the other hand, has a very unusual waveform on the output. You can see it has shap bends in it, and even some small kinks. An on the analyzer there are clearly harmonics going very high in pitch, but at -48 db. About what you might expect from those kinks:

I would encourage anyone who is interested to make a patch like this and compare / contrast the two.

1 Like

Then, if you take the pitch all the way up to 1.5k (very high) then the Instruo starts aliasing a lot, as those high harmonics are now getting folded back. By comparison the Bogaudio is still putting out about the same spectrum as before.

Apart from aliasing, it’s also weird that sine output has harmonics closer to a triangle. At first thought it may be closer to the hardware but this video proofs it’s not the case

1 Like

I’m going to go out on a limb. without even watching their video. So I am probably wrong.

1 - I think the main thing I’m seeing it that Instruo had a different definition of what “though zero fm” means. It looks like when they cross through zero freq they flip with waveform like a wave folder. That probably sounds great, but it isn’t FM as chowning, yamama, bogaudio, and math would define it. Presumably the analog module does this, and that’s part of what give it its sound.

2 - The funny “blip” on the un-folded peaks is probably a bug in the digital port?

3 - The aliasing at high frequencies is what you would expect with a wavefolder or non-fm VCO that didn’t have any alias mitigation. Assuredly not in the analog module.

I maybe wrong, but the dannysound EN129 TZFM-Oscialltor seems to be very close to the Neoni. And that TZFM-concept dates back to 1981, where it was described in the electronotes No. 129 (hence the name) -

I don’t understand most of the stuff they write there, but the reversal of the Oscillator at 0V and the waveform diagrams looks very similar to what I see on the Neoni. I really recommend watching the video from instruo, starting around 56 mins. in he talks about TZFM.


As far as I know this is how FM actually works in the analog domain. Wasn’t the DX7 PM anyway? It seems as though thru-zero in the traditional analog modular world was a pretty rare thing for a long time. I think there’s something to this flipping thing you mention. I have a Plague of demons from NLC that does this, I believe it is also the way that the old Cyndustries zeroscillator works.


No, anti-aliased modulators work just fine. The anti-aliasing Gibbs effect peaks get incorporated into the resultant waveform, and I imagine color the output, but it remains harmonious.

Well, if you took the time to watch the video, you would know it is intentional. He is very clear that this is a different type of FM.

Again, I think the term “FM” is a real problem. It can mean a particular sound, as what you are expecting, and for most I think that is phase modulation. Or it can mean a technique, which is truly modulating the frequency of the carrier. And even with true frequency modulation there are many variables that can dramatically affect the sound - constant Hz/volt? what value? or scale the ratio by the carrier frequency? Simple non-through-zero? or do some type of reflection/wave inversion to implement through-zero.

Comparing the two can be instructive, but expecting them to be similar doesn’t make much sense. They employ entirely different techniques, and are supposed to be different. In fact, I think it is the very difference that makes it worth taking a look at, and why people may be interested in using the new Neoni oscillator in the first place, whether it be hardware or software.


you are patching wrong TZOPs
when they are “connected”
internally they share all the information about pitch
and only the CARRIER will be responsible for CV in, OCT, FREQ, and FINE freq

only the RATIO knob is separated (to create the correct ratios like on the DX7)

use the DETACH button only if you want inharmonicities that you want not to be related to the tracking picth (wood and metal percussion side frequencies, for example)

1 Like

True, and I didn’t mean to imply there’s anything wrong with this technique. For me (and most people?) “through zero fm” usually means what you are calling “true fm”, and it’s almost always linear (which you call constant Hz/volt).

I think the only disagreement here is whether they “should” call this “through zero FM”. For me it’s confusing, If you like it, that’s fine.

I see! I should have checked before to see whether the two situations below were the same as I incorrectly assumed. They are indeed different:

What do you think about adding a context menu option offering “Full Detachment” so that the modules don’t have to be physically separated (as on the left in this screenshot), or the Detach button could be a tri-state switch with the new 3rd state offering full detachment?

1 Like

I think the operation of Joranalogue’s Generate 3 (G3) eurorack module helped me to understand the two different modes of FM (assuming my understanding is correct). Like the Neoni, the module has what Joran calls a “bias switch” to toggle between what the G3 manual calls “normal linear FM” (what most people are familiar with) and “through-zero FM” (the new thing in Neoni, even though it’s not new because, as Jason mentions in his video, these are ideas published decades ago).

G3 has a bipolar attenuator controlling the depth of FM (knob 3 in the manual). But with no modulator input, the knob is normaled to an internal offset voltage. In this mode of operation, by sweeping the knob from its zero point in the middle (0V offset) to its left- or rightmost points (+/-5V offset), we move the oscillator’s frequency from 0 (stalling the oscillator core) to the fundamental frequency. The crucial point here, it seems, is that the fundamental frequency is attained at 5V.

So what happens when we input a modulator? When the bias switch is down, G3 adds an offset of +5V to the modulator, which corresponds to normal linear FM. As I understand it, oscillators typically go +/-5V, so the offset applied by the bias switch means that when the modulator signal is at its center point (which would traditionally be 0V if it weren’t for the +5V offset), the pitch of G3 is at its fundamental frequency. In other words, under normal linear FM, the modulator moves the frequency above up and down, but the center point is the carrier’s fundamental. (The funny thing with this through-zero terminology is that in normal linear FM mode, if the modulator has lower amplitude than -5V, then we would end up modulating through zero, but nonetheless, this is not what Joranalogue and Instruo are calling “through zero” for these modules.)

“Through-zero FM” on the G3 instead corresponds to having the bias switch up, so that no offset is applied to the modulator. But this means that when the modulator is at its center (zero) point, the carrier (G3), is not at its fundamental frequency. Instead, the fundamental is now attained when the modulator reaches its extremes of +/-5V.

The practical implication of all of this, as others have noted above, and as Jason’s Neoni video makes clear, is that TZFM flips the role of the carrier and modulator relative to normal linear FM. By the way, from the discussion above, this doesn’t have anything to do with analog or digital. It’s only about whether the fundamental frequency is attained when the modulator is at its zero point or at its extremes.

The funny thing is I don’t even think Joran knew if TZFM had any melodic application. I recall this modwiggler post from back in May, where Joran says that TZFM mode “is more suited for percussive and noisy sounds.” That’s true if you try to use it like normal linear FM without understand the carrier-modulator role reversal. Amazingly, the post Joran was responding to actually wrote, “It’s almost as if the modulator signal becomes the carrier and the G3 becomes the modulator - does that make sense?” And it turns out they were exactly right, thanks to Jason’s video that finally explained the right musical application of TZFM.


I have to retract this statement; on further inspection, even when in True FM mode, Terrorform’s pitch is more stable and more closely related to my expected result than Neóni.

I created a separate topic for discussion of that test patch of mine, and I uploaded the patch there too. (This version uses Algomorph Pocket. Algoseq isn’t yet ready for public release.)

I did a big test patch with around 15 Neonis and musical context with all different kind of sounds generated all from neonis without any filters, but it crashes on startup :neutral_face:

I have no problem at all with the pitch tracking of neoni, but I think there is a bug. When you set it to TZFM-Mode and use a sine VCO as pitch-carrier (so in front of the neoni) I have to set it to DC-Mode. In AC-Mode I get a short duration at the start of a note, where the pitch swings in - it is stable after that, but that should not occur right?

This is the key to understand neoni. In addition to this, the input signal has not to reach +/- 5V exactly. There is some math going on to detect the maximums of the incoming waveform and to set that as the base frequency. Maybe just a derivation where switching from positiv to negativ slope is positive maximum and the other way around.

Oh, and welcome to the forum!

1 Like

Sorry, I think I need to clarify this quote. I’m not saying that Neóni is incapable of holding a steady pitch, nor am I saying that it is incapable of pitch tracking.

I’m only referring to the resulting sound when adding Neóni to that patch of mine, which by the way does not involve any changing pitch at the V/Oct input. Only the algorithms change, and the oscillators themselves are set to fixed frequencies. Therefore the only way for pitch change to be induced is at an oscillator’s LFM or PM input.

I only mean to say that, as far as I can tell, Neóni is not suited to the way that I typically use TZ/LFM/PM oscillators. In this sense it’s very different from any other oscillator like it in VCV, and that makes it interesting in its own right.

If anyone manages to get Neóni to “fit in” alongside the other oscillators in that patch, please let me know.

Edit to add: more information found over here:

I don’t think there is a way to make it work, just because of the fact that all other VCOs are returning to it’s base frequency when there is no modulation and can accept more than one oscillator frequency on the FM-input (what makes some of those 3 into 1 algos fun). Neoni needs a single frequency to assign a base frequency, so in all those blended states where more than one “operator” is blended into the FM-input of a neoni, there is no way for the neoni to interpret what the base frequency should be.

Maybe algorythms with pure serial chaining may work…

1 Like

For the Neoni in through zero mode, the base frequency is always achieved at +/- 1.08 V at the FM input (assuming 100% FM attenuation) I’ve got a patch and video that thoroughly investigates the behavior at Investigating Neoni FM - Traditional mode is Through Zero!

Another fascinating look into Instruo, for those who like to peak behind the curtain, and find out how Jason works and thinks, and how a company of that size actually started and operates now. Oh, and… 3 more oscillators coming :heart_eyes::nerd_face: and more cool digital modules, sounds like the future is interesting :slight_smile: