Oscillators

Post any examples or modules that you want to share here
tulamide
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: Oscillators

Post by tulamide »

Started to look more in depth of the posted oscillators. Why isn't there a phase shifting option for the sine osc? If this question doesn't make sense, I would love to hear an explanation of why it is so. :D
"There lies the dog buried" (German saying translated literally)
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: Oscillators

Post by martinvicanek »

Perfeclty valid question, tulamide. In my post there are both sine oscillators with and without a phase input. Phase is easy to add for the polynomial oscillators but more tricky for the recursive oscillators. In some applications you may not need phase modulation, then it would be an unnecessary extra CPU load. That's why I am offering both options.
tulamide
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: Oscillators

Post by tulamide »

I see. Together with your explanations in the second post it makes sense. If I use the Reinsch Oscillator for two signals at exactly 1 octave difference there would be wave cycles that cut each other out. In such a special case, would a short delay of one signal have a similar effect as phase shifting?
"There lies the dog buried" (German saying translated literally)
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: Oscillators

Post by martinvicanek »

tulamide wrote:If I use the Reinsch Oscillator for two signals at exactly 1 octave difference there would be wave cycles that cut each other out. In such a special case, would a short delay of one signal have a similar effect as phase shifting?

Not sure if I understand correctly? Two sine waves can only cancel (by destructive interference) if they have the same frequency, not if they are one octave apart. But yes, applying a delay will change the phase. However, using a delay would probably result in higher CPU load than if you take an oscillator with phase input to begin with. ;)
tulamide
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: Oscillators

Post by tulamide »

martinvicanek wrote:Two sine waves can only cancel (by destructive interference) if they have the same frequency, not if they are one octave apart. But yes, applying a delay will change the phase. However, using a delay would probably result in higher CPU load than if you take an oscillator with phase input to begin with. ;)
Aw, I am ashamed. If "destructive interference" is the term for the effect of two waves swinging opposite to each other cancel themselves out, then I did indeed mean that. I think I was misleaded by the same peaked amplitude, so I thought every 4th wave of the higher frequency would cancel out.

I'll better ask directly now: Is it safe to use the Reinsch oscillator as a sound source that will be constructed from several Reinsch oscillators, not just one? Given that each of them is detuned slightly. I am thinking of using them as source for a kick drum designer, so the low-frequency-stable and equal-amplitude properties seem to be killer arguments for using them (plus the low cpu usage!).
"There lies the dog buried" (German saying translated literally)
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: Oscillators

Post by martinvicanek »

tulamide wrote:Is it safe to use the Reinsch oscillator as a sound source that will be constructed from several Reinsch oscillators, not just one? Given that each of them is detuned slightly. I am thinking of using them as source for a kick drum designer, so the low-frequency-stable and equal-amplitude properties seem to be killer arguments for using them (plus the low cpu usage!).
I'd say try it out for yourself! :) That's the nice thing about FS: it facilitates fast prototyping. Throw in a bunch of oscillators and adjust the phases to your liking. Once you are happy with the result, you could even go about and hard code it for CPU efficiency (assuming that you do not need to modulate phases).
tulamide
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: Oscillators

Post by tulamide »

martinvicanek wrote:
tulamide wrote:Is it safe to use the Reinsch oscillator as a sound source that will be constructed from several Reinsch oscillators, not just one? Given that each of them is detuned slightly. I am thinking of using them as source for a kick drum designer, so the low-frequency-stable and equal-amplitude properties seem to be killer arguments for using them (plus the low cpu usage!).
I'd say try it out for yourself! :) That's the nice thing about FS: it facilitates fast prototyping. Throw in a bunch of oscillators and adjust the phases to your liking. Once you are happy with the result, you could even go about and hard code it for CPU efficiency (assuming that you do not need to modulate phases).

I already did one with the stock prims months ago. It was pretty advanced, with a lot of work put into it. But at the time cpu usage was at 10%, which is way too much just for a kick drum. Now, before doing a lot of work again, I hoped that you could confirm my question just from having programmed the code, so in case there's something severe that would hinder the use of them for that particular task, I could avoid them.
It seems, you don't see any severe arguments against it, so I'll do the work. Thank you!
"There lies the dog buried" (German saying translated literally)
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: Oscillators

Post by martinvicanek »

Hi gang, just updated my classical waveforms oscillators (refer to the original post). There was an issue with negative frequencies which occur e.g. when modulating frequency through zero. Thanks adamszabo for kindly reporting this bug!
Kirill_Neoris
Posts: 25
Joined: Fri Jan 08, 2016 5:06 pm

Re: Oscillators

Post by Kirill_Neoris »

Hello, Martin!

Your work here is _huge_ in my eyes! :) It's cool to see that people do create very useful components for systems like Flowstone and share it. Also it's because I'm a total newbie to ASM and actually to high maths too.
I'm interested to dig into this theme as far as I can.
But I can't understand many things:

1) Is it possible to create a multistage-oscillator using these principles?

Actually the reason I'm here is that I couldn't find any good replacement to Dr.Sync's Multistage Ramp Osc that is from Sync Modular.
Saw_AA_SyncModular.png
Saw_AA_SyncModular.png (5.85 KiB) Viewed 37729 times

This is how Saw (antialiased) looks in the Macro. RampOsc is the "prim" with a variable number of stages.
My goal is to create an Osc with several (3-4 probably) number of stages that will be modulate-able. So this will let to create so-called morph-effects with a very (I guess) little CPU cost.
I've made a synth in SyncModular with these aims achieved. But SM is pretty outdated and I can't to make working properly some of it's features (not even talking about poly-legato and sync with a DAW bpm).

2) Do Flowstone code modules consist of 64-bit ASM? (it can be a stupid question of course :D)
3) Do I need to understand high-math very well to make a multistage ramp osc?

If you'll show me proper links to learn about ASM (around sound and so) it's appreciated!
P.S. I can upload my synth if it's interesting to see. Sync Modular is now free to download.
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: Oscillators

Post by martinvicanek »

Welcome to the forum, Kirill!
You can implement pretty much any waveform in FS. Does the cyan curve in the icon in your picture represent what you are after? Then that would be a piecewise linear curve, presumabely with non-equidistant nodes and possibly with discontinuities, right? I would address alias suppression for such an oscillator using polyBLEPs for the discontinuities and for the kinks.
If you want to learn about FS and especially ASM then i'd recommend you to read the manual first, then go through KG's blog articles at Flowstone Guru.
Good luck!
Post Reply