[sdiy] Wavetables
Matthew Smith
matt at smiffytech.com
Sun Jan 23 22:38:50 CET 2011
Quoth Paul Maddox at 23/01/11 19:59...
...
> what Korg did is have bigger samples for the lower octaves.
> so the top octave has 256 samples, the lower octaves have 2048 samples.
> the removes the aliasing (due to sample depth/quality) but does make
> for a far more complex control system.
One of my early concepts was to have a separate generator for ever (say)
2 octaves. Yes, the control is more complex - but it gets even worse and
bumps the component count right up if:
* I decide to have 2 generators per voice (same note, but detuned or
different waveform.)
* I decide to have more than 1 note per voice (think coupling on an organ.)
* I want any form of polyphony.
Whilst the component count would go up for any of these options, it
would do so exponentially if I were to start using more than one
generator to cover the range.
As regards component count, ease of programming, etcetera, I am starting
to lean towards swapping out the counter/address logic/PROM for a
microcontroller, but still triggering it with a waveform at the
appropriate frequency. The increment pointer, copy data to port, would
be triggered by an interrupt. Think this would make for more
flexibility. Still end up with a module that takes in a square wave and
outputs an analogue signal, but has only 2 active components on board (3
if the ADC likes having an output buffer.)
> the best to start with is a sawtooth, because if you've got a pin
> incorrect or something wrong in your code you won't see a steady,
> straight line.. with a sinewave it might not be so obvious where the
> error is (LUT or Generation).
Duly noted, thanks.
> I'm happy to dig out the asm file and mail it you if you wish.
Offer appreciated, but I have to confess to being unable to decipher.
I've managed to avoid asm for the last nearly 30 years, right back to my
Spectrum days - this job's going to be done in C. (Which at least is
better than Sinclair BASIC ;-)
> you're no2 where I am with Zira, though I don't use I2C I use serial
> as I didn't have enough pins for I2C :-)
I really should consider serial - on a board level (rather than over a
cable) I guess I could get a pretty fair speed. Wonder what the fan-out
of a serial out is - guess it should be able to drive 2 serial ins.
And I now have my wavetable calculator working. Fed the data into a
spreadsheet, graphed it, waveforms actually look like they're supposed
to. Which helps.
Cheers
M
--
Matthew Smith
Smiffytech - Technology Consulting & Web Application Development
Business: http://www.smiffytech.com/
Blog/personal: http://www.smiffysplace.com/
LinkedIn: http://www.linkedin.com/in/smiffy
Skype: msmiffy
Twitter: @smiffy
More information about the Synth-diy
mailing list