Through Zero FM - TZFM

Continuing the discussion from In anticipation of my ER-301 arriving, I wonder if:

This is absolutely killer!!!

I’ve been having loads of fun with it :cat:

Following on from Brian’'s suggestion of triggering two nested sample players with the same trigger for TZFM, I tried introducing phase distortion (I think!) by adding a delay to the modulator sampler, this slight modification seems to work just fine and yields very nice results indeed!!

A fixed delay after the nested sample player is giving me some very nice timbres indeed,at the moment it sounds very organic, a little like an oboe perhaps!

Setup is just one one channel:

Sin OSC 1 > Ladder Filter > VCA/Envelope > OUT
Sin OSC 2 > Fixed Delay > Sin OSC 1 Speed

I left the v/oct and speed settings the same for both sample players and just used the phase modulation at first, but offsetting one produces good results too. Experiment from there… there’s tons to explore…

It’s also possible to modulate the v/oct with yet another sine wave with tiny amounts of modulation for some vibrato effects too!

This thing is crazy!!!


Here’s some audio, I’m tripping out on this:

…little bit of reverb courtesy of Erica Pico DSP :relieved:


Definitely going to give your patch ago - the soundcloud clip was really nice. Now these Custom units are available I can see myself making loads of interesting synth voices to have as a sonic palette to choose from when coming up with musical ideas.

Cheers :smiley:

I ended up with quite a few tweaks (lots of attenuation) to get it sounding like that, but essentially it’s the same structure as described above.

I can post the chain if you like, but it’s definitely not a ‘release’ patch!

The way I’m seeing/hearing this respond to this kind of setup I am beginning to think that this will actually make for a decent FM synth! You’re absolutely spot on, once these patches are made it’s trivial to load them up and use them.

Yeah, I’d much appreciate it if you could share your chain - I’ve been playing with FM tonight but using the sine oscillator unit and then placing two mixers into the pitch control. The first mixer is set at 0dB and passes the pitch CV and the second mixer has another sine oscillator unit passing through a fixed delay (much like what you described) and then the amount you sum depends on the mixer level. I then stuck on the end of the top chain Brian’s ‘Animator’ custom unit. Sounding interesting, need to figure out musically how to use it :slight_smile:

1 Like

OK, you need the AKWF or at least the one included with this zip file and place it in a folder like this:


Then place the TZFM.lua in:


All should work fine - send it some nicely spaced out triggers, some fairly low voltages and a juicy envelope, I used the Double Andore mk][. (3.6 KB)



Thanks for this!!

I’ve had a quick play, liking the patch - hopefully have a better play over the weekend. Cheers, Phil

1 Like


1 Like

Many thanks… it does take a little while to dial everything in right, but really… hats off to Brian for making this possible, I’m totally blown away!

FM is my favourite form of synthesis, so I’m super keen to explore this as much as possible. The reality here seems to be that any configuration (algorithm) is possible.

Any one else been playing with FM in this way? Please feel free to post anything here in this thread.

I need to read up, get some guidance on how to create the patches and do some more experiments, but… could this be FM8 in a module? :scream_cat:

I’m certainly going to try!

This sounds gorgeous!

I can’t wait to get my ER-301 later this month.

1 Like

:smiley: it’s a constant source of joy!!

I’ve been working my way through the things needed to create a fully fledged FM synth and it’s very promising, re. FM8 60+ polyphony, erm probably not, but most other things are there!! Here’s a bit of a brain dump:

The basic elements for an Operator are: Sample Player with the Perfect Sin loaded from AKWF is a more flexible choice than the Sin Osc because you have two ways to alter the frequency. A VCA with an ADSR after each Sample Player lets you adjust the envelope for each Operator just like FM8.

That’s it… all it is from there is deciding on an algorithm and using the right set of mixers and nested configurations to achieve it.

It’s even possible to do feedback patches where the Operator is modulating itself; dedicate an entire track (lets say Track 4) to one Operator, internally patch the Output back to the Speed parameter and stick a Fixed Delay in the path just after the returning signal and you’re good to go! To use this Operator in a more complex algorithm on another track, simply add a mixer wherever in the chain you would like to introduce the signal to pick up the output of Track 4.

If you turn the feedback on the delay up it produces some wicked ‘beating’ effects - tons to explore here!

I’ve been using a Ladder Filter to remove any inevitable aliasing - it’s not always needed but it definitely helps at times!

Gain staging at every step of the way is critical, it’s quite easy to make it clip but the rewards are there with a little patience!

There are definitely issues to be resolved re. tracking, I’m less interested in this side of things, although it would be nice to work it all out in relation to the ER-101 but that feels like work and well, I’m still just having fun!


oh I like the sound of the feedback
I’d love to hear if the ER301 can do no input mixing type feeback

Just been trying out this patch! This thing is an FM monster. Also replaced my modulating sine with my IFM fourses for fun, absolutely bonkers FM :smile:

1 Like

Here’s the first in what I hope will be a series of Operator Units; it’s a building block in a custom unit. It’s loosely based on the standard Operator in FM8. There’s quite a bit missing, however, the main features are included and I think it’s a very versatile and usable unit.

It’s called Smooth Operator - which will give you clues about my age if it doesn’t just make you laugh! :smiley:

The carrier is a sample player with AKWF Perfect Sine Wave loaded, you could replace this with anything really, although your milage may vary and well, the point is that it’s possible to generate lots of complex sounds from just the Sine.

After the Carrier there is an Inverting VCA and an Envelope VCA with an ADSR next level down. I’m not sure if the Inverting VCA is needed but for explicitly inverting the Waveform this is super clear and I like how it sounds. You might like to have your Carrier set to positive and your modulator (another nested Smooth Operator) set to negative!

The ADSR is set to a short envelope, after v/oct and speed settings this is good area to focus on - think about how each operator can have it’s own envelope so you get the modulations happening over time and not just constantly interacting. You could also try inverting the v/oct input on the Carrier Envelope Release set at your maximum desired length, so that higher pitched sounds have a shorter envelope.

V/oct on the main Unit maps to the Carrier Pitch v/oct, but also has an optional LFO (muted by default) which is a standard Sine Osc.

Sync the Carrier (and/or the LFO) by mapping the Trig parameter to the main gate input, or not - for free running modulations.

Speed is intentionally left empty. This is to keep the Smooth Operator as a discrete unit, you can add another Smooth Operator inside the current one here!

I’ve tried to keep it as generic as possible so that it could be used repeatedly and as a learning aid but I would strongly encourage making your own custom units.

Any suggestions welcome, if I find ways to improve it I will update it :slight_smile:

There’s a LOT of places where adjustments can be made, sometimes to quite extreme settings if you start turning everything in a particular direction!!

It can get a bit tiger, so watch those speakers!

Enjoy :cat: (5.7 KB)


I’ve been playing around with this a bit more and the more I use it the more I find that it’s easier just to create what I actually want on the fly more often than using this ‘preset’.

It’s a great starting point for sure, but I’m finding I’m removing the LFO on the v/oct in quite a bit for example.

Would folks prefer it if I posted more custom units or just explanations of what I’m doing.

For example, I’ve been messing about trying to recreate the X & Z operators from FM8 with some success: for X add another VCA where you want to introduce noise, then insert a White Noise generator and a Ladder Filter under the VCA and adjust to taste. The resonance on the Ladder Filter does great things to the White Noise that complements the FM generation very well. You could add an envelope if you just wanted noise on only part of your signal etc… Is this really worth posting as a custom unit?


I’m loving the explanations – and as always, audio is much appreciated! Thanks for doing this.

New custom unit please :smiley:

I didn’t do the X Operator, but I did make a fairly run of the mill but pretty nice Bass patch:

Copy the contents to the following locations:


ER-301/sc/presets/units/mixer-channel/Feedback Operator.lua


Load Bass.lua on one channel (1) and Feedback Operator on another (2).

On (1) map the Operator A input to be the output of (2)

You might have to reload the Sample.

Play lower notes, it doesn’t sound right much above the second or third registers.

Loads to play with for a fairly wide range of bass sounds with some nice timbres.

Enjoy :slight_smile: (7.5 KB)


Awesome! look forward to checking this out later

Nice :slight_smile:

As I say,nothing special - but I enjoyed myself working it all out.

I’m keen for more resolution on the fine tuning as discussed previously. I’m also finding that the range on the v/oct isn’t quite enough sometimes, but that might just be me.

The number of places where it’s possible to make fine adjustments is a little overwhelming and I was jumping about all over the place doing this - especially with both the tuning and the mix levels for each operator. Which makes me think it might be more worthwhile coming up with some algorithms and exposing the key modifiers to external control to make these adjustments easier to do.

I might try some nice pad sounds next and when I need an X operator I’ll do that properly and post as a custom unit.