Thanks for the reply This is interesting, but I am not sure if I understand you correctly.
A nice example of this would be building filters like biquad starting with just [+~], [*~] and [z~]. Then in the second round using them to make a synthesiser. Then in the third round using those to make a stand alone musical application ... all in a days development!
So I can actually build filters from smaller building blocks in PD,
So things like a Delay line to simulate a string is possible where by
I can actually change the filtering in the feedback and feedforward
paths to simulate different conditions?
I.e. using [Z~] [*] I can create things like a comb filter but then
have the freedom to put other sorts of filtering in it to make it
more complex i.e. simulate the end effects of strings etc. all inside
a single object.
I thought that this can be done in PD as a test exercise but not if I
want to create something that will actually work fast enough to be
usable as a synthesizer. I'm glad to have been wrong!
Develop in Pd. For a vast majority of DSP development Pd with variable blocksize is a perfect tool if you could only work in dataflow THEN: hit "compile"
Are there any tutorials on this any where?
****** Pd should be able to compile its own externals *******
then you'd get an external built from a properly componentised pdlib
Where can I find further information about this?
that you can immediately include into the running patch (no having
to exit Pd to flush cached classes), just continue building abstraction upon abstraction (as compiled code) this way.
Cheers Geoff
On 17 Mar 2009, at 15:32, Andy Farnell wrote:
On Tue, 17 Mar 2009 15:52:17 +0100 Nicolas Montgermont nicolas_montgermont@yahoo.fr wrote:
Hello,
If you have the example in faust, there is an online compiler for puredata external: http://faust.grame.fr/compiler.php I haven't test it though.
It works very well. Though the question you arrive at is, do you want to think in Faust's symbolic 'DSP algebra'? It's actually very elegant, but is a cognitive island (as a further aside, it is easier to pick up if you already think in dataflow). The problem is, ordinary C and C++ code isn't easy to integrate. The code
generated by the filter is tersely optimised.A temporary happy solution is to use Faust's Pd arch filter to make some ready made wrappers. Then just drop C/++ code into the main loop. It gets around the chores of building a Pd external from scratch
each time.But, if you are going to start doing that sort of thing, that's what Flext is supposed to be for, though it doesn't quite work out as easy as you might hope.
The idea that you can compile for VST, Max, Pd or a standalone GUI app is very appealing, for both Flext and Faust.
Ultimately, the logical thing is to amplify what Georg says:
Develop in Pd. For a vast majority of DSP development Pd with variable blocksize is a perfect tool if you could only work in dataflow THEN: hit "compile"
****** Pd should be able to compile its own externals *******
then you'd get an external built from a properly componentised pdlib that you can immediately include into the running patch (no having
to exit Pd to flush cached classes), just continue building abstraction upon abstraction (as compiled code) this way.A nice example of this would be building filters like biquad starting with just [+~], [*~] and [z~]. Then in the second round using them to make a synthesiser. Then in the third round using those to make a stand alone musical application ... all in a days development!
as Bill Hicks would say... "just planting seeds...."
Nicolas
Le 17/03/09 15:28, Geoff a écrit :
*Q) I want to create my own Pure data objects specifically filters starting with the examples in Julius Smiths book. What would be the most straight forward path to take to begin with given my System,
lack of experience, aims ???? what I would like is the easiest route to begin with :)*-- Use the source
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list