On Sat, Jan 30, 2010 at 10:18:50PM +0000, Folderol wrote:
In the hardware world these are usually simply
sine/triangle/square
wave generators, but the posh ones also do frequency sweeps, and the
very posh ones let you set up a range of mathematical functions that
will produce a repeating waveshape and/or sweep of your choice.
Yep, I know these boxes !
Theoretically this aught to be far easier to do
entirely in software
(and no, I don't have sufficient programming skill). I'm actually
quite surprised that we aren't knee deep in the things :)
Any of the synthesis packages (from Csound to AMS) would
be able to do this. They all have oscillators for sine,
square, triangle, sawtooth, etc. and the complexity of
combining them and making them sweep etc. is limited
only by your imagination. You probably want anti-aliased
oscillators in this case.
It all depends on what the OP expects of this. With the
exception of a sine, all the 'classical' waveforms have
infinite bandwidth. Analog generators usually will go up
to a few MHz (in bandwidth, not frequency) Any software
version is bandlimited to half the sample rate, and unless
you go to high sample rates and corresponding hardware that
can make a big difference to an analog one. For example a
square wave above 1/6 of the sample rate will look like a
sine wave, as will a sawtooth above 1/4 the sample rate.
And at lower frequencies, a perfectly bandlimited waveform
with discontinuities (sawtooth, square) will show significant
ringing at the edges. This is not an error, and trying to
remove the ringing will actually make the result less accurate.
But try and explain that to someone who doesn't grasp the theory
(been there, failed). Same but to a lesser extent for waveforms
that have a discontinuous first derivative (e.g. triangle).
Ciao,
--
FA
O tu, che porte, correndo si ?
E guerra e morte !