Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Newbie question. Mixing Poly and Mono in schematics?

For general discussion related FlowStone

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby R&R » Wed Nov 23, 2022 6:44 pm

I'm surprise with the difference between the MV and prim dezipper.
I was thinking they was almost the same. And prim dezipper are reputed to take no cpu.
But seeing the code with the analyzer they are really different.


The difference in CPU is probably seen as negligible to most here... It might take a complete idiot like me :lol: to
actually use several hundreds simultaneously connected modulation connections and de-zippers in a plugin. For good or bad :D

Did you use a lot of envelope ? Might be strange because they are hopped, but they take lot of cpu.
I think that optimized form exist but i didn't try them so much.
Or a lot of lfo that add together ? Maybe you could use hopped lfo, add them, then lowpass the result.
(I'm not even sure that the lowpass is necessary but like smoothing thing.)

Or maybe the best think to do is to isolate a maximum of part of your schematic.
Cut the volume with an amp and try to only take small part of the schematic to test the cpu cost.
Generally when i do that i could isolate one part of the schematic that do almost 2/3 of the cpu cost.


Yes I have 5 envelopes... so those maybe subject to changing if there are more efficient ones...

Other than the envelopes, I have some ideas on actually creating an array of selectors, and use some logic or ruby to disconnect
whole modulation sources. This would mean a click when the user first touches a part of a modulation source, and "then it's on" for the rest of the session and is on, if a recalled preset is using it...

But that would mean I have to know that there isn't any cross modulation going in between modulation envelopes and LFO for example. It's a bit tricky...

I don't think I gain alot, because the vast difference in performance between a "preset using alot of modulation" and "preset that doesn't" would only cause a bad user experience... This is why I have opted to a "click free always connected" schematic. The cost is of course being the performance...

But if you play more notes it begin to also reset like the stage 0.


:?:
The spmod version seems to work correctly from what I can see... atleast in the test-schematic posted.

Naturally individual streams become zero when stream ends and this happens I think with a delay after the envelope is finished doesn't it?
If you connect the amp-module directly to the oscillator it's easier to test the spmod-vesion...

Poly is so confusing to work with, despite only being one dimension more :lol:

Edit: :lol: I thought it would work, but nope. Have now tried it in actual plugin... the stage0 seem to cause the same issue. Too bad since I really liked the idea with the stage0. Oh well... can't win 'em all :)
R&R
 
Posts: 432
Joined: Fri Jul 15, 2022 2:28 pm

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby R&R » Fri Nov 25, 2022 10:14 pm

Other than the envelopes, I have some ideas on actually creating an array of selectors, and use some logic or ruby to disconnect
whole modulation sources. This would mean a click when the user first touches a part of a modulation source, and "then it's on" for the rest of the session and is on, if a recalled preset is using it...

But that would mean I have to know that there isn't any cross modulation going in between modulation envelopes and LFO for example. It's a bit tricky...

I don't think I gain alot, because the vast difference in performance between a "preset using alot of modulation" and "preset that doesn't" would only cause a bad user experience... This is why I have opted to a "click free always connected" schematic. The cost is of course being the performance...


Hmm...

I've reconsidered my own stance and I think I'll go this route anyway. Atleast for some of the modulation knobs. Just a few hundreds :D Can't be avoided. The performance improvement when disconnecting schematics, avoiding large amounts of additions is absolute massive...

Did a test and the plugin will probably be able to hit 64+ voices no problem at all...

Will have to place a reset button and some kind of "in use" indicators. Lucky I made a large about screen :lol:


Edit:
I'm not entirely finished but have now modified the plugin with ALOT of selectors, and some green logic to handle
cross activation for LFO knobs.
Can reach 84+ voices with the same preset that could only do 24 voices before (40 after optimizations/schematic reduction). This amount will of course drop the more knobs(modulations) are used.

Only two problems are that the plugin bugs out sometimes, and preset/schematic fails to load properly when changing preset... and also the "amazing" amount of time it takes to change presets :lol: :lol: :lol: and I already have inserted a mute and post clear audio delay that takes 250ms on preset change... :D

Each preset contains 1800+ parameters. Will pass 2000 by large margin when finished... What do I win? ...a one way trip to the insane asylum? :D
R&R
 
Posts: 432
Joined: Fri Jul 15, 2022 2:28 pm

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby R&R » Mon Dec 12, 2022 11:54 pm

Wanted to throw in a simple module for my plug using some hardsynced osc's... I usually try and use as much toolbox stuff and prims and possible since my knowledge of dsp/asm is limited. Despite that, the plugin is now crammed with alot of MV's stuff :lol:
But in this case I already know beforehand that i'm screwed when it comes to sync and hardsynced toolbox osc's.

Did a search on the forum (for once) and found a syncable saw that MV made (who else :D )... for or atleast used... in some projects made by K Brown. Perhaps i'm allowed to use that osc also?
Anyways... tried it... very little aliasing it seems and only at higher sync rates.

But as expected, syncing the needed toolbox sines... creates terrible aliasing... a bit much, even for my ears.

Anyone know if someone has made a syncable sine by any chance? That has just a tad less aliasing than the toolbox sine when hardsynced? The bar is pretty low since my plugin is one big aliasing-and-click-fest already :lol:
R&R
 
Posts: 432
Joined: Fri Jul 15, 2022 2:28 pm

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby Spogg » Tue Dec 13, 2022 7:54 am

I’ve attached an fsm which includes a syncable sine osc Martin made for me for a project ages ago. Also his LFO contains several syncable oscillators. I don’t know if the LFO ones will be good at audio rates.
Attachments
Sync oscillators by MV .fsm
FS 3.06
(111.08 KiB) Downloaded 187 times
User avatar
Spogg
 
Posts: 3318
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby R&R » Tue Dec 13, 2022 10:50 am

Thank you Spogg! I'll give this sine a try...

And thanks to MV of course!
All these perfect lego pieces for lesser minds like me to be able to put together noisy things with... good fun!
R&R
 
Posts: 432
Joined: Fri Jul 15, 2022 2:28 pm

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby Spogg » Wed Dec 14, 2022 7:46 am

R&R wrote:... And thanks to MV of course!
All these perfect lego pieces for lesser minds like me to be able to put together noisy things with... good fun!

Martin is a total treasure and I make so much use of his work.
User avatar
Spogg
 
Posts: 3318
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby R&R » Wed Dec 14, 2022 11:59 am

Martin is a total treasure


Definately!

In this case I think I'll have to compromise though and drop off my sines at 2-3k, theres less point adding these to my saw in my current particular usage case.

The sync saw MV created which seems custom made for hardsync purpose (branching for less DC or aliasing?), if upsampled 4x is pretty much alias free 8-)
Hardsyncing his sine, probably created for LFOs only seems to create the same aliasing as toolbox... I think. But i'm not sure if some of it is natural harmonics mashed together with aliasing due to cutting of the sine.

But I might be able to replace my sine and saw osc in my LFO with these to save CPU. Buuut I don't like working on the LFOs much because i'm reminded of the fact that I haven't looked into any kind of BPM sync yet. A nightmare for me and my pea-brain :D Doesn't seem to be an easy thing to get working... even for non pea-brains... :?
R&R
 
Posts: 432
Joined: Fri Jul 15, 2022 2:28 pm

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby R&R » Wed Dec 21, 2022 3:51 pm

I've been experimenting with MVs and MyCo's oversampling... trying and using them with filters, some synced oscillators and the toolbox overdrive etc. With different results :D Ignoring the transients created the result is usually alot better than before in regards to aliasing.

By the way...
MyCo is not the same as Maik (and is Maik the developer of FS?)? I have no concept whatsoever of who is who here :? :D

Anyways...
Thinking out loud a bit here... :P
If anyone wants to correct my current view below and clarify they are much welcome. I'm a moron so any feedback is appreciated.

Wondering...
Can it be called somewhat of a rounding error when a waveform/oscillator sample is forced/rounded to a certain sample in the stream (train of samples) at any current samplerate?

I noticed that there is a drift between oscillators, when combining different oscillator for example the toolbox oscillators and other oscillators. This drift seems to be exaggerated when running thru oversampling, in particular the 4x... The 2x oversample-modules specifically the hard (rounding?) ones seem to suffer less from this but results differ between every oversample module and is dependent of frequency played and waveforms etc.
The drifting looks like, on a FFT, exactly like the comparison FFT between MyCos and MVs modules in their "Oversampling Kit". Bands creeping in from high frequency and moving downwards...

I think I read or saw something that Spogg made using impulse trains which made my pea brain equally confused as usual... :lol:
Not understanding a s*** about the math and DSP... Would it in theory be possible to split up an oscillator to a multi(band) function oscillator that hard truncates to best suited samples in regards to a complete waveform cycle of current output frequency rather than round every waveform sample to nearest stream sample even if end result would be an oscillator several cents out of frequency? But absolutely non aliasing and non drifting when combined? Like a per cycle frequency quantising oscillator? Gradual pitchchange might not sound that fun though :lol:

Does Flowstone work only at 44.1Khz internally or? What happens when output in host is set to 96KHz? And what about bit depth?
R&R
 
Posts: 432
Joined: Fri Jul 15, 2022 2:28 pm

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby Spogg » Thu Dec 22, 2022 8:53 am

I’ll answer what I can which is not all of it! :oops:

MyCo and Maik Menz is the same person. MyCo is his screen name. He is the developer for FS4 but not the earlier version releases.

Rounding errors are apparent when integer (whole number) values are used instead of float or 32 bit floating point values. For indexing a waveform it’s normal to use some sort of interpolation, usually linear. This method estimates the value you would get for fractional index values. If you don’t use interpolation you’ll get a harsh sound on most notes. But that might be not what you mean! :lol:

FlowStone works at the sample rate you set on your audio interface. By remarkable coincidence this came up literally yesterday between me and Martin, regarding tuned delays and sample rate. Tuned (musically pitched) delay loops work at higher sample rates because the 0-1 normalised frequency is based on the current sample rate, 1 being nyquist (half the sample rate). The important thing is to make sure the max delay samples you set takes into account the lowest frequency you need to render.
User avatar
Spogg
 
Posts: 3318
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: Newbie question. Mixing Poly and Mono in schematics?

Postby R&R » Thu Dec 22, 2022 7:59 pm

Thanks!

...which is not all of it! :oops:


LOL
You wouldn't be able to even if you're nice enough to try. Because I don't know what i'm talking about in the first place :D Can't even find the terms to formulate my questions... I know so litte about digital sound and processing. I'm pretty much at the beginning trying to understand the artifacts i'm looking at when experimenting... :D

Ah ok... Yeah I think I have atleast a vague understanding of the need for and use of interpolation.
For example dithering and it's noise artifacts I understand a little, but this with oscillators etc is the opposite direction in the generative end :lol:

I sort of understand or suspect that MV and MyCo (as the math- and- dev-aliens they seem to be :lol: ) use different best suitable solutions for interpolation they can with every task.

It's actually "kind of" the interpolation i'm talking about... These things are however WAY WAY over my head and brain :lol: Anyways... noticing the drifting and the almost comb filter like bands creeping in with oversample... just got me thinking about other areas where lookup tables are used, and if this, in theory would ever be applicable for sound... like a "preference lookup for interpolation" that's divided into a set number functions with frequency bands each that "in my wild guess" would force interpolation more like truncation rather than only interpolating from linear function. That's what I was trying to force my brain to output, and ended up with "a per cycle frequency quantising oscillator" :lol:

Tuned (musically pitched) delay loops work at higher sample rates because the 0-1 normalised frequency is based on the current sample rate, 1 being nyquist (half the sample rate). The important thing is to make sure the max delay samples you set takes into account the lowest frequency you need to render.


That's what confuses me about DSP and ASM. How to, or even if possible they can process at higher rates than output.
It would be pretty cool if DSP or seqments of poly/mono prims could be set to work higher sample rates internally and then converted back/interpolated to the base samplerate like a poly2mono prim and vice versa, but for samplerate.

Oh well, just me rambling... trying to learn and understand some more :lol:


Merry Christmas Spogg! and to anyone else lurking around :)
R&R
 
Posts: 432
Joined: Fri Jul 15, 2022 2:28 pm

PreviousNext

Return to General

Who is online

Users browsing this forum: No registered users and 40 guests

cron