Page 4 of 7

Re: Oscillators

PostPosted: Wed Dec 24, 2014 12:23 am
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

Re: Oscillators

PostPosted: Wed Dec 24, 2014 7:22 am
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.

Re: Oscillators

PostPosted: Wed Dec 24, 2014 2:10 pm
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?

Re: Oscillators

PostPosted: Wed Dec 24, 2014 6:07 pm
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. ;)

Re: Oscillators

PostPosted: Wed Dec 24, 2014 8:13 pm
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!).

Re: Oscillators

PostPosted: Thu Dec 25, 2014 10:33 am
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).

Re: Oscillators

PostPosted: Thu Dec 25, 2014 9:03 pm
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!

Re: Oscillators

PostPosted: Sun Feb 22, 2015 8:03 pm
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!

Re: Oscillators

PostPosted: Fri Jan 08, 2016 5:39 pm
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 33181 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.

Re: Oscillators

PostPosted: Sat Jan 09, 2016 9:07 am
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!