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 ! _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
