On Sat, Jan 30, 2010 at 10:18:50PM +0000, Folderol wrote:
> In the hardware world these are usually simply sine/triangle/square
Yep, I know these boxes !
> Theoretically this aught to be far easier to do entirely in software
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).
O tu, che porte, correndo si ?
E guerra e morte !
Linux-audio-dev mailing list