Operator feedback in the scheduler event domain

This is mostly pure for visual and educational purposses and it's happening completely in the event domain no audio whatsoever , sadly this is not possible in reaktor because it requires a feedback loop.
The typical aliasing that occurs when an operator is fed back to itself , turning it into a saw and eventually collapsing into noise .
I tried an event delay in the feedback loop , but no luck
Reaktor versus pure data
Pure data can handle feedback loops thorugh iteration , even in the scheduler domain
Showcase 2 operator fm strucuture , modulator fed back into itself
Not really a big deal but it does put ahalt on how far we can take the pure procedural gui processes
Pure Data
Comments
-
Pure data , operator feedback in the scheduler domain
0 -
Please try to remember that just because you don't know how to do something in Reaktor doesn't mean it can't be done (often easily) in Reaktor.
Maybe instead of posting:
"Reaktor can't do this thing, but pure data, max (whatever) can"
Why not:
"I'm trying to do this thing in Reaktor, but I can't work it out, can someone tell me how"
0 -
A very quick example.
0 -
Not working over here
SOme guidelines would be appreciated , no uploads please since I'm still on 6.4.3
0 -
indeed…
Things to consider:
Phase modulation and frequency modulation are not the same.
Orange wires in core are a warning.
0 -
Why are you even implying that I don',t know the differnece between phase modulation and frequency modulation , i'm not frequency moduating anything , how do you even suspect that ?
It's calculating the cosine function of a linear ramp from the iterator , feeding this back into the cosine is operator feedback phase modulation
See the pure dat screenshot ..that is PUre phase modulation and operator feedback and the exact same principle , and also have a look at the numerous ensembles I've uploaded ..https://www.native-instruments.com/en/reaktor-community/reaktor-user-library/entry/show/15517/
https://www.native-instruments.com/en/reaktor-community/reaktor-user-library/entry/show/8291/
I appreciate your help and knowledge verry much but sometimes you're assumming I'm a complete noob .
And yes orange indicates a feedback loop , which is what I want in the first place , I could insert a z-1 and maybe that 's needed becasue of the gui only process .I tried to replicate the exact same steps in reaktor versus pure data , so if you have any tips , you're welcome .
Phase modulation in the audio domain , shown below with the dreaded Primary ;)0 -
re. phase modulation. I misread your code. You are just adding to the phase, aka phase modulation, so that's not the issue.
And yes orange indicates a feedback loop , which is what I want in the first place
The orange wires are a warning that there is an implicit feedback look. Meaning you haven't explicitly defined how the feedback loop functions, ie. where in the code the unit delay (or some other delay) should be. Or what clock should be driving the feedback. So Reaktor must guess. Hence the warning. If Reaktor guesses wrong, then the code won't work.
I'm really not sure how this would work in the context of a GUI only core cell. Normally an implicit feedback loop would be driven by SR.C (I think), but there is no sample rate clock in a GUI only core cell.
Always explicitly define feedback loops using one of the z^-1/latch[-1] constructs in the library, or just using and OBC chain.
0 -
Confirmed. Reaktor will default to using the SR.C clock to drive the unit delay in an implicit feedback loop.
0 -
So how did you do it then ?
Once again , now in it's most basic form, olnly ONE operatorPure data : iterator ( 512 ) / 512
Then an expression module 2pi*iterator output
Calculate cos.functionFeed cosine back to itself ( and thus modulate the phase of the integrator-ramp wave )
Exact same procedure in reaktor , everything except iterator is done in a core gui cell0 -
I used the iterator driving the waveform display as the clock. Best approach is to use an 'XR pack' to override the SR clock bundle, then you can use regular library components to build the rest… So Library FM Op, with a regular z^-1 feedback module etc.
(in this case the implicit feedback also works, because the SR clock is now an iterator driven by the display clock, so its still just GUI events!)
I set the sample rate to the width of the waveform display (300 in this case, although it could be generalised to auto-fit if the multi picture size is altered). That way, setting frequency of the operator to 1, 2 or 3 gives exactly 1, 2 or 3 cycles of the wave on the display.
You can use this approach to calculate and display various things. e.g. a factory saw wave through a wavefolder… it will all be calculated using the iterator on the GUI events… by magic ;)
Here is a pulse wave through a filter, calculated on the GUI events that drive the multi display, but using unedited factory audio processing modules. Just override the SR clock bundle…
Here, the iter is pumping out 300 iterations on each diplay clock… one per object… one object per pixel…
0 -
Is the iterator outside the core cell ?
I can't even get the bundle distribution to light upIt seem slike a overly complicated task for what is n esence something verry simple
Why are the objects even iterated , set to ( -6 line ) only once should do the job , no ?0 -
That code is also rendering the waveform
0 -
Well that was the point of this thread .
Rendering only requires index and two coordinates x1 , y1 ( when set to line )
Either way , It's not a straight forward process and I am still not getting any wiser - getting this done in core
0 -
It's pretty simple really. As I explained, you can't just use implicit feedback, you need to make it explicit, and need to drive the unit delay with a clock that is not the audio clock, because GUI cells don't have access to the audio clock… OR you need to override the SR bundle so that the clock is one that the GUI core cell can use…
Here are the key points:
'no' is the number of objects in the multi display.
(SR only lights green when something in the same scope is using it)
That overrides SR so that instead of using the audio clock, it now uses the iteration events as it's clock.
Now regular library stuff will 'just work' in a G cell, and even implicit feedback will usually work in simple cases
0 -
That part I already figured out , will have a look tommorow
0
Categories
- All Categories
- 18 Welcome
- 1.7K Hangout
- 67 NI News
- 895 Tech Talks
- 4.6K Native Access
- 17.8K Komplete
- 2.2K Komplete General
- 4.8K Komplete Kontrol
- 6.3K Kontakt
- 1.1K Reaktor
- 407 Battery 4
- 923 Guitar Rig & FX
- 467 Massive X & Synths
- 1.5K Other Software & Hardware
- 6.4K Maschine
- 8.2K Traktor
- 8.2K Traktor Software & Hardware
- Check out everything you can do
- Create an account
- See member benefits
- Answer questions
- Ask the community
- See product news
- Connect with creators