SNEX Convolution
-
@Christoph-Hart Is it foreseeable to get access to a convolution engine in SNEX?
The end goal wouldn't be a simple convolution, but a dynamic one from an array of buffer IRs...
Even better, would a node that handles dynamic convolution be conceivable? -
@ustk + 1 million cents for the dynamic convolution :)
-
What‘s dynamic convolution?
-
@Christoph-Hart Dynamic Convolution is based on an array of IRs made at different levels so the non-linear characteristics are recorded, and where the test signal is a fading pulse train.
Then you can apply a convolution, where the input sample level is used to "select" the corresponding IR to use for "this" sample.http://www.sintefex.com/docs/appnotes/dynaconv.PDF
I am currently creating an app to generate the IRs which is the easy part. But implementing the convolution won't be possible for me, so without this, it'll be for nothing but my own knowledge...
Even if I find a way to do it, the matrix multiplication will be catastrophic without an optimisation method generally found in convolution systems. -
Would love to see this
-
@ustk You want to morph between IRs. This won't model non-linear systems well, though. One way to do that is with many convolution engines in parallel, each processing an individual overtone. All that aside, the quality of your sounds is the most important characteristic of the system, and until you've optimized that (if possible), there's no need to get exotic. If someone who really knows the ScriptNode side of things wants to answer some questions for me, I'll help you with whatever whacky stuff you'd like to do with impulse responses. (I'm a longtime MAX/MSP guy; just don't know the HISE-specific implementation aspects.) My $0.02 is that HISE is not the place for fancy IR stuff, and if we ask anything of @Chris, it would be to document and fix what's already there, not add anything new (not that he has a responsibility to do either). Just my $0.02.
-
@clevername27 said in SNEX Convolution:
@ustk HISE is not the place for fancy IR stuff
Not with that attitude it won't.
-
-
@clevername27 said in SNEX Convolution:
You want to morph between IRs. This won't model non-linear systems well, though.
Isn't the goal here to capture tones as close to 100% analog reality as possible? Anyone who claims to have achieved 100% with just DSP would be lying anyway. But with IRs, it is possible to do many small and big nuances at the same time, with much less than the CPU requirement to be used when doing it with DSP. There are several successful companies using it. With the dynamic convolution, it is much easier to simulate systems that are hard to achieve or will use excessive CPU with Scriptnode or other DSP models. No need to rediscover America. Also, is this system used by Acustica Audio and other companies not close enough? Come on! :D
HISE is not the place for fancy IR stuff
If no one is forcing you to implement dynamic convolution yourself, Let's let Christoph decide ;)
-
Well, my $0.02 is actually no. The goal is to get the best-sounding results—and that's the only reality than customers are really interested in.
A common mistake that audio companies make is pursuing the best technical solutions as a primary objective. IK Multimedia has an IR technology that they claim that uses over 1,000 IRs for a single setting—but it pales in comparison to a single, conventional IR created by Tom Syrowski.
There's a lot of different ways to approach impulse responses. If you define "dynamic convolution" as a modification of an impulse response in real-time, then (as described) the FFTConvolver-derived effect in HISE meets that definition by letting you roll off the high end of the IR itself.
It may be that for what you want to do, that the algorithm you cite is the best choice. I have no idea (especially given I don't know what you're trying to do). But there's no standard beyond traditional IRs, so I don't think it makes sense to include one particular algorithm in a toolkit like HISE.
Also, keep in mind that @Christoph-Hart did an excellent job in his architecture, and there's a lot of interesting stuff you can do with IRs very efficiently within several of the frameworks he created (such as Hammerstein systems). Getting them to work is another thing, but it's open source software, so he doesn't owe us anything. You may have better luck with Max/MSP, which I've found to be an excellent platform for IR research and algorithm design.
-
I haven't anticipated asking for extended IR capabilities would cause such a debate.
@clevername27 I get part of your point, but still dynamic convolution works well and is "easy" to get from measured equipment. Also, the implementation doesn't seem too complex since it's an interpolation between IRs.
If this is not a good way for getting non-linear representation, then what is better, keeping in mind the simplicity of course?- I don't know how to derive equations from my non-linear system
- I don't know how to implement these equations in an efficient way if ever I could have them to begin with
- Despite I am a former electronic technician and well equipped with all the necessary tools, I don't know what and how to measure in this specific case
- I don't even know where to start
But I have part of the answer: read tons of books and learn tons of software, get better at math, start experimentations with MatLab and/or consort, and come back in 10 years with some DSP models of my own... This is what I recommended to somebody a while ago, long before discovering the existence of dynamic convolution. I still think this is what anyone who wants to get serious about DSP should do and that's what I am doing every day, but until then...
If you can show me a way to get a non-linear system model easily within Hise, or at least at the complexity level of that from a dynamic convolution (about which I am guessing from what I have seen so far since I don't know yet all the nitty-gritty) I would take it and I'm sure many others would follow :)
But guessing the difficulty in developing a proper non-linear model against dynamic convolution, I still think this is a legitimate question that doesn't have to be discredited right away (especially regarding the population Hise mainly targets, we are not all DSP guys with a strong background in this direction).
That being said, maybe there's a "relatively not too complex" way of going through MAX/RNBO for black-box modelling that can be imported in Hise you can point me at. :)
Another dimension to take into account is that Hise is free, and I can't pay for MAX+RNBO yet just to make some tests without knowing where I am going at first
-
@ustk It's a healthy debate that enriches the discourse and knowledge here, and as always, your comments are a benefit to all. I'm happy to help with your IR stuff if you can help with the MIDI playback code - let me know, cheers.