On Saturday 01 December 2007, Gordon JC Pearce wrote:
[...]
...but that
would require playing the *exact* same sounds on both
systems, which is pretty much where the very problem is here: The
hardware synths tend to use secret, proprietary algorithms.
"Algorithm" implies it's a software synth anyway.
I didn't really intend it to be read that way. Maybe it's just too
obvious to me that it doesn't matter if you do it in parallel or in
series, as long as it's digital. :-)
A softsynth running in an FPGA or DSP is not a
hardware synth.
Well, not in my book anyway.
Well, it depends... But anything you can do entirely inside an FPGA
*can* be implemented as "normal" software on a CPU. It man not be
terribly efficient (CPUs suck at truly parallel processing), but
we're concerned with the final results here, I think.
I'd say a true hardware synth is something that uses multiple variable
rate DAC and other semi-analog or analog stuff that you can't
replicate purely in the digital domain. The SID chip falls in that
category, for example. (Digital oscillators, analog mixer, analog
resonant filter, IIRC.) Didn't some early Ensoniq synths use a
similar approach? (Per-voice DACs, that is.)
[...]
And, if you
find a softsynth inferior to some hardware synth due
to resolution issues, recompiling it with 'double' sample and
control values would allow it to beat most hardware synths flat to
the ground in that department, I'd think. Or why not 'long double'
while you're at it. ;-)
It depends on the software involved. Great though Novation stuff
is, it aliases terribly (for instance). Nice filters though.
Ouch. The first thing I look for when hacking my own oscillators is
distortion when playing pure sine waves all over the frequency range.
If that sounds crap, everything will sound... well, at least not as
clean as it should. If it's not too bad, it might be ok for some
sorts of sounds...
Anyway, I was assuming here that the algorithms would be identical
apart from the sample resolution - so the aliasing would be the same.
You'd just get more accurate aliasing with the long doubles. ;-)
//David Olofson - Programmer, Composer, Open Source Advocate
.-------
http://olofson.net - Games, SDL examples -------.
|
http://zeespace.net - 2.5D rendering engine |
|
http://audiality.org - Music/audio engine |
|
http://eel.olofson.net - Real time scripting |
'--
http://www.reologica.se - Rheology instrumentation --'