Obsidian v cpu hungry analogue modeling synths?
It’s very early to judge obsidian, but I’m already falling in love with it. There is one specific aspect of it where I have a small suggestion about which I’d love to hear other people’s thoughts.
As flexible as obsidian is, I suspect many people will end up finding room for occasional use of cpu hungry analogue modeling synths (my personal favorite are DRC (now testing the auv3 beta) and Model 15) alongside obsidian every now and then.
What I’m wondering about is this: am I wrong to suspect that the one area where obsidian stands to gain the most (in comparison with those cpu hungry analogue modelers) is the filter section - e.g. by adding some oversampling options (maybe just on the analogue modeled filter shapes) for special occasions like in the internal Waveshaper effect?
(Where I’m coming from on this: saturation characteristics is a well known area where oversampling pays huge dividends by raising the threshold at which adding saturation introduces harsh aliasing artifacts. (I take it that Matt agrees given that he added oversampling options on the Waveshaper.) I’m not sure, but I suspect that having a similar 4x/8x oversampling option at least on the analogue modeled filter shapes would still keep obsidian way more cpu efficient than loading up a cpu hungry analogue modeling synth, but would go a very long way towards covering more of their territory. The other thing is: being able to pair obsidian’s awesome digital oscillator types with filters that have less noticeable aliasing artifacts when saturating would open the door to so much juicy hybrid territory..
)
Tl; dr: obsidian v hungry analogue modeling beasts: how much further could obsidian go in that territory with oversampling options on the analogue modeled filters?
Comments
@Cinebient @OhWell I kept the Moog Model D and Model 15 on my iPad, as well as several Korg synths simply because you can’t get those sounds anywhere else. I’m content to use them when I need “analog” sound.
It would be great to have more analog modeling in Obsidian, but I do wonder what that would do to it’s efficiency.
@cinebent That’s super interesting about audio rate modulation being the more important thing. Model 15 is also up there for that, no?
I should clarify, my assumption is that it’s totally fine for there to be uses for synths that aren’t obsidian. Eg: audio rate modulation might be a perfect example of that. My mindset here is: identifying simple ways to expand the wonderful palette obsidian offers with little to no impact on the UI and core design.
Just out of curiosity, do you know how much oversampling eg DRC and eg Model D (heck, animoog too) are doing in the filters section? I do realize that filte oversampling per voice is a big cpu hog, but my thought was that for the special occasions where people want sounds that rely on filter saturation + resonance with low harsh artifacts, turning on oversampling in an obsidian filter would remain more cpu efficient than eg firing up DRC or a Model D..
@kleptolia Agreed! I guess that’s a better way to put the question: (1) how much more efficient would obsidian remain vs Model D/DRC/etc if it had the option of turning on, for special occasions, as much oversampling as these dedicated analogue modelers do in the filter section? (2) How valuable would that option be for users?
It’s a good thought, and I’m curious to know what @Blip Interactive thinks about it. I do recall he wrote a post on here about how to achieve a more “tape sounding saturation” in-app but I’m not sure if that was Obsidian specific.
Interesting thread. For now I, like you guys too I am sure, use other synths for other sounds. On older devices where CPU is a major limiting factor, committing to audio clips in Slate is important, rather than having too many AU causing problems. If the idea is not to create tracks, but rather to improvise live with as many synth apps running as possible, using audio clips (later audio tracks), then this doesn't help so much.
Personally, I'd like to see Obsidian remain basically how it is so that it remains CPU efficient. Much after the stated priorities are handled (iPhone, Audio Tracks, misc updates), I'd like to see completely new synths added as IAP for NS2. Then a dedicated Analog Monster synth could focus on that sound, albeit with the magic Blip Interactive CPU efficient coding. I don't know if there are any plans to add additional instruments to NS2, and I will bet that after the exhausting marathon to get NS2 this far, Matt won't even consider it at this point, but maybe one day. What will we be discussing a year from now...?
@OhWell @Cinebient
I was silently waiting how long after release somebody opens topic of Obsidian's non-oversampled filters :-)) I was abusing Matt during developement a lot with this :-)) Evil me, poor Matt :-))
Like @Cinebient mentioned, oversampling (OS) is huge CPU eater. Specially in polyphonic synths. And for synths like Zeeon or Model D it is in some cases also disadvantage, because you don't need OS always - in significant set of sounds it is just complete wasting of CPU - to put it simple - basically all sounds with low or almost no resonance doesn't get much benefit from OS filters
What exact issue solves oversampling then ?
In digital domain you cannot have in signal nothing above "nyquist" frequency which is half of sample rate (nanostudio uses realtime sample rate 44 khz, so nyquist frequency is 22khz)
In case that something exceeds this frequency, it starts generate aliasing. I don't want put here too much technical details, so simply it means that for example very high resonance, specially played on higher notes, doesn't sound nice.
OS fixes this problem using simple technique. Before filter it resamples audio to, let's say 96khz sample rate, then processes it through filter, and then downsamples it back to 44khz.
Oversampling DOES NOT affect if synth sound more or less analog like - this is different topic. Different factors. Ok, of course except of very high resonance. Which sounds better on oversampled digital or on analog synth. Because there is no aliasing on analog synth, obviously :-)
Now. What next.
1/ Future solution
(bear in mind, this is NO official Blip Interactive promise of anything ! Just my personal ideas how to improve this part of Obsidian but still leave possibility of supper efficiency)
1a/ Add posibility to turn ON oversampling when needed (ideally some switch in Obsidian - so per instance, global settings would be not good because really in many many cases you don't need oversampling at all and to use it us wasting of CPU. Bass sounds with small or no resonance, leads, pads witrhout reso, etc etc.
1b/ Add another variants of filters to filter selection which will use OS. So there will stay possibility to use efficient nonOS filters when OS is not needed)
I would appreciate solution 1b/ ... simply new options like "12 dB A/os", "24 dB A/os" and so on. I hope that Matt would like this solution also because it does not need any additional UI. Just pure DSP coding and few new items in filter variant dropdown I would PAY for IAP package of OS filters
2/ Temporary solution.
**It's simple. Do 96khz export (mixdoen) ** As i said, NS in realtime mode uses 44khz, so everything above 22khz == mess. If you do export in 96khz, it mesns that nyquist frequency is now 48khz - that is looot better. Try it, make sime sounds with super high resonance, then do 44khz and 96khz export - hear thst difference ? Huge.
Regarding audio rate modulation - this is even higher CPU killer than oversamplimg and this is in my opinion no-go for such complex synth like Obsidian. If all that toms of possible modulations should run at audio rate, then possibly only device which will be able to rum at least ONE instance of Obsidian would be latest iPad PRO with A12x CPU :-)
I believe that one day we will see another build in synth with simplified structure, less modulations posibilities, BUT audio rate modulation, 16x oversampled filters, analog circuirs modelling and other goodness, which will kill all "analog like" AU synths. But also your CPU
Good stuff here.
I wonder if something like an option "1c/" which will save us from our CPU eating selves is possible?
In a sense, this would work like filter oversamlping "freezing".
Indeed, once audio tracks are a thing, perhaps this all gets a lot simpler in that Matt can safely enable [per filter instance] oversampling and users can freeze Obsidian tracks in the same way we might freeze Model 15 tracks.
@dendy Ha, why am I not surprised?
I have much more experience with OS and saturation in the context of waveshaper/drive type effects than synth filters, so I first noticed the issue with the filter set to WS. Then I started twiddling with drive and resonance on the filters and the difference with the filters in Moog, DRC, etc became very obvious.
Kazrog’s products really spoiled my ears for saturation, btw, my dream analogue modelling monster would need 32x oversampling. 👹. Edit: I just realized that for products not meant for high amounts of distortion, Kazrog knows better than to go 32x. (So Thermionik has the option to go 32x, but e.g. true iron only does 2x OS. Other products in the line fall in between.) I honestly don't know where my sweet spot would be for filter saturation. Hehe!
@Will
Yeah that sounds like Matt classic optimalization wizardry.. i preffer still my 1b/ because it looks like most simple solution (no UI needed at all, just simple oversample and downsample) - most simple solution means higher probability it will be sooner than 10 years from now
+1
Yeah but still -isn't it worth to sacrifice quality in some more extreme areas for such incredible efficiency ?
And it still sounds totaly awesome in lot other areas where aliasing dosn't happen that much or not at all. It's allrounder, of course with it's boundaries. But still vast ocean of great sounds
Plus good it there is workaround and there is hope one day it will be solved somehow. Till then, there are AU CPU killers when Obsidian losts breath )
Yar. If track Freezing becomes an option then it's a little safer, support wise, to simply enable it. Otherwise, I fear he'll get overwhelmed with "¡but obsidian is supposed to be so efficient!" complaints.
Not sure if I’m for or against on this one. Half of me says ‘for higher quality just use 3rd party’. But the other half says ‘would be nice to have that kind of quality in obsidian to mix and match with the other synthesis types in obsidian for sound design’.
If it’s relatively easy to just switch on oversampling and suddenly we have model d type quality filter/saturation etc in Obsidian then no-brainier addition. But I have no idea whether it’s that simple and if it isn’t then I think ns2 should be focusing more on adding contemporary bread and butter daw functionality than Obsidian functionality for the forseeable. Daw functions first, work on obsidian and internal fx etc after... There’s a lot of good au and aufx now, but still problems with most iOS daws, matts energy is better spent elsewhere for now imho..
All great points folks. @flockz Yes, part of the question is indeed: how much/little work would it actually take to just enable it 1b) style in the way @dendy describes. For the love of saturation!
Animoog is a super interesting example of the kind of territory that might open up with that. Sounds to me like the filter uses OS, and it works wonders to bring back some of the harsher digital sounding oscillator settings into analogu-esque Moog territory.
But OS have completely nothing to do with saturation or analog drive.. actually obsidian filter contains emulation of analog filter ovedrive (12A and 24A modes) - in my opinion pretty good - obviously that third knob "drive"
OS is just and only for removing aliasing during high resonance (eg. in human language, that not much nice high pitched disharmonic tone)
Why do plugins like pro-l use it? I always assumed it was for super hi-def detail in modelling/algorithms/calculations and so on? Not just for filter resonance? Genuine question! I have zero knowledge on this..
distortion .. that's another thing which works better without aliasing - so oversampling is good idea ..
That's why in NS2 "waveshaper" module you can turn on oversampling. When you use just small overdrive it makes no difference (you can try it) .. but try it with waveshaper use hard distorion or sine/tri modes, with drive pumped to max - without oversampling turned on in some moment you start heear lot of noise - but when you turn out 8x oversampling, noise disappears and it will again sound like ... totaly distorted audio which is close to noise ) but noise. . it will have still some character ...
Another area where OS removes non-linear distortion (==aliasing) is FM synthesis .. to keep it simple basically every process which can result to creating of new frequencies which are above half of sample rate ... it's not just filter resonance, i was talking more in this specific case of filter - there it makes sense mostly because of resonance ...
You said it wasn’t relevant to saturation or drive in one post then say it’s good for drive in another...Confusing brainstream
It's blurred area, not exact boundary where it starts to make sense .. definitely for hard distortion ..
but im not total expert in this area .. i know something, but not everything, i have just overview in principe .+ use my ears )) I can be wrong in some details, so don't take me as final authority. Main point of my post were filters and resonance a what could improve it's characteristics.
As i wrote above, try do some experiments with waveshaper, turning on / off oversampling with various levels of distortion .. and listen how it affects result .. with soft saturation, and small overdrive you will most probably not hear any difference .. bug with hard distortion and wavefolding (tri / sine modes) - it makes big difference
Either way, if oversampling just stops aliasing then I think it’d be a lot of work for obsidian to get close to the analog modelling of model d etc. Oversampling probably is just small part of the equation. Seems like some deep measurements and calculations have gone in to those algorithms to get them to react and sound the way they do. Matt should focus on daw features for now imho
Yeah, for creating emulation of real analog synch you needs to do lot more steps than just oversampling. Oversampling solves just one particular issue (distortion caused by non-linear processes , to be very exact) ... there is another set of methods which needs to be aplied if you want get faithful reproduction of analog synth. Sadly all of them are CPU hungry - lot of math Everything comes with a price.
Seems pointless pursuit for a one man team when those plugins already exist. Just focus on daw features
Agree ! But just filter oversampling would be nice, anyway.
Seems pointless pursuit for a one man team when those plugins already exist. Just focus on daw features > @Cinebient said:
Repro1/repro5 are soooo good!
Super interesting comments folks! Keep it coming!
@Cinebient I'm curious, what synth are you referring to which sounds better without OS than most with 8x?
Yeah it just sounds/feels really, really good. Never A/B’d it against anything but use it over hardware regularly. That U-he dude’s talented af
Been reading up on digital filter design. Seems like a wonderful can of worms. One thing that might clarify the confusion I introduced and the complexity @dendy mentioned in distinguishing the importance of oversampling for distortion vs filter design: some of the stuff I just read reminded me that part of the classic Moog sound involves pushing the filter into overdrive. It's that cluster of issues with Moog style filter behavior when driven hard I meant to be bringing up with the thread. But I'm realizing the issue of reproducing that behavior digitally (at a CPU cost) is waay more complicated than just controlling for aliasing artifacts via oversampling..
(I found this article an especially helpful overview: http://www.earlevel.com/main/2016/02/22/filters-for-synths-the-4-pole/)
Will check p900 out!
this. Oversampling is just part of whole picture , plus in NS easy to solved by simply exporting mixdown at 96kHz, which means all internal processing is at 96khz too...
@dendy Not easy to solve with mixdown though, precisely because it’s just part of the picture.
I’d be all over an IAP (down the road, not now - I think the current development priorities are more important) that offers some extra (and more cpu hungry) filter option with Model D style quality in the behavior of the filter when pushed into saturation/overdrive.