From: barsz@bnr.ca (Peter Barszczewski)
Subject: Re: Discussion on PC based Synthesizer/Sampler
Organization: Bell-Northern Research Ltd.
Date: 14 Dec 92 12:23:40

In article <1992Dec14.080842.25253@Informatik.TU-Muenchen.DE> lieblm@Informatik.TU-Muenchen.DE (Martin Liebl) writes:

   Now here's my idea:
   Since today's synthesizers are (mostly) based on digital algorithms, it should
   be possible to realize such device completely based on a PC hardware with an
   additional D/A-converter (e.g. Soundblaster or similar card) and the software
   to compute the sound. 
   More exactly:
   I get some input from a connected midi keyboard (note on/off, aftertouch, etc.);
   I take some sample stuff (PCM) and transform it according to the midi input
   (pitch transpose, modulation, etc. ). Then I change it by several algorithms
   for filtering, envelope, etc. ; after doing this for all the played notes, I 
   merge the whole thing and send it out through a D/A-converter.
   If one can do this, I already have got a preset sampler like a U220 or a proteus.
   Extending it by algorithms for e.g. effect processing, waveshaping, 
   wavesequencing or whatever, one should be able to rebuild any kind of today's
   synthesizers; even FM should be possible with a different concept.
   Only the speed of the CPU decides, how many voices or different sound patches
   I can play simultaneously.
   I don't know if I'm right, but this is the same like Roland, Korg or Yamaha
   does it, the only difference is not using customized hardware; Peavey tried
   to sell their things on a similar 'open architecture' concept, but no one ever
   heard of new software for this.

   Now what would be the problem realizing this, or are there any projects on
   this ???

There are many problems with this.  First you cannot get much more than
10-bits of ADC or DAC from an internal PC card.  This is true even with
balanced inputs.  This is because of all the EMI within the PC box itself.
If you want high accuracy and good quality sound you need an external, well
designed, and well shielded ADC/DAC board.  Second, lets analyze the timing
for a minute.  Say you want 44.1 kHz in stereo.  This means you have 22.1
micro-seconds per sample per channel to generate sound.  On a 50 MHz
single-cycle per instruction DSP chip, this gives you about 1133
instructions between stereo samples or 566 instructions per sample.  These
are assembly language instructions, not C.  I wrote a fairly decent and
extremely optimized sinewave generator (table look-up with linear
interpolation between samples in assembly) for a DSP chip and it still took
50 instructions.  And that is the basic operation, just the sinewave.  Now
add filtering and mixing and midi and real-time control over the signal and
... well you get the point.  That is why it hasn't been done.  You need
custom hardware (usually ASICS) which can generate and manipulate the
signal in real-time.  These chips treat each component of the algorithm
seperately so that they can be done in parallel, instead of serially on a
single processor box.  Now if the parallel processing DSP from Texas
Instruments (TMS32040 I think) drops to about $1 a chip, then we could put
a dozen of them on a board, with external sampling, and we would be in
business.

Note that the above timing analysis was done with a 50 MHz single-cycle DSP
chip, which is optimized for the heavy Multiple Accumulates required for
sound generation and processing.  This is very different than a CISC like a
486, which is a powerful chip, but not designed for signal processing. 

   The sound quality only depends on the DAC which converts it (besides the lack
   of analog filters or such stuff); but with a turtle beach card the output is
   CD like  (probably not with a Soundblaster).

In the real world you cannot get *true* 16-bits out of anything that is
plugged into a IBM PC compatible computer.  There is just too much
interference within the box. If you take a turtle beach card out of the PC
and seal it in lead, then maybe you can get true 16-bits with no noise.
That doesn't mean that a turtle beach card doesn't sound good.

--
Peter A. Barszczewski         |           .   .   .   .   .   .   .
(barsz@bnr.ca)                |        :    :    :    :    :    :    :
Bell-Northern Research, Ltd.  |     3     3     3     3     3     3     3
Montreal, Canada              |  D      D      D      D      D      D      D