When reading about 'Scanned synthesis' in https://en.wikipedia.org/wiki/Scanned_synthesis I see about the [pdp_scan~] external from 'pdp', but I can't use it... I can still try extended in my machine and it didn't really work back then, I get
Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin, 10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib Referenced from: /Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin Reason: image not found pdp: can't load library
Purr Data can't load it either.
The 'pdp' version in deken (0-0extended) doesn't work either and all print the same error.
I wanted to check this object out, does anybody know where the source lives and if we can try and compile it?
cheers
Hello, If you want to try scann synthesis, I suggest to try pmpd. specially example 47.
cheers c
Le 15/01/2024 à 22:45, Alexandre Torres Porres a écrit :
When reading about 'Scanned synthesis' in https://en.wikipedia.org/wiki/Scanned_synthesis https://en.wikipedia.org/wiki/Scanned_synthesis I see about the [pdp_scan~] external from 'pdp', but I can't use it... I can still try extended in my machine and it didn't really work back then, I get
Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin, 10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib Referenced from: /Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin Reason: image not found pdp: can't load library
Purr Data can't load it either.
The 'pdp' version in deken (0-0extended) doesn't work either and all print the same error.
I wanted to check this object out, does anybody know where the source lives and if we can try and compile it?
cheers
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Em ter., 16 de jan. de 2024 às 05:08, cyrille henry ch@chnry.net escreveu:
Hello, If you want to try scann synthesis, I suggest to try pmpd. specially example 47.
Running this in Extended now, it looks amazing. Do we really need Gem though? I figure it is just for displaying the array which is also a model of a string, right? Perhaps one could use a Data Structure array instead? Or just nothing at all to just focus on the sound. By the way, how do we set the frequency in your example? It seems fixed.
As for pdp, it seems it tries to use the webcam or video sources and I don't understand why.
In fact I know nothing about scanned synthesis and I just ran into it by accident when reading about vector synthesis in wikipedia, and I even read the original paper but I couldn't figure it out much yet.
It sounds at first some kinda of wavetable synthesis but it is clearly physical modeling, right?
Would love to dig more in it and provide an external myself but it looks quite complex...
thanks
cheers c
Le 15/01/2024 à 22:45, Alexandre Torres Porres a écrit :
When reading about 'Scanned synthesis' in
https://en.wikipedia.org/wiki/Scanned_synthesis < https://en.wikipedia.org/wiki/Scanned_synthesis%3E I see about the [pdp_scan~] external from 'pdp', but I can't use it... I can still try extended in my machine and it didn't really work back then, I get
Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin,
10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib
Referenced from:
/Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin
Reason: image not found pdp: can't load library
Purr Data can't load it either.
The 'pdp' version in deken (0-0extended) doesn't work either and all
print the same error.
I wanted to check this object out, does anybody know where the source
lives and if we can try and compile it?
cheers
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
On 1/16/24 17:12, Alexandre Torres Porres wrote:
Em ter., 16 de jan. de 2024 às 05:08, cyrille henry ch@chnry.net escreveu:
Hello, If you want to try scann synthesis, I suggest to try pmpd. specially example 47.
Running this in Extended now, it looks amazing. Do we really need Gem though?
not at all. Gem just does the visualiation, but the actual physical model runs within pmpd on the CPU.
As for pdp, it seems it tries to use the webcam or video sources and I don't understand why.
because it does something different. [pdp_scan~] will scan an image along a trajectory, and convert the traversed pixels to samples. it's not really what "scanned synthesis" is referred to in the wikipedia article and the like.
Would love to dig more in it and provide an external myself but it looks quite complex...
or you could just use pmpd? i don't fully understand the benefit of re-implementing everything that is already out there.
Em ter., 16 de jan. de 2024 às 13:26, IOhannes m zmoelnig zmoelnig@iem.at escreveu:
On 1/16/24 17:12, Alexandre Torres Porres wrote:
Em ter., 16 de jan. de 2024 às 05:08, cyrille henry ch@chnry.net
escreveu:
Hello, If you want to try scann synthesis, I suggest to try pmpd. specially example 47.
Running this in Extended now, it looks amazing. Do we really need Gem though?
not at all. Gem just does the visualiation, but the actual physical model runs within pmpd on the CPU.
I figured, but if you actually remove Gem, somehow, sound stops, so it is part of the implementation somehow I guess.
As for pdp, it seems it tries to use the webcam or video sources and I don't understand why.
because it does something different. [pdp_scan~] will scan an image along a trajectory, and convert the traversed pixels to samples. it's not really what "scanned synthesis" is referred to in the wikipedia article and the like.
yeah, doesn't seem so, but it's gotta be related somehow, right?
Would love to dig more in it and provide an external myself but it looks quite complex...
or you could just use pmpd? i don't fully understand the benefit of re-implementing everything that is already out there.
I guess it depends on each case, sometimes (I actually think most of the times) I do offer something different (with more features) and better resolved, other times it's something simple that doesn't make much sense to require a dependency, but nowadays, with plugdata, there's always an excuse or actual requirement to add something (and I am thinking now of the time and date alternatives that I didn't need or want myself, but someone requested for plugdata).
cheers
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Le 16/01/2024 à 17:12, Alexandre Torres Porres a écrit :
Em ter., 16 de jan. de 2024 às 05:08, cyrille henry <ch@chnry.net mailto:ch@chnry.net> escreveu:
Hello, If you want to try scann synthesis, I suggest to try pmpd. specially example 47.
Running this in Extended now, it looks amazing. Do we really need Gem though?
You need Gem to run this pmpd example, but you can easily adapt the patch to run it without Gem.
I figure it is just for displaying the array which is also a model of a string, right? yes, but since this string use 2d physical model (X and Y movement), you need 2 array to display masses displacement and it's not very friendly.
Perhaps one could use a Data Structure array instead? yes, sure! This example was made before data-structure was a thing, but you can adapt it easily!
Or just nothing at all to just focus on the sound. from my experience, for complex movement and shape of the string, having a visualisation help a lot. But it really depend on the way you play with it.
By the way, how do we set the frequency in your example? It seems fixed.
This is Pd, of course you can change the frequency! just adapt the patch to do whatever you want!!! The patch is very simple : everything is obviously in [pd corde] (sorry for my french). [pd sound] is where the masses position are put on a table. [pd table_read] is where the tableread4~ object are located. You just have to change the phasor frequency...
As for pdp, it seems it tries to use the webcam or video sources and I don't understand why.
In fact I know nothing about scanned synthesis and I just ran into it by accident when reading about vector synthesis in wikipedia, and I even read the original paper but I couldn't figure it out much yet.
It sounds at first some kinda of wavetable synthesis but it is clearly physical modeling, right?
well. the article describe it as : "The essence of scanned synthesis is to use a slowly vibrating object whose resonant frequencies are low enough so the performer can directly manipulate the object's vibrations by motions of his body and to scan (measure) the shape of the object along a periodic path by a periodic scanning function whose period is the fundamental frequency of the sound we wish to create."
So, yes, a wavetable synthesis with "slowly" updated table by an algorithm that you can interact with.
According to this definition, pdp_scan~ is not really a scann synthesis. But it's not very far, since it scann an array at sub-audio frequency.
The only example in the article is about a string, but one can imagine lot's of different topology of the physical model, lot's of different way to interact with the model, and lot's of different way to "play" the shape of the model...
Would love to dig more in it and provide an external myself but it looks quite complex...
all you need to explore scann synth is the pmpd lib and tabwrite / tabread~ A scan synth external will be more limited that what pmpd + pd can already offer.
Cheers c
thanks
cheers c Le 15/01/2024 à 22:45, Alexandre Torres Porres a écrit : > When reading about 'Scanned synthesis' in https://en.wikipedia.org/wiki/Scanned_synthesis <https://en.wikipedia.org/wiki/Scanned_synthesis> <https://en.wikipedia.org/wiki/Scanned_synthesis <https://en.wikipedia.org/wiki/Scanned_synthesis>> I see about the [pdp_scan~] external from 'pdp', but I can't use it... I can still try extended in my machine and it didn't really work back then, I get > > Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin, 10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib > Referenced from: /Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin > Reason: image not found > pdp: can't load library > > Purr Data can't load it either. > > The 'pdp' version in deken (0-0extended) doesn't work either and all print the same error. > > I wanted to check this object out, does anybody know where the source lives and if we can try and compile it? > > cheers > > > > _______________________________________________ > Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list > UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list <https://lists.puredata.info/listinfo/pd-list> _______________________________________________ Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list <https://lists.puredata.info/listinfo/pd-list>
Hi Cyrille, thanks for the detailed answers!
Em qua., 17 de jan. de 2024 às 05:48, cyrille henry ch@chnry.net escreveu:
Since this example is very simple, you should already have figured that it use gemhead as a metronome. (for obvious synchronisation reason)
I hadn't, I see now why it stopped working without Gem, will try to check it again sometime soon, but I've been very busy with an update of ELSE and my Tutorial. Ben Wesh at the discord channel is on fire though, doing some amazing things and developing some scann synthesis patches with pmpd, I will ask him for help figuring this all out.
other times it's something simple that doesn't make much sense to require
a dependency, adding a dependency to remove a dependency, is a strange way to remove a dependency! ;-)
In PlugData, ELSE is native, so it is not a dependency, and if people are using ELSE and my tutorial, then it doesn't require yet another extra dependency.
But anyway, there's a billion things in my to do list before I tackle any of this.
Em qua., 17 de jan. de 2024 às 05:37, cyrille henry ch@chnry.net escreveu:
from my experience, for complex movement and shape of the string, having a visualisation helps a lot. But it really depends on the way you play with it.
yeah, graphics are always nice eye candy :)
pdp_scan~ is not really a scann synthesis. But it's not very far, since it
scann an array at sub-audio frequency.
cool, thanks, I will not consider it anymore as a source for scann synthesis.
all you need to explore scann synth is the pmpd lib and tabwrite / tabread~ A scan synth external will be more limited that what pmpd + pd can already offer.
I see, it'd be a lower level solution that will always be more flexible and versatile. I like the idea where I can offer something 'easy' and ready made, then point people to the right patch if thy wanna get deep into the rabbit hole. This looks like a good example.
by the way, Ben says there's a new pmpd version not up in deken yet, is that it? When can we have it if so?
Now, while we're at it, let me share some other resources I found. Here's a discussion in SuperCollider
https://sc-users.bham.ac.narkive.com/lYIbe3pZ/scanned-synthesis-in-sc
They use the simple native Spring class for it, and I've been having my eye on that one, maybe one day including Spring and Ball/TBall into ELSE as well (spring~ and ball~?), cause it also seems like a fun thing to control several things in a patch.
Now let me see if I can get the main principal, is it like you have wave table points that move according to spring like motions when excited and evolving through time?
thanks cheers
Le 26/01/2024 à 23:35, Alexandre Torres Porres a écrit : ...
by the way, Ben says there's a new pmpd version not up in deken yet, is that it? When can we have it if so?
I'm working in a new pmpd version that include the new pmpd2d~ and pmpd3d~. Nothing important change for the rest. pmpd source are on my github :
https://github.com/ch-nry/pd_pmpd
They use the simple native Spring class for it, and I've been having my eye on that one, maybe one day including Spring and Ball/TBall into ELSE as well (spring~ and ball~?), cause it also seems like a fun thing to control several things in a patch.
You will face problem with spring~ and ball~ because of buffers, you better go for spring and ball. and since a spring should also include damping element, let's call it "link". And the ball have a null radius, they usually are called "mass" in the physical modelling world. (I don't know why SC try to be original and change the naming convention usually used) So, this look a lot like pmpd, and after working with if for more than 20 years, I can confirm that this is very fun!
Now let me see if I can get the main principal, is it like you have wave table points that move according to spring like motions when excited and evolving through time?
it's the masses that move! if you want to understand more, look at : http://www.chnry.net/ch/IMG/pdf/-2.pdf
cheers c
thanks cheers
Em sáb., 27 de jan. de 2024 às 05:00, cyrille henry ch@chnry.net escreveu:
it's the masses that move! if you want to understand more, look at : http://www.chnry.net/ch/IMG/pdf/-2.pdf
already had this document, looks like a great source to dig in, I hope to eventually get deep into this
thanks
Em sáb., 27 de jan. de 2024 às 05:00, cyrille henry ch@chnry.net escreveu:
Now let me see if I can get the main principal, is it like you have wave
table points that move according to spring like motions when excited and evolving through time?
it's the masses that move! if you want to understand more, look at : http://www.chnry.net/ch/IMG/pdf/-2.pdf
ok, the masses move, but they move according to a "spring like motion" as I said and each mass represents a point in a wave table, right? Also, you have a chain of masses and the last one (the last point in a table) connects back to the first one, huh?
Anyway, just had some time to look back on this. And I've been checking some Spring-Mass-Systems.
I was checking the code of the Spring class in SuperCollider, I was able to port it to Pd. See https://github.com/supercollider/supercollider/blob/db7eed2a17c361503dbc7f70... note the code says
*// some basic physical modeling ugens - julian rohrhuber 1/04// these are very simple implementations with cartoonification aspects.*
And in fact, I was checking this other mass spring damper system implemented in Max (that I also ported to Pd) and it seems a much more robust system with more meaningful parameters based on actual physical quantities https://www.youtube.com/watch?v=2rFkZD51mT8
How do both compare to pmpd? Is there any canonical model or it's one of those things that is a matter of taste and subject to things like desired efficiency versus realism? Do any of you know of more models out there in Pd or other computer music systems such as Csound, MAX, etc?
I've also been having fun with Sine Waves with exponential decay envelopes. Like with the [decay~] object from ELSE which is like the Decay class in SC
decay 60dB). This way you have a good control on the frequency and decay time. Another option is to just [resonant~] from ELSE, which is also like SuperCollider's Ringz.ar, excited by impulses. This is a resonant 2nd order filter that "rings" for a given decay time and frequency. How does this compare to "Spring Models"? How is Spring "springer" than creating damped oscillators with [decay~] and [resonant~]? Also, for reference, I found this in Pd as well https://www.youtube.com/watch?v=zW7y5yb0YWQ that I am relating to [resonant~].
Who's got more references?
Cheers thanks Alex
So, hi, allow me to add an answer from the SC forum https://scsynth.org/t/spring-modeling/8977/8?u=porres this and the next comment answers my question whether I can just use filters like [resonant~] (based on SC's Ringz). Short answer: yes. Let me quote.
"Many types of second order bandpass filters are also calculated as one feedforward term and two feedback terms, meaning that (at minimum) some types of BPFs *are* spring-model resonators."
and....
"The spring stuff is interesting for getting an idea of how filters work, but the standard EQ filters are practical implementations of it, and you can just use those"
Em qui., 15 de fev. de 2024 às 02:19, Alexandre Torres Porres < porres@gmail.com> escreveu:
Em sáb., 27 de jan. de 2024 às 05:00, cyrille henry ch@chnry.net escreveu:
Now let me see if I can get the main principal, is it like you have wave
table points that move according to spring like motions when excited and evolving through time?
it's the masses that move! if you want to understand more, look at : http://www.chnry.net/ch/IMG/pdf/-2.pdf
ok, the masses move, but they move according to a "spring like motion" as I said and each mass represents a point in a wave table, right? Also, you have a chain of masses and the last one (the last point in a table) connects back to the first one, huh?
Anyway, just had some time to look back on this. And I've been checking some Spring-Mass-Systems.
I was checking the code of the Spring class in SuperCollider, I was able to port it to Pd. See https://github.com/supercollider/supercollider/blob/db7eed2a17c361503dbc7f70... note the code says
*// some basic physical modeling ugens - julian rohrhuber 1/04// these are very simple implementations with cartoonification aspects.*
And in fact, I was checking this other mass spring damper system implemented in Max (that I also ported to Pd) and it seems a much more robust system with more meaningful parameters based on actual physical quantities https://www.youtube.com/watch?v=2rFkZD51mT8
How do both compare to pmpd? Is there any canonical model or it's one of those things that is a matter of taste and subject to things like desired efficiency versus realism? Do any of you know of more models out there in Pd or other computer music systems such as Csound, MAX, etc?
I've also been having fun with Sine Waves with exponential decay envelopes. Like with the [decay~] object from ELSE which is like the Decay class in SC - a one pole filter that you set a "t60" decay time in ms (time it takes to decay 60dB). This way you have a good control on the frequency and decay time. Another option is to just [resonant~] from ELSE, which is also like SuperCollider's Ringz.ar, excited by impulses. This is a resonant 2nd order filter that "rings" for a given decay time and frequency. How does this compare to "Spring Models"? How is Spring "springer" than creating damped oscillators with [decay~] and [resonant~]? Also, for reference, I found this in Pd as well https://www.youtube.com/watch?v=zW7y5yb0YWQ that I am relating to [resonant~].
Who's got more references?
Cheers thanks Alex
Le 15/02/2024 à 06:19, Alexandre Torres Porres a écrit :
Em sáb., 27 de jan. de 2024 às 05:00, cyrille henry <ch@chnry.net mailto:ch@chnry.net> escreveu:
Now let me see if I can get the main principal, is it like you have wave table points that move according to spring like motions when excited and evolving through time? it's the masses that move! if you want to understand more, look at : http://www.chnry.net/ch/IMG/pdf/-2.pdf <http://www.chnry.net/ch/IMG/pdf/-2.pdf>
ok, the masses move, but they move according to a "spring like motion"
I don't understand what is a "spring link motion". Masses moves according to newton law. Lot's of different behaviours can be modelled with MSS model...
as I said and each mass represents a point in a wave table, right?
that's the canonical definition, but you can also put the force applied to the mass in the table. or the velocity. or link length etc
Also, you have a chain of masses and the last one (the last point in a table) connects back to the first one, huh? that's one possibility. You can also attach both end, like in a guitar, or only one, like in an organ pipe.
You can use a membrane better than a string, a random network, make different kind of connection between masses, or using a non linear connection between them. You can use a virtual bow, or an clarinet hip to create the movement.
And there are a million more possibility.
you can have a look at few of chdh work : https://vimeo.com/130239547 http://chdh.net/video_spin.php#; this is 100% scanned synthesis.
Anyway, just had some time to look back on this. And I've been checking some Spring-Mass-Systems.
I was checking the code of the Spring class in SuperCollider, I was able to port it to Pd. See https://github.com/supercollider/supercollider/blob/db7eed2a17c361503dbc7f70... https://github.com/supercollider/supercollider/blob/db7eed2a17c361503dbc7f70a557874b6001e3cd/server/plugins/PhysicalModelingUGens.cpp#L77 note the code says
/// some basic physical modeling ugens - julian rohrhuber 1/04 // these are very simple implementations with cartoonification aspects. /
And in fact, I was checking this other mass spring damper system implemented in Max (that I also ported to Pd) and it seems a much more robust system with more meaningful parameters based on actual physical quantities https://www.youtube.com/watch?v=2rFkZD51mT8 https://www.youtube.com/watch?v=2rFkZD51mT8
How do both compare to pmpd?
you probably noticed that they all use the same equation, The 1st is just a very basic implementation : it's not possible to define a non-linear link for example. The 2nd one solve them in a very simple scenario : 1 mass and 1 spring. So it's not possible to create other network. The beauty of mass/spring system is that it provide an easy way to compute a very complex movement, when it's not possible to find analytic solution.
Thanks to pd flexibility, pmpd offer all brick you need to create complex movement. But if you just want to play with meaningful parameter without understanding the physics, then pmpd is not for you. anyway, pmpd was not about sound synthesis, but about control data synthesis. It is now possible to generate the same stuff with ~ objects, but you have to see it as a way to experiment. It's clearly not a ready to use PM synth.
Is there any canonical model or it's one of those things that is a matter of taste and subject to things like desired efficiency versus realism? Do any of you know of more models out there in Pd or other computer music systems such as Csound, MAX, etc? there are lot's of software dedicated to MSS, the equations are all about the same. But physical modelling is broader than MSS.
I've also been having fun with Sine Waves with exponential decay envelopes. Like with the [decay~] object from ELSE which is like the Decay class in SC - a one pole filter that you set a "t60" decay time in ms (time it takes to decay 60dB). This way you have a good control on the frequency and decay time. Another option is to just [resonant~] from ELSE, which is also like SuperCollider's Ringz.ar, excited by impulses. This is a resonant 2nd order filter that "rings" for a given decay time and frequency. How does this compare to "Spring Models"?
you can easily model a 1st or 2nd order resonant filter using pmpd audio object. But you will control them using damping and rigidity, not frequency and characteristic decay time. They are linked, an abstraction can switch from 1 to the 2nd, but that's not the aim of pmpd.
How is Spring "springer" than creating damped oscillators with [decay~] and [resonant~]? Also, for reference, I found this in Pd as well https://www.youtube.com/watch?v=zW7y5yb0YWQ https://www.youtube.com/watch?v=zW7y5yb0YWQ that I am relating to [resonant~].
Who's got more references?
https://github.com/lucasw/tao_synth https://hal.science/file/index/docid/439313/filename/KoC_Conf_SMC.pdf https://www.synthtopia.com/content/2024/02/12/new-software-synth-atoms-uses-... https://www.youtube.com/watch?v=vDdwmVUp7Aw&list=PLvZWo9k7KdK5lnj6prSVmU... https://www.synthtopia.com/?s=physical+modelling ...
I don't know if you can still find stuff about cordis anima from ACROE.
there are lot's more, but I don't keep bookmark every-time I see a MSS synth.
cheers c
Cheers thanks Alex
Em sex., 16 de fev. de 2024 às 04:39, cyrille henry ch@chnry.net escreveu:
Le 15/02/2024 à 06:19, Alexandre Torres Porres a écrit : I don't understand what is a "spring link motion". Masses moves according to newton law. Lot's of different behaviours can be modelled with MSS model...
Sorry, I'm just missing the basics so I can even properly elaborate meaningful questions. I've been avoiding getting into Physical Modelling Synthesis but I guess it's finally time to get into it :)
you can have a look at few of chdh work : https://vimeo.com/130239547 http://chdh.net/video_spin.php#; this is 100% scanned synthesis.
This is amazing, congrats, it made me nostalgic and miss PdCon concerts.
you probably noticed that they all use the same equation
not at all :)
The 1st is just a very basic implementation : it's not possible to define a non-linear link for example. The 2nd one solve them in a very simple scenario : 1 mass and 1 spring. So it's not possible to create other network.
thanks for clarifying
But if you just want to play with meaningful parameter without understanding the physics, then pmpd is not for you.
This is what I realize, and I would also like to have some higher level ready made and easy to use toys for simple tasks.
there are lot's of software dedicated to MSS, the equations are all about the same. But physical modelling is broader than MSS.
sure, I see
Thanks for the references and answers.
ok, one more thing...
The 1st is just a very basic implementation : it's not possible to define
a non-linear link for example. The 2nd one solve them in a very simple scenario : 1 mass and 1 spring. So it's not possible to create other network.
So Spring from SuperCollider is just a very simplified model, and according to people in the SuperCollider forum it's not really different than a 2nd order filter like Ringz or resonant~ from ELSE, right?
So I'm failing to see where SuperCollider's Spring shines. I already ported it to a compiled Pd object, and I also ported the MAX code but I can't see why I should bother including them or what would be special about them. I like the Ball object from SC and that seems like something fun to have...
But then, I think I mentioned this before, I came across Spring in SC here on this code on Scanned Synthesis https://sccode.org/1-4Rm it's just a chain of Spring objects connected in a series, with a feedback loop, so it's circular. The output of each spring is an audio channel output and an object crossfades between the channels and "scans" it.
So now I wonder if Spring is indispensable in this patch, and if one can just use some other 2nd order filter instead. I am also presuming that there might be some technical details where the sheer simplicity of this setup misses some important factors that you are covering in your scannd synthesis implementations with pmpd, huh?
Cheers
thanks for clarifying
But if you just want to play with meaningful parameter without understanding the physics, then pmpd is not for you.
This is what I realize, and I would also like to have some higher level ready made and easy to use toys for simple tasks.
there are lot's of software dedicated to MSS, the equations are all about the same. But physical modelling is broader than MSS.
sure, I see
Thanks for the references and answers.
Em sex., 16 de fev. de 2024 às 15:16, Alexandre Torres Porres < porres@gmail.com> escreveu:
But then, I think I mentioned this before, I came across Spring in SC here on this code on Scanned Synthesis https://sccode.org/1-4Rm it's just a chain of Spring objects (...)
So now I wonder if Spring is indispensable in this patch
it is according to this :) https://scsynth.org/t/spring-modeling/8977/17?u=porres
Le 16/02/2024 à 19:16, Alexandre Torres Porres a écrit :
ok, one more thing...
The 1st is just a very basic implementation : it's not possible to define a non-linear link for example. The 2nd one solve them in a very simple scenario : 1 mass and 1 spring. So it's not possible to create other network.
So Spring from SuperCollider is just a very simplified model, and according to people in the SuperCollider forum it's not really different than a 2nd order filter like Ringz or resonant~ from ELSE, right?
the SC spring is not a simplified model, it's the standard model. (you can only add complexity to the classic MSS)
if you put 1 mass and 1 spring, you have a 1st order filter. if you put two 1st order filter one after the other, you have one 2nd order filter.
So I'm failing to see where SuperCollider's Spring shines. I already ported it to a compiled Pd object, and I also ported the MAX code but I can't see why I should bother including them or what would be special about them. I like the Ball object from SC and that seems like something fun to have... But then, I think I mentioned this before, I came across Spring in SC here on this code on Scanned Synthesis https://sccode.org/1-4Rm https://sccode.org/1-4Rm it's just a chain of Spring objects connected in a series, with a feedback loop, so it's circular. The output of each spring is an audio channel output and an object crossfades between the channels and "scans" it.
I don’t know anything about SC or Max, so I can't talk about that.
scann synth was propose when a 100 masses simulation need too much CPU to be computed in real time at audio rate. So the shape of the string was only computed at data rate. if you use audio object, then it's not scanned synthesis. it's just PM audio simulation. So, your just mixing multiple things here, and I hardly understand this discussion.
cheers c
So now I wonder if Spring is indispensable in this patch, and if one can just use some other 2nd order filter instead. I am also presuming that there might be some technical details where the sheer simplicity of this setup misses some important factors that you are covering in your scannd synthesis implementations with pmpd, huh?> Cheers
thanks for clarifying But if you just want to play with meaningful parameter without understanding the physics, then pmpd is not for you. This is what I realize, and I would also like to have some higher level ready made and easy to use toys for simple tasks. there are lot's of software dedicated to MSS, the equations are all about the same. But physical modelling is broader than MSS. sure, I see Thanks for the references and answers.
Em sáb., 17 de fev. de 2024 às 07:01, cyrille henry ch@chnry.net escreveu:
if you put 1 mass and 1 spring, you have a 1st order filter.
hmm, ok
if you put two 1st order filter one after the other, you have one 2nd order filter.
So this means that the information that you can have a 2nd order filter like Ringz from SC is not really "the same" as Spring, the comparison is very crude, so it seems, and I thought so...
scann synth was propose when a 100 masses simulation need too much CPU to be computed in real time at audio rate. So the shape of the string was only computed at data rate. if you use audio object, then it's not scanned synthesis. it's just PM audio simulation. So, your just mixing multiple things here, and I hardly understand this discussion.
hmmm, yeah, I guess they are not "properly" implementing it in SC, just finding a way to do it with their resources that comes as close as it is possible...
Well, I'm not sure if it's worth porting SC's Spring into ELSE, they are not being able to say what it is useful for in their forum... but I ported the bouncing ball and it seems something way more fun to play with.
Thanks
Le 20/02/2024 à 17:10, Alexandre Torres Porres a écrit :
Em sáb., 17 de fev. de 2024 às 07:01, cyrille henry <ch@chnry.net mailto:ch@chnry.net> escreveu:
if you put 1 mass and 1 spring, you have a 1st order filter.
hmm, ok
or maybe a 2nd order, since it can resonate. sorry, I'm not good at filters.
cheers c
if you put two 1st order filter one after the other, you have one 2nd order filter.
So this means that the information that you can have a 2nd order filter like Ringz from SC is not really "the same" as Spring, the comparison is very crude, so it seems, and I thought so...
scann synth was propose when a 100 masses simulation need too much CPU to be computed in real time at audio rate. So the shape of the string was only computed at data rate. if you use audio object, then it's not scanned synthesis. it's just PM audio simulation. So, your just mixing multiple things here, and I hardly understand this discussion.
hmmm, yeah, I guess they are not "properly" implementing it in SC, just finding a way to do it with their resources that comes as close as it is possible...
Well, I'm not sure if it's worth porting SC's Spring into ELSE, they are not being able to say what it is useful for in their forum... but I ported the bouncing ball and it seems something way more fun to play with.
Thanks
Em ter., 20 de fev. de 2024 às 14:32, cyrille henry ch@chnry.net escreveu:
Le 20/02/2024 à 17:10, Alexandre Torres Porres a écrit :
Em sáb., 17 de fev. de 2024 às 07:01, cyrille henry <ch@chnry.net
mailto:ch@chnry.net> escreveu:
if you put 1 mass and 1 spring, you have a 1st order filter.
hmm, ok
or maybe a 2nd order, since it can resonate. sorry, I'm not good at filters.
No worries, by the way, I really liked that [tong~] abstraction that used [cpole~] to create a damped harmonic oscillation, I'm using that for "spring like" signals and writing an external for it. Also by the way, [vcf~] is based on [cpole~] so it is quite similar, but [vcf~] has a gain compensation so the maximum gain is at 0dB.
I know a little bit about filters and will try to investigate more. I've been avoiding physical modelling for ages and it seems its finally time to dig in :)
cheers
cheers c
if you put two 1st order filter one after the other, you have one
2nd order filter.
So this means that the information that you can have a 2nd order filter
like Ringz from SC is not really "the same" as Spring, the comparison is very crude, so it seems, and I thought so...
scann synth was propose when a 100 masses simulation need too much
CPU to be computed in real time at audio rate. So the shape of the string was only computed at data rate.
if you use audio object, then it's not scanned synthesis. it's just
PM audio simulation.
So, your just mixing multiple things here, and I hardly understand
this discussion.
hmmm, yeah, I guess they are not "properly" implementing it in SC, just
finding a way to do it with their resources that comes as close as it is possible...
Well, I'm not sure if it's worth porting SC's Spring into ELSE, they are
not being able to say what it is useful for in their forum... but I ported the bouncing ball and it seems something way more fun to play with.
Thanks
I know a little bit about filters and will try to investigate more. I've been avoiding physical modelling for ages and it seems its finally time to dig in :)
Here is the most simple usable structure : a mass and a link. it look like a 2nd order resonant filter. now, the challenge is to find the equation that compute K and D from frequency and attenuation time.
cheers c
although I'm not a specialist in this, I did manage to understand the basics of it enough for people want to hear me:
https://media.ccc.de/v/lac2018-28-introduction_to_pmpd
The materials used are a development of pmpd's materials, with added explanations and visualisations.
I know a little bit about filters and will try to investigate more. I've been avoiding physical modelling for ages and it seems its finally time to dig in :)
Here is the most simple usable structure : a mass and a link. it look like a 2nd order resonant filter. now, the challenge is to find the equation that compute K and D from frequency and attenuation time.
cheers c
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-manageme
looking forward to this update release, will try to get into all of this when it is out :)
cheers
Em sáb., 24 de fev. de 2024 às 11:42, cyrille henry ch@chnry.net escreveu:
I know a little bit about filters and will try to investigate more. I've
been avoiding physical modelling for ages and it seems its finally time to dig in :)
Here is the most simple usable structure : a mass and a link. it look like a 2nd order resonant filter. now, the challenge is to find the equation that compute K and D from frequency and attenuation time.
cheers c
On the Raspberry Pi I’m getting the following notification when launching PD: "Raspberry Pi - priority 6 scheduling failed; running at normal priority”.
I would like to know if this is indeed a problem and what to do to give PD the right priority.
hi,
this works for me on Debian (might work for you):
taken from here: https://jackaudio.org/faq/linux_rt_config.html
edit /etc/security/limits.conf
and add yourself to the "audio" group (you might need to create the "audio" group if it's not there)
PS: if anyone reading has something better please kick in.
--
Mensaje telepatico asistido por maquinas.
On 28/02/2024 18:00, Edwin van der Heide wrote:
On the Raspberry Pi I’m getting the following notification when launching PD: "Raspberry Pi - priority 6 scheduling failed; running at normal priority”.
I would like to know if this is indeed a problem and what to do to give PD the right priority.
Hi Lucas,
Yes, this works for me!
I’ve created the ‘pd-audio’ group with the corresponding settings (rtprio 95 and memlock unlimited) and added the user to the group. The message "priority 6 scheduling failed; running at normal priority” is gone now.
I’m running Bookworm 64bit in a PI 5. What is interesting is that there is already a 95-pipewire.conf file in the directory /etc/security/limits.d with the following contents:
@pipewire - rtprio 95 @pipewire - nice -19 @pipewire - memlock 4194304
I’m supposing that adding the user to the ‘pipewire’ group would also work although the information on the jack audio page you shared explicitly mentions that "Contrary to a lot of misinformation on the web, there is no reason to include a line here that provides enhanced “niceness” control, which is completely irrelevant for realtime scheduling and low latency audio applications.”
Thanks for the help!
Best,
Edwin
On 29 Feb 2024, at 12:37, Lucas Cordiviola lucarda27@hotmail.com wrote:
hi,
this works for me on Debian (might work for you):
taken from here: https://jackaudio.org/faq/linux_rt_config.html
edit /etc/security/limits.conf
and add yourself to the "audio" group (you might need to create the "audio" group if it's not there)
PS: if anyone reading has something better please kick in.
--
Mensaje telepatico asistido por maquinas.
On 28/02/2024 18:00, Edwin van der Heide wrote:
On the Raspberry Pi I’m getting the following notification when launching PD: "Raspberry Pi - priority 6 scheduling failed; running at normal priority”.
I would like to know if this is indeed a problem and what to do to give PD the right priority.
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Em sáb., 24 de fev. de 2024 às 11:42, cyrille henry ch@chnry.net escreveu:
Here is the most simple usable structure : a mass and a link. it look like a 2nd order resonant filter. now, the challenge is to find the equation that compute K and D from frequency and attenuation time.
cheers
Ok, finally testing this with the new release. I could mess with it and feed it impulses and it does sound and look like my damp.osc~ object, but the parameters are really hard for me to understand and control, and maybe the decay curve is not exactly the same...
but yeah, it surely is a resonant filter! Interesting.
cheers
c
sounds like a filter alright, with the noise input
now, I get
pmpd~: no method for 'setK'
maybe I dont have the latest version, isn't there a new release coming up to deken?
Em sáb., 17 de fev. de 2024 às 07:01, cyrille henry ch@chnry.net escreveu:
Le 16/02/2024 à 19:16, Alexandre Torres Porres a écrit :
ok, one more thing...
The 1st is just a very basic implementation : it's not possible
to define a non-linear link for example.
The 2nd one solve them in a very simple scenario : 1 mass and 1
spring. So it's not possible to create other network.
So Spring from SuperCollider is just a very simplified model, and
according to people in the SuperCollider forum it's not really different than a 2nd order filter like Ringz or resonant~ from ELSE, right? the SC spring is not a simplified model, it's the standard model. (you can only add complexity to the classic MSS)
if you put 1 mass and 1 spring, you have a 1st order filter. if you put two 1st order filter one after the other, you have one 2nd order filter.
So I'm failing to see where SuperCollider's Spring shines. I already
ported it to a compiled Pd object, and I also ported the MAX code but I can't see why I should bother including them or what would be special about them. I like the Ball object from SC and that seems like something fun to have...
But then, I think I mentioned this before, I came across Spring in SC
here on this code on Scanned Synthesis https://sccode.org/1-4Rm < https://sccode.org/1-4Rm%3E it's just a chain of Spring objects connected in a series, with a feedback loop, so it's circular. The output of each spring is an audio channel output and an object crossfades between the channels and "scans" it. I don’t know anything about SC or Max, so I can't talk about that.
scann synth was propose when a 100 masses simulation need too much CPU to be computed in real time at audio rate. So the shape of the string was only computed at data rate. if you use audio object, then it's not scanned synthesis. it's just PM audio simulation. So, your just mixing multiple things here, and I hardly understand this discussion.
cheers c
So now I wonder if Spring is indispensable in this patch, and if one can
just use some other 2nd order filter instead. I am also presuming that there might be some technical details where the sheer simplicity of this setup misses some important factors that you are covering in your scannd synthesis implementations with pmpd, huh?>
Cheers
thanks for clarifying But if you just want to play with meaningful parameter without
understanding the physics, then pmpd is not for you.
This is what I realize, and I would also like to have some higher
level ready made and easy to use toys for simple tasks.
there are lot's of software dedicated to MSS, the equations are
all about the same.
But physical modelling is broader than MSS. sure, I see Thanks for the references and answers.
Le 25/02/2024 à 19:45, Alexandre Torres Porres a écrit :
sounds like a filter alright, with the noise input
now, I get
pmpd~: no method for 'setK'
damned!
maybe I dont have the latest version, isn't there a new release coming up to deken?
The new version is not ready. You can donwload binary on github : https://github.com/avilleret/pd-pmpd/actions/runs/8006223225/artifacts/12666...
cheers c
Em sáb., 17 de fev. de 2024 às 07:01, cyrille henry <ch@chnry.net mailto:ch@chnry.net> escreveu:
Le 16/02/2024 à 19:16, Alexandre Torres Porres a écrit : > ok, one more thing... > > The 1st is just a very basic implementation : it's not possible to define a non-linear link for example. > The 2nd one solve them in a very simple scenario : 1 mass and 1 spring. So it's not possible to create other network. > > > So Spring from SuperCollider is just a very simplified model, and according to people in the SuperCollider forum it's not really different than a 2nd order filter like Ringz or resonant~ from ELSE, right? the SC spring is not a simplified model, it's the standard model. (you can only add complexity to the classic MSS) if you put 1 mass and 1 spring, you have a 1st order filter. if you put two 1st order filter one after the other, you have one 2nd order filter. > So I'm failing to see where SuperCollider's Spring shines. I already ported it to a compiled Pd object, and I also ported the MAX code but I can't see why I should bother including them or what would be special about them. I like the Ball object from SC and that seems like something fun to have... > But then, I think I mentioned this before, I came across Spring in SC here on this code on Scanned Synthesis https://sccode.org/1-4Rm <https://sccode.org/1-4Rm> <https://sccode.org/1-4Rm <https://sccode.org/1-4Rm>> it's just a chain of Spring objects connected in a series, with a feedback loop, so it's circular. The output of each spring is an audio channel output and an object crossfades between the channels and "scans" it. I don’t know anything about SC or Max, so I can't talk about that. scann synth was propose when a 100 masses simulation need too much CPU to be computed in real time at audio rate. So the shape of the string was only computed at data rate. if you use audio object, then it's not scanned synthesis. it's just PM audio simulation. So, your just mixing multiple things here, and I hardly understand this discussion. cheers c > > So now I wonder if Spring is indispensable in this patch, and if one can just use some other 2nd order filter instead. I am also presuming that there might be some technical details where the sheer simplicity of this setup misses some important factors that you are covering in your scannd synthesis implementations with pmpd, huh?> > Cheers > > > thanks for clarifying > > But if you just want to play with meaningful parameter without understanding the physics, then pmpd is not for you. > > > This is what I realize, and I would also like to have some higher level ready made and easy to use toys for simple tasks. > > there are lot's of software dedicated to MSS, the equations are all about the same. > But physical modelling is broader than MSS. > > > sure, I see > > Thanks for the references and answers. >
On 1/15/24 22:45, Alexandre Torres Porres wrote:
When reading about 'Scanned synthesis' in https://en.wikipedia.org/wiki/Scanned_synthesis I see about the [pdp_scan~] external from 'pdp', but I can't use it... I can still try extended in my machine and it didn't really work back then, I get
Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin, 10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib
you need X11 for pdp. iirc, on macOS you can install it via XQuartz.
to quote from their homepage:
it forms the X11.app that Apple shipped with OS X versions 10.5
through 10.7.
which kind of explains why pdp worked with older versions of OSX, but not with current macOS.
Purr Data can't load it either.
obviously, you still need X11.
The 'pdp' version in deken (0-0extended) doesn't work either and all print the same error.
as expected.
I wanted to check this object out, does anybody know where the source lives and if we can try and compile it?
where all externals lived in the days of yore: the sourceforge SVN https://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/externals/pdp/
a read-only git repository can be found at https://git.puredata.info/cgit/svn2git/libraries/pdp.git/
the code hasn't been touched in 12 years, it probably won't compile on modern systems.
Debian still provides pdp binaries, so there's a couple of patches that allow us to build on this platform. find them at https://salsa.debian.org/multimedia-team/pd/pdp/-/tree/master/debian/patches
these patches might be very Debian specific (solving problems that only exist on this platform), i have no idea whether they might help building on macOS.
and finally, there's of course the official homepage: https://zwizwa.be/pdp/
gmasdr IOhannes
Oh yeah, I now remember we gotta install XQuartz for X11 and Extended! It works :)
Em ter., 16 de jan. de 2024 às 05:36, IOhannes m zmoelnig zmoelnig@iem.at escreveu:
On 1/15/24 22:45, Alexandre Torres Porres wrote:
When reading about 'Scanned synthesis' in https://en.wikipedia.org/wiki/Scanned_synthesis I see about the
[pdp_scan~]
external from 'pdp', but I can't use it... I can still try extended in my machine and it didn't really work back then, I get
Applications/Pd-extended.app/Contents/Resources/extra/pdp/pdp.pd_darwin, 10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib
you need X11 for pdp. iirc, on macOS you can install it via XQuartz.
to quote from their homepage:
it forms the X11.app that Apple shipped with OS X versions 10.5
through 10.7.
which kind of explains why pdp worked with older versions of OSX, but not with current macOS.
Purr Data can't load it either.
obviously, you still need X11.
The 'pdp' version in deken (0-0extended) doesn't work either and all
the same error.
as expected.
I wanted to check this object out, does anybody know where the source
lives
and if we can try and compile it?
where all externals lived in the days of yore: the sourceforge SVN https://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/externals/pdp/
a read-only git repository can be found at https://git.puredata.info/cgit/svn2git/libraries/pdp.git/
the code hasn't been touched in 12 years, it probably won't compile on modern systems.
Debian still provides pdp binaries, so there's a couple of patches that allow us to build on this platform. find them at < https://salsa.debian.org/multimedia-team/pd/pdp/-/tree/master/debian/patches
these patches might be very Debian specific (solving problems that only exist on this platform), i have no idea whether they might help building on macOS.
and finally, there's of course the official homepage: https://zwizwa.be/pdp/
gmasdr IOhannes _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list