Le 15/02/2024 à 06:19, Alexandre Torres Porres a écrit :
  Em sáb., 27 de jan. de 2024 às 05:00, cyrille henry <[email protected] 
<mailto:[email protected]>> 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/db7eed2a17c361503dbc7f70a557874b6001e3cd/server/plugins/PhysicalModelingUGens.cpp#L77
 
<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-physical-modeling-to-create-organic-otherworldly-sounds/
https://www.youtube.com/watch?v=vDdwmVUp7Aw&list=PLvZWo9k7KdK5lnj6prSVmU5FcxSyeiacA
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



_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to