Hi Amaury, This is indeed an acquired skill. The most helpful thing for me was reading the original generality theorem showing that any block diagram can be expressed in Faust.
Perhaps the clearest example I have is here: https://ccrma.stanford.edu/~jos/svf/Faust_Encoding_Second_Order_Chamberlin.html In general, you start with inputs on the left, outputs on the right, and work left to right, often with a number of extra signal paths in parallel that are simply going along until they can get where they are going. All the delays can be on the right, comprising the "state variables", but more often they can be expedited along the way. This sort of general approach (all delays on the right and created by feedback) tends to create what looks like a state-space model. Another good example to study is Edgar Berdahl's SynthAModeler perl script that converts any netlist into Faust (state-space style). Also always check faustlibraries/filters.lib to make sure the filter you want is already there. I wrote everything I needed already. Your link did not work for me, but if it deserves its own implementation in filters.lib, I would be happy to get to it eventually. Cheers, - Julius On Sat, Aug 22, 2020 at 4:25 PM Yruama Lairba <yruama_lai...@hotmail.com> wrote: > Hello, > > I'm trying to learn how to design virtual analogue filter and i'd like to > use faust to quickly implement those virtual analogue filter. > Unfortunately, translation of block diagram into Faust is sometime > difficult for me, especially when there is feedback loop in block diagram. > For example, i spend more than one day to translate this filter ( > https://www.native-instruments.com/fileadmin/ni_media/downloads/pdf/VAFilterDesign_1.1.1.pdf#figure.caption.42) > into Faust. So is there an efficient method for translating block diagram ? > I mean, how to decompose ? where to start ? (output, input ?) build long > sequences and then put in parrallel or build in parallèl an then chain in > sequence ? > > My code is in joined pieces, it can probably be improved and more concise. > > PS: i'm also interested by coding style aspect : where do you split lines, > how you indent... > > Amaury > _______________________________________________ > Faudiostream-users mailing list > Faudiostream-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-users > -- "Anybody who knows all about nothing knows everything" -- Leonard Susskind
_______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users