[chuck-users] banshee

Kassen signal.automatique at gmail.com
Tue Dec 15 12:04:55 EST 2009


Any suggestions on how to create a scraped string effect in ChucK?  (like in
> Henry Cowell's Banshee)
> http://upload.wikimedia.org/wikipedia/en/f/f0/Cowell-The_Banshee.ogg
I'd use "modal synthesis", which is a form of physical modelling that uses
parallel PBF's to emulate harmonics.

The scraping itself excites the string with a sort of textured noise. For a
clean wound string a blit or blitsaw may do, for organic ones the noise will
have to be less regular. Then there is the matter of how the scraping -being
a movement- will move the excitation position. In modal synthesis this
position is represented by adjusting the relative volumes of the filters.
For example; picking a string in the exact middle of the string would
heavily excite the first and third harmonics, but not the second, which
would have a knot at that exact spot. Karplus-Strong won't allow for
modulating the excitation position, at least not in a way that I know of.
Perry may have insights there.

We may also wonder whether scraping wouldn't lead to a sort of asymmetrical
damping in real strings... it all depends on how far you are willing to go.
Personally I feel that if you are after 100% realism the best thing to do
would be to ask the nearest guitarist to borrow his guitar (offering to buy
new strings if you wreck them in your experiments). This will save a lot of
time. Realism in imaginary instruments on the other hand will mean some work
and a lot of tuning of the system. This can be very rewarding but it's a lot
of work for non-trivial instruments.

One approach might also be to take one of the STK instruments that has a
"excitation position" input and try giving that a huge amount of picks at
very low (and randomised) velocity while gliding the excitation spot.
Theoretically that should amount to the same thing, in practice I'm not sure
those models will take that sort of abuse, especially as I seem to remember
there were some bugs in the "pluck" member function.

I suggest reading up on physical modelling, then cheat. A lot. You still
need to do the reading but it'll tell you how to cheat more efficiently.

Hope that gets you started.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20091215/cba72d27/attachment.html>

More information about the chuck-users mailing list