[Fpga-synth] Digital Waveguide Samples
Scott Gravenhorst
music.maker at gte.net
Wed Aug 1 00:15:14 CEST 2007
"The making of synthesizers in FPGAs." wrote:
>Scott Gravenhorst wrote:
>> Hello all,
>>
>> I've posted three MP3 files made using my digital waveguide experiment. I
>> chose to use the system with the nonlinearity enabled because it was more
>> interesting that way. Each file consists of multiple excitations while
>> slowly increasing the filter bandwidth starting at zero. When the sample
>> first starts, you hear clicks because the filter squelches the system so
>> quickly there is no resonation. As I increased the filter bandwidth, the
>> system takes on a more musical character morphing from a tonal drum through
>> a metallic sound.
>>
>> http://www.fpga.synth.net/pmwiki/pmwiki.php?n=FPGASynth.DigitalWaveguide
>
>Pretty cool!
>
>I really like how the random phasing of the excitation pulse and
>existing signal interact to give a different sound for every pluck. An
>excellent model of a stringed instrument.
>
>It's been a long time since I read anything about these sorts of PM
>sound generators, so I'm not up to speed on the current tech. However, I
>notice that you're just using a rectangular pulse for stimulus. Have you
>considered:
>
>* Lookup tables of different shaped stimulus - could simulate
>hammers/plectra with different shape & stiffness.
Yes (c:
I wrote the first part of this experiment in C and simulated several different waveshapes.
It does make a noticable difference.
>* PRN generator with variable amplitude - broadband noise could drive
>the waveguide sort of like an organ pipe.
Yes (c:
>* 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_.
>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.
-- ScottG
-------------------------------------------------------------
-- Scott Gravenhorst
-- GateMan I - Xilinx Spartan-3E Based MIDI Synthesizer
-- FatMan: home1.gte.net/res0658s/fatman/
-- NonFatMan: home1.gte.net/res0658s/electronics/
-- When the going gets tough, the tough use the command line.
More information about the Fpga-synth
mailing list