[Fpga-synth] Digital Waveguide Samples
Eric Brombaugh
ebrombaugh at earthlink.net
Wed Aug 1 00:34:57 CEST 2007
Scott Gravenhorst wrote:
>> * Variable frequency pulse generator - might sound sort of like a bowed
>> string, depending of the pulse shape. I think a bowed string would have
>> some feedback to the bow though, so the stimulus tends to be tuned to
>> the resonant frequency which would be a bit harder to simulate.
>
> Hmm. Do you mean excite with a train of pulses? No, I hadn't, but it's on the list _now_.
Yup - a pulse train. Probably just an NCO with PWM to turn it into a
narrow/variable pulse. Or, take the straight NCO sawtooth output. Scale
it to prevent overflows as the waveguide resonates.
I think I saw an analysis of bowing somewhere that suggested it was a
combination of noise (as the bow slips across the string) and impulses
(as it catches & holds briefly). The amount of slip/hold is determined
by the tension of the string vs the speed of the bow: when the
tension/speed reaches the breakaway point of the friction (mu sub s for
those who remember their statics/dynamics) at which point the bow starts
to slip until the tension reduces to the hold point again (mu sub k) and
it catches and repeats the cycle.
>> So many things to think about here...
>
> Yeah, this is just a very rudimentary experiment that shows me how useful this thing can
> be. I do want to take this to the next level: Use the SDRAM for the string (singular at
> first, multiple string harp for a poly synth later on). I've studied the SDRAM data sheet
> and understand how it works, next is to look again at Rick Huang's work with it to learn
> how to interface the RAM with an FPGA design. My dream would be to create a 96 string
> harp so that I can run it as either 96 tones, or as 48 doubles tuned slightly differently.
> My preliminary arithmetic says 96 _might_ be possible at 62.5 KHz sample rate. All 96
> would be capable of vibrating simultaneously.
That should use the S3Esk to its fullest.
Question about the delays: Are they only integer length? Have you found
that this tends to quantize the resonant frequencies at the upper end of
the range? If so I've done some stuff with variable interpolators that
might give a bit more flexibility in that situation. The downside is
that good (more than simple linear) interpolation takes a bit of logic.
Eric
More information about the Fpga-synth
mailing list