Best resource for learning HISE?
-
Thank you, I'm working on the videos but I keep re-working them! It's taking some time because I really want them to hold up well in the future.
I'll be going into a fair amount of dsp theory, as well as a bit of C++ stuff.
The tutorial is kind of directed at my past self.The only reason I got so deep into dsp, and so quickly is that I got picked up for a very difficult piece of analog modelling and promised I could deliver, so I had to learn c++ , electronics, circuit simulation and juce in a month!
A Faust tutorial would be interesting, I've never used it before. I was tempted near the start but ended up choosing c++ instead.
-
@griffinboy Like when an actor gets a gig and says "yes of course I can ride horses..."
-
Sometimes you have to learn on the job : )
-
@griffinboy No problems. If you wanna have good meal from a good restaurant you have to wait for sometime. :beaming_face_with_smiling_eyes:
Yup, Electronics and Circuit simulations specially Analogue one is quite challenging. I am from Electronics Eng. back ground so I know. But I never integrated it into C++ and Emulated.
-
Ah perhaps you can help me!
My understanding of circuits is poor, I only just get by!Analog modelling is tricky indeed, most plugins only go a third of the way there, hence there are quite a lot of 'poor' models on the market which fall apart as soon as you compare them to their analog inspirations.
If you're interested in this area we can discuss, but a tutorial that goes deep into this topic will not be out for quite a long time: I am still working on it myself! There is an absurd amount of math and physics involved.
-
@griffinboy said in Best resource for learning HISE?:
There is an absurd amount of math and physics involved.
That is my issue. It dares me. :downcast_face_with_sweat:
-
If you want to start, look at analog modelling papers online. Anything released from DaFX is reputable, some papers are better than others. Look for the newest papers on the subject.
I recommend feeding PDFs of the research into chat gpt and asking it to first summarize the paper, and then in the next method ask it to describe exactly how one would follow the paper to achieve the result, listing off all the steps and relevant math.
This is a good place to get started, to just understand how the techniques work and educate yourself. Using AI as a tutor.But watch out for academic fluff papers. There are some that waste your time and are really long winded and are just written for word count.
The best papers are ones that link to open source code...I'll have my Hise C++ Node tutorials out in roughly a week. I'm creating a few that I will release all at once, and delete my old video.
-
@griffinboy said in Best resource for learning HISE?:
DaFX
Good Idea.
How can I convert schematic to C++ Audio DSP ? This is a schematic of Echo Circuit (Simple Stereo Echo) -
@DabDab you'd have to have a solid understanding of curcuit design and analog modeling techniques to recreate the schematic. Modeling the PT2399 itself is not a trivial task.
Some of my models take months to calculate. -
-
@DabDab The essence of this circuit is not the components around it, which are probably just doing some light bandwidth filtering, impedance adaptations...
The main contribution to the sound being the 2399, the approach would better be a black box modeling of the beast imho
-
Ah yes, I was not exaggerating when I say I don't know electronics
That black box in the middle is an entire circuit itself I'm gathering?
I was confused for a moment, because I use these, and I was pretty sure they are digital.All of my modelling is transistor and tube based, I've never simulated anything modern.
Yeah honestly I would black box this. If he messages me I'll set him on the right path.
Creating a setup to extract data from the actual chip, and then recreating the ADC, DAC, Amp, Filtering and buffers, digitally would be the strategy here. -
@griffinboy yeah this is a path I'd like to learn too, but the progression curve is... well you get it
The thing is that I am fully equipped with all the electronic hardware one would need for this (except spectrometer but it can be done in a computer anyway). I have never tried black box modeling, and even if it wouldn't be that hard to measure a circuit, what to do with the results it something elseAs for Wave Digital Filters, as soon as you get a loop, things are becoming insane. And I don't know any electronic circuits without a loop, most often non linear⦠I tried with a very simple design and wasn't able to implement it successfully in Faust. Though I computed the loop, there's a CLI helper tool for this, cannot remember from the top of my head so I'll find it once I'm back at the computer
-
If you have limited circuit knowledge, this might be a better solution:
https://hackaudio.com/point-to-point-modeling
As far as I can see, it has the flexibility of WDF, but removes the need for iterative solvers when working with non-linear circuits. -
@Dan-Korneff said in Best resource for learning HISE?:
You'd have to have a solid understanding of curcuit design and analog modeling techniques to recreate the schematic.
Yes, I can do circuit design via Electronics components but I am not good in White Box and Black Box Modelling . I saw many JUCE Analogue emulation videos. Tried Mat lab, Circuit Sim, Octave etc. But no luck.
-
@DabDab If you use WDF or Point to Point, the library and code is integrated into JUCE.
My process is probably similar to @griffinboy. Use ohms law and various transforms to linearize the circuit. Create symbolic transfer functions that represent the circuit. Spend hours upon hours in Matlab proving and tweaking the formulas. After that, it's pretty much just copy/paste the code into a 3rd party node.
You'll end up with a while library of books on the subject, but this is a good one to start with:
Microelectronic Circuits (Oxford... https://www.amazon.com/dp/0195323033?ref=ppx_pop_mob_ap_share -
@Dan-Korneff
hmm....
That's why Analogue Modelling is quite challenging to me. -
@DabDab it's a challenge for everyone
-
I read a paper on HSIM, about simulating transformers with WDF, this is the method that I use personally. It allows me to deal with multiple nonlinearities. Provided you can derive the scattering matrix and resolve delay free loops, it becomes quite 'simple'.
You need parallel processing for it to be efficient though. -
For nonlinear circuits (amps, filters) I'm working towards using HSIM: (https://www.researchgate.net/publication/354894471_Multidomain_modeling_of_nonlinear_electromagnetic_circuits_using_wave_digital_filters)
Essentially breaking down the tree into smaller sections and solving nonlinearities locally. A bit different to Kurt Werner's suggested approach of grouping the nonlinearities at the root. Apparently this way is the most efficient (with SIMD), but nobody has compared them yet, so I am looking into doing that and writing a paper.
Apart from that, yeah your process is similar to mine.
Creating models for each component, using iteration to inch closer to the benchmark results from the real component. After that you have to deal with representing the connections :face_with_tears_of_joy:Lots of work. WDF is good if you know electronics, state space modelling (+MNA) can be tidier and a heck of a lot less code, but I find it more confusing. I've only done filters using such techniques but I know that it's the industry standard.
I'm working on a WDF header library for Hise which I intend to release, but it's still in progress, I need to talk to Christoph more about SIMD support in Hise, to see what the best way to optimise it.