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

Reply via email to