[PD] physical modelling/general pd

Andy Farnell padawan12 at obiwannabe.co.uk
Sun Aug 10 19:50:27 CEST 2008

Hi Julian, Mark,

Sorry for the slow reply, been afkb for a week.

AFAICS there are really two problems here, which lead to an
interesting third problem at their interface.

Firstly let's deal with the bell sound.

This long running thread should give you some food

Within the synthetic model we have two sub-problems. The slender cylinder
and free beam models both give rise to vibrational modes, namely 

1) The bending modes
2) The circular modes

For the mostpart it seems you can ignore the ring/circulars and just
calculate those for the bending modes.

But on top of that you need to incorporate an acoustic model for the
hollow tube too if you want a nice realistic sound, so a fully open
half wavelength pipe seems the trick, plus a 0.62R end correction.
Metal will be very reflective.

Chapter 4 of Olson will help you a lot, as will 3.9 of Benson.

Combining these will dictate your method. With waveguide delays you could
split the tube into sections and inject the vibrational energy at several
point radiators on the inside of the tube at anti-nodes, but that's
going to get complicated. 

Practical methods that come to mind are a bandpass filter acoustic section plus

1) pure additive from spectral analysis
2) FM

Dave Bristow (I can't find the link now) wrote about bells and tubes
and developed some very nice data for ratios etc. Maybe you can find that.

Okay, so assume you have a bell sound....

Problem two is the macro model of the bell and string. It seems like a pedulum at first,
but obviously it's more complex. You actually have a jointed pendulum with
the lower part rigid and its mass distributed uniformly along its length. It's
hung from a string you could assume has no mass.

The reason I mention this because it takes us back to the start (creating the third
problem) - how do you deal with excitations of the synthetic model?

Where the bells collide makes a difference to the modes and the resulting sound.

If their bottoms strike a glancing blow then you could assume an impulse at one end,
but in reality the small angles involved lead to acute elastic collsions with multiple 

I think what would distinguish a *great* model is taking this into account. Give each bar
some mass + length and calculate the turning moment around the COM when their bottoms hit.

Seems like a great project and lots of fun. Look forward to hearing what you
come up with.


On Sat, 9 Aug 2008 15:47:06 +0100
"Julian Brooks" <julian.brooks at virgin.net> wrote:

> Hey Mark,
> Many thanks for this.  
> I been reading up and scratching around at this for a bit without really
> getting stuck in(got a couple of Eduardo Miranda's books, hear your doing
> good things at Plymouth btw), not yet checked the Perry Cook book, will do
> tho'.  It's very helpful to get some concrete proposals instead of just
> reading about various techniques, with no real knowledge of their possible
> and well suited applications.
> My plan atm, is to get the gem/pmpd physical modelling side rolling first
> (the visual framing is part of my mental/conceptual image of the piece),
> then moving onto sound generation.  After that, hopefully, the fun side of
> composing will commence, finishing of (hopefully) with some input sensors. 
> I guess what I'm saying is: I'm not quite up to this bit yet but soon come.
> Also aware that your time will be a lot tighter once term commences.
> Think this thread could have legs:)
> Thanks to all for weighing in, I was getting somewhat despondent about it.
> Got some stamina back, feeling a bit more plugged in.
> Cheers
> Jb
> -----Original Message-----
> From: pd-list-bounces at iem.at [mailto:pd-list-bounces at iem.at] On Behalf Of
> Mark Sexton
> Sent: 08 August 2008 10:25
> To: pd-list at iem.at
> Subject: [PD] physical modelling/general pd
> Hi Julian
> Building a physical model of a wind chime might be easier than you think, if
> you use modal or banded waveguide approaches to physical modelling rather
> than the brute force approach of pmpd.
> If you think of the wind chimes should as stiff bars, banded waveguides
> would be ideal and are much more computationally efficient to implement than
> brute force approaches: a resonant filter and delay per mode you want to
> synthesis.  I'd recommend perhaps starting with a simple modal
> implementation using filters and build up from there. This paper gives a
> good introduction:
> http://www.cs.ubc.ca/~kvdoel/publications/modalpaper.pdf
> If you're not familiar with modal synthesis and banded waveguides there's
> plenty of information online and Perry Cook's book gives a good overview of
> a range of approaches to modelling.
> http://www.cs.princeton.edu/~prc/AKPetersBook.htm
> Some starting hints if you want to go down this route:
> 1. Create an impulse: a buffer of noise or single sample impulse
> 2. Feed this into perhaps 5 band pass IIR filters with a very narrow Q,
> these will provide your resonant modes for each chime.
> 3. The frequencies of these filters will probably be non-integer multiples
> of the fundamental, eventually you can get these by analysing an actual wind
> chime, but if you wanted to build a proof of concept now then these are
> typical modes of an aluminium bar (you can find further modal frequency
> ratios in the Csound manual):
> [1, 2.756, 5.423, 8.988, 13.448, 18.680]
> 4. Scale the outputs of each of the resonant filters as appropriate, this
> should be straight forward once you've done an audio analysis of your wind
> chime.
> At this point you have a simple resonating model of a wind chime.
> 5. Perhaps replace the impulse: you can remove the resonant components of
> your wind chime recording and this will leave you with the original noise
> impulse. Using this to trigger your model should help improve realism.
> 6. Create a banded waveguide version, by adding feedback delays for each
> mode. (have a read of this paper and a look at Fig. 4):
> http://soundlab.cs.princeton.edu/publications/1999_icmc_bar.pdf
> There's a few further tweaks and improvements that can be done, but
> something along these lines should give a good result, be fairly easy to
> implement and run more efficiently than brute force.
> Happy to chat more on or off list on the physical model side or algorithmic
> composition side, but you may find it easier than you thought once you get
> going. 
> All the best
> Mark Sexton
> Senior Lecturer
> MSc Computational Sound
> University of Portsmouth
> > 
> > Message: 2
> > Date: Thu, 7 Aug 2008 12:30:51 +0100
> > From: "Julian Brooks" <julian.brooks at virgin.net>
> > Subject: [PD] physical modelling/general pd - mentor/tuition sought
> > (money offered)
> > To: <pd-list at iem.at>
> > Message-ID: <000001c8f881$0d514a40$27f3dec0$@brooks at virgin.net>
> > Content-Type: text/plain; charset="us-ascii"
> > 
> > Hi all,
> > 
> >  
> > 
> > I have a 12 month project as part of a masters degree, where I wish to
> build
> > a physical model of a wind chime.  I then want to use the interface to
> play
> > some of my indeterminate compositions.  I was going to attempt it for my
> > undergraduate degree but realised that it was far too complex for the
> > available time that I had then.
> > 
> >  
> > 
> > I have been using pd for a few years now, list lurking, working through
> > basic examples, building simple tools, using other peoples patches etc.
> But
> > this is too complex for me to do on my own.  At my uni there isn't anyone
> > with better skills than me and I don't know of any local fellow patchers.
> > 
> >  
> > 
> > Now as a musician, when I need to up my skills, I will look to find some
> > lessons when I have got as far as I can on my own.
> > 
> >  
> > 
> > So here goes...
> > 
> >  
> > 
> > Is there anyone with an hour a week to spare who can offer some
> > mentoring/tuition for what we can deem to be the 'going rate'.  I am more
> > than happy to do this remotely/online, I'm sure there is a way we can work
> > it out.  There would be full credit given of course.
> > 
> >  
> > 
> > Pmpd seems like the way to go with this.  I have worked through the
> > examples, and, although I have my eye on what examples I would presume to
> be
> > the best starting points, I'm struggling to get started.  The physical
> > modelling is where I first need to start but there's loads of pd stuff I
> > would like to be able to work through with someone, so this could be a (me
> > love you)longtime regular small money earner, if anyone's interested.
> > 
> >  
> > 
> > I am in Hebden Bridge, West Yorkshire, UK, by the way.  Any pd'ers local,
> > give us a shout.
> > 
> >  
> > 
> > Best wishes to all,
> > 
> >  
> > 
> > Jb
> > 
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list

Use the source

More information about the Pd-list mailing list