[PD] Pre Loading a Delay Line

Michael Garrett mgarrett at garrett-tech.com
Fri Dec 8 17:04:09 CET 2006



Thanks for all the great conversation!!!

First thing, now that I have done some research, I am getting KS, and
Waveguide synthesis confused. What I have patched up is a Karplus Strong
synth, that sounds like a PVC pipe... It is not really a waveguide synth in
the true sense. The initial noise burst, which comes through, is desirable
in this synth, since it represents the percussive hit of the pipe end.

One thing about pre loading the delay line, is getting the true sound of the
recalculating line itself, without the noise pulse at the beginning. You can
output the delayed signal, but it appears 20 msec or so 'late' for bass
notes.

I picture it similar to pulling a bass string with your finger, you are
adding energy to the string, but there is no sound from adding this energy.
So the string, in cross section looks like a single cycle of a saw tooth.
The pickup is located someplace on the string, and starts producing sound
the instant the string is released, not 20 msec later, the timbre of the
sound based on the energy stored by the finger being released.

What I am describing in the last paragraph is a true 'waveguide'
implementation, with a pre load. (Covered under various patents etc.... as I
discovered last night) otherwise known as a 'Physical Modeling Synth' very
well described by Julius O. Smith et.al etc. etc....

Are there examples of 'Physical Modeling' PD synths???

mcg










-----Original Message-----
From: pd-list-bounces at iem.at [mailto:pd-list-bounces at iem.at] On Behalf Of
padawan12
Sent: Friday, December 08, 2006 5:08 PM
To: Frank Barknecht
Cc: pd-list at iem.at
Subject: Re: [PD] Pre Loading a Delay Line

On Fri, 8 Dec 2006 07:49:26 +0100
Frank Barknecht <fbar at footils.org> wrote:

> Hallo,
> 
> (the early bird...)
> 
> padawan12 at obiwannabe.co.uk hat gesagt: // padawan12 at obiwannabe.co.uk
wrote:
> 
> > Yes, but that wouldn't be appropriate for a xylophone. I think it
> > depends on the excitation mode and what instrument you're modelling
> > whether to pass the excitation impulse directly through (or through
> > a body formant), or only take it from the "cold" side of the delay
> > where it's one period late. I think this is how you decide.. If it's
> > a displacement that you're modelling, like plucking a bass string at
> > the middle (antinode) then yes you want to have the delay, that's
> > the time until you really hear anything from the moment the pick is
> > released, the time to propagate along the string. But for struck
> > instruments, the hammer excites the whole thing locally, and the
> > waves spread out and travel back and forth until they fall into
> > phase with the waveguide (delay), (Karplus-Strong), and then you
> > want to hear the delay contents as quickly as you can, so you want
> > the buffer to be preloaded with an image of the impulse. 
> 
> Hm, I still don't quite get it: In the patch Michael already plays out
> the excitation pulse because his "pickup" is next to the [delwrite~]
> so everything that goes into the delay is played out, especially the
> first excitation. The second repetition of the (filtered) excitation
> will arrive after the first delay period, but doesn't it have to wait
> that long? Because if it would come any earlier you would have a tone
> with a different and *higher* frequency because basically you just set
> the delay period to be shorter for a short time. Or am I totally
> off-track?

I see it, in the waveguide, he sends the impulse straight through, so
yes you always hear that click in the attack.
I wonder. Is the optimal buffer size the size of the impulse table?
Any difference in the first cycle is going to end up absorbed into
the sound as a difference frequency I imagine. So, one would really
want to resample the excitation so it fits properly into the first
frame. If your delay is set to the right period and already preloaded
from the table the problem is solved. 

And I wonder, what's the pros and cons of using a symmetrical
impulse seed (negative and positve) vs storing only a half cycle
and fliping phases alternately? 

It's good to discuss this, because the best implementation isn't 
obvious in Pd. Am I talking crap when I say that it would be nice
to use arrays in a more flexible way? 

Of course there is [dynwav~], which I haven't played with much. Has 
anyone done anything demonstrative with it like scanned synthesis or
something?

> 
> > Are you doing that here? How do you do it, I cant see it? Is that
> > why you set the blocksize so low? 
> 
> The blocksize is low because it specifies the lowest possible delay
> time, if you have a feedback delay and through that the highes
> possible frequency of the delay waveguide. See Miller's book, the
> chapters on recirculating and non-recirculating delay lines. 
> 
> For a bass player the block size could be larger, though. ;)

Aha OK, Duh, I see.  When using 64byte blocks I definitely lose accuracy for
higher notes.For bass what works out good in my experience
is a hybrid of a waveguide and waveshaper, where the delay buffer
is used to create a signal that has all the right shape for
a plucked string, but a meager amount of harmonics (so a very
low frequency impulse of one cycle) and follow that up with
a chebychev or other distortion to bring out the harmonics you
want. It "exagerates" the harmonic movements that are already there
in the first part.

A xylophone is a tougher one though. xylo == wood right? It's
a more diffuse sound. I would think a good angle would be
to introduce some lf noise into the delay modulation and 
get a more wooden collection of sidebands.


> 
> Ciao
> -- 
>  Frank Barknecht                 _ ______footils.org_ __goto10.org__
> 
> _______________________________________________
> 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





More information about the Pd-list mailing list