[sdiy] dsPIC Stuff
rburnett at richieburnett.co.uk
rburnett at richieburnett.co.uk
Mon Nov 12 13:15:32 CET 2012
Hi Scott,
Nice demo sounds and thanks for sharing with us! If this is your first
venture into dsPIC territory then you've done a blinding job :-)
How are you exciting the K-S model? Have you got a PRBS noise
generator running in each dsPIC and preload the buffer with a burst of
noise at each "pluck" instant, or using an impulse or something?
I bet this would sound really nice with multiple K-S models for each
note to give a slightly detuned sound as each note decays away. It
sounds great as it is, but would be a bit less static with voices
doubled up or chorus applied to the voice mix afterwards.
Are you using block based processing for the dsPICs? You can squeeze a
lot more out of them if you process a block of say 16 samples for one
K-S voice into a buffer, then process 16 samples for the next voice into
another buffer, etc. before mixing them all together and playing them
out. It just minimises the time spent pulling variables from RAM to set
up for a calculation, and stashing the results back in RAM so you can do
something else. It's a lot more efficient if you can set up a voice
algorithm, produce a run of say 16 samples for that voice, then tear it
down and set up for the next voice etc, than set up for one voice,
produce a single sample, tear down and set up for the next voice only to
produce another single audio sample. The downside is increased latency.
My appologies if i'm explaining something that you already know, but I
think this is a valuable concept to getting the most out of general
purpose DSPs.
I look forward to reading and hearing your further developments,
Best regards,
-Richie,
PS. Adding some peaks and dips to the overall frequency response might
also sound nice to mimmic body resonances in a real stringed instrument.
Does anyone know how close you can get to an acoustic guitar sound
using a bunch of Karplus-strong algorithms and a few IIR filters to
model the key body resonances?
On 2012-11-12 02:08, Scott Gravenhorst wrote:
> My Brain Is An Electron:
> http://electro-music.com/forum/download.php?id=32641
>
> Sometimes I Repeat Myself:
> http://electro-music.com/forum/download.php?id=32653
>
> These two pieces were done using an 8 voice polysynth implemented on
> dsPICs
> (a big thank you goes out to Tom Wiltshire for his help).
>
> The "Harpie" instrument consists of 3 dsPIC33F ICs, one serves as a
> MIDI
> controller and voice assigner which communicates via a one way SPI
> channel
> to the other two "voice engines". Each voice engine manifests 4
> Karplus-Strong string models. The Karplus-Strong model parameters
> for
> reflection filter Fc and linear damping are controlled by pots
> feeding ADC
> input pins.
>
> The second piece was done by recording the same MIDI sequence twice -
> one
> time an octave higher than the other and using Audacity, the two
> recordings
> were offset some small number of milliseconds in time and then mixed
> into a
> stereo track.
>
> The synthesizer is built on 2 stripboards and all 3 dsPICs run at 40
> MIPS
> with a 20 MHz xtal.
>
> -- ScottG
>
> ________________________________________________________________________
> -- Scott Gravenhorst
> -- FPGA MIDI Synth Info: jovianpyx.dyndns.org:8080/public/FPGA_synth/
> -- FatMan Mods Etc.: jovianpyx.dyndns.org:8080/public/fatman/
> -- Some Random Electronics Bits:
> jovianpyx.dyndns.org:8080/public/electronics/
> -- When the going gets tough, the tough use the command line.
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list