[PD] modal synthesis examples?

cyrille henry ch at chnry.net
Mon Aug 7 13:56:53 CEST 2017


I had a look at a modalys-help.pd file. It appear that modalys is not implemented as a pd abstraction, but as a compiled object. I may be wrong, but I think this object use modalys file that define all material / shape / exitator / etc. So it's quite useless without the full modalys software.

anyway, in order to add my piece of answer to the original question:
about 20 years ago I  made my master degree about a bow / string interaction using a fake motorized bow and a virtual string.
2 different strings where implemented :

-The 1st sting was made using virtual 1D mass, spring and damper in a linear arrangement, just like a spacial discretisation of a real string. This result of incorrect tuning of high harmonics of the virtual string (regarding a real string)

-The 2nd string was made using something also named "modal synthesis" (but very different from modalys) : it was "just" mass/spring/damper 1D resonator connected together, a bit like the paper initially send in this thread.

Since modalys use matrices, I guess that it use more complex interaction between elements than a simple spring/damper interaction like I use to do. This result in being able to also simulate the shape of the vibrating structure.

Anyway, about 15 years ago I start the pmpd library (physical modelling for pure data) that provide simple mass / spring / damper simulation. The pmpd~ object allow this kind of simulation at audio rate. There is an example of the 1st kind of string simulation. The 2nd string can also be implemented thanks to this object, but I did not provide any example since I miss the way to tune the model.

pmpd~ provide only simple interaction, so I don't use it any-more. I use the pmpd object that is lot's more complex (but works only at data rate) and a simple hack to compute audio data. There is also an example in the library distribution.

if you are interested, you can try pmpd using apt-get or deken on linux. I know that Nicolas Montgermont compile pmpd for osX, so a recent binary exist somewhere. I have no idea about recent build for windows.


Le 06/08/2017 à 21:58, Jean-Marie Adrien a écrit :
> would be great if it would be in pd abstractions !
> everything is in the paper though, you are right, and the method is incredibly powerful, so the project was in that time to control it with gestures data bases and artificial intelligence and so on, all of this being existing now, not speaking about multi channel sound diffusion etc.
> I was disappointed when, after having developed the method at IRCAM, i discovered (and had to pay for it though) some ten years ago the actual modalys thing that was kind of retro engineered after i left IRCAM, from the big C++ initial software with was developed between 1984 and 89.
> The math is not so complex, it is just a matrix equation incremented step by step, and very straightforward and intuitive discontinuities in time domain which correspond to straightforward updates of the matrix, resulting for instance from contact between objects and other intuitive events.
> If you simplify the maths, it will probably become more complex i’d say, and you will probably hear it, because time domain sound synthesis is quite sensitive.
> On the same line, one advantage of modal synthesis is that you can achieve impossible physical excitations on imaginary structures, and interpolate between all this, having transient sounds and articulations, but even with the full math though, you could hear in that case that you were sort of tearing the equations, which corresponds to the fact that there is no existing physical gesture which you could refer to when exploring impossible configurations.
> Math simplification is what happened probably when the available pd modalys software was achieved : i was disappointed by this tool and rarely use it.
> Another application has been developed by Apple in Logic with the "sculpture » plugin : it is very much main stream, they probably make money with it and Im still poor. Bref.
> I’d love the true vintage thing on pd now : it is just implementing a matrix equation with updates conditions.
> The point is that, thirty years later, i do not understand anymore a single line in C++, although I’ve written many thousands of lines.
> Hmm. I dont believe it myself, how is this even possible ?  But i remember very well the principles. Id be happy to help if i can anyway.
> jm
>> Le 6 août 2017 à 16:50, Jesse Mejia <jmejia at anestheticaudio.com> a écrit :
>> Yes - I mentioned Ircam's Modalys and that  paper in my initial post. Because modal synthesis is so well known, and well documented, I'm surprised there isn't a similar (but free!) pd implementation. Something with abstractions instead of externals would be great.
>> So let's make one. I know it's a bank of resonant bandpasses, but working out their relationships based on the modal characteristics of physical shapes seems to be key, and abstracting those relationships to friendly controls.
>> The math in the papers is a bit beyond me but it looks like it's all there. I can't tell by looking at it if it's something that would be too hard/annoying to do with vanilla.. or if it's describable in a less math heavy way.
>> Alex - newly compiled versions of the stk would be great! I tried and failed at that about a year ago. But the faust implementations compile well from faust to pd.
>>> On Aug 6, 2017, at 3:24 AM, cyrille henry <ch at chnry.net> wrote:
>>>> :)
>>>> indeed and i had myself to _pay_ for it, which is something that probably illustrates the "élégance à la française"
>>>> jm
>>> I did not encourage piracy, but since pd patch can't be protected I guess that an anonymous source could leak the files without any trouble.
>>> cheers
>>> c
>>> _______________________________________________
>>> Pd-list at lists.iem.at mailing list
>>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>> _______________________________________________
>> Pd-list at lists.iem.at mailing list
>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list

More information about the Pd-list mailing list