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 http://www.eng-tips.com/viewthread.cfm?qid=152064
Within the synthetic model we have two sub-problems. The slender cylinder and free beam models both give rise to vibrational modes, namely
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
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 excitations.
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.
Andy
On Sat, 9 Aug 2008 15:47:06 +0100 "Julian Brooks" julian.brooks@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@iem.at [mailto:pd-list-bounces@iem.at] On Behalf Of Mark Sexton Sent: 08 August 2008 10:25 To: pd-list@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:
- Create an impulse: a buffer of noise or single sample impulse
- 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.
- 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@virgin.net Subject: [PD] physical modelling/general pd - mentor/tuition sought (money offered) To: pd-list@iem.at Message-ID: <000001c8f881$0d514a40$27f3dec0$@brooks@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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list