Author Topic: Through-Zero FM?  (Read 989 times)

stelpa

  • Team member
  • *
  • Posts: 24
    • View Profile
Through-Zero FM?
« on: October 17, 2016, 05:03:14 AM »
Hello! Thankyou Xavier for the wonderful project.

I wanted to ask a question about the FM implementation PreenFM2 uses.

Is the algorithm "through zero" FM, or traditional? In case you don't know, through-zero FM continues modulation even after the modulator goes into negative side of it's wave (i.e. under the DC point / "0"), reversing the carrier's wave to simulate "negative frequency". It has a much fuller tone than traditional FM: Here is a video explaining it better: https://www.youtube.com/watch?v=N1Eo_P6iW-0

If it isn't implemented, would you consider adding it in the future? It would be a very unique selling point, since very few FM synths are capable of this (none that aren't modular, as far as I know!). Not sure how hard it is to implement though.

Thanks for taking the time to read, keep up the great work :)
« Last Edit: October 17, 2016, 05:49:56 AM by stelpa »

solipsvs

  • Team Member
  • **
  • Posts: 96
    • View Profile
Re: Through-Zero FM?
« Reply #1 on: October 19, 2016, 04:51:33 AM »
cheeky!  :P

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 1445
    • View Profile
Re: Through-Zero FM?
« Reply #2 on: October 19, 2016, 08:59:04 AM »
Fortunately all FM synth don't sound like their "Not through zero" examples.

I don't know how that would translate to digital world. I would have to see the maths behind that.

stelpa

  • Team member
  • *
  • Posts: 24
    • View Profile
Re: Through-Zero FM?
« Reply #3 on: October 19, 2016, 07:47:21 PM »
Fortunately all FM synth don't sound like their "Not through zero" examples.

I don't know how that would translate to digital world. I would have to see the maths behind that.

From what I understand, it just watches for whenever the modulator's signal goes under 0 (when the carrier should stop), and then sends the absolute value of the modulator to the carrier, but also tells the carrier to reverse it's waveform. Not sure on implementation. I'm not super math-saavy, but this paper maybe explains a bit more than I could: http://electronotes.netfirms.com/EN206.pdf

Some more implementation ideas are here I think: https://www.muffwiggler.com/forum/viewtopic.php?t=8027&highlight=zero

A super CPU heavy idea I thought of is adding a simple square wave oscillator for each operator which can send the "time to reverse" message at the proper time.

Sorry, I don't wanna seem greedy and I wish I had more information, but I was just curious what you would think of it! Might be worth experimenting, hehe. Thanks again :)
« Last Edit: October 19, 2016, 07:57:36 PM by stelpa »