From: timo@picea.hut.fi (Timo Veijola)
Subject: Re: Discussion on PC based Synthesizer/Sampler
Organization: Helsinki University of Technology, Finland
Date: 15 Dec 92 06:17:46 GMT

lieblm@Informatik.TU-Muenchen.DE (Martin Liebl) writes:



>Hi all you Computer/Music Freaks !

>With all this multimedia stuff being announced these days, I am carrying the
>idea of a PCM-synthesizer completely based on PC hard- and software, and would
>like to hear any opinions on this subject.

Short comment before any details: You cannot do it without special hardware;
sample player could be possible.

>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 ???

I've an project on building a sample player (not synthesizer). I've written
already a sequencer program and I've made some experiments to add sample
playing features to it. Here is my present status and the goal:

                    PRESENT                       GOAL
D/A -converter:     Resistor ladder connecter     16 bit external D/A converter
                    to LPT-port (8 bit)
Sample size         8 bit                         16 bit
Velosity switch     NO                            YES
Velosity mix        NO                            YES
Multi sampled       YES                           YES
Simultaneous notes  4                             16
Looped samples      YES                           YES
Sustain             YES                           YES
Envelope shaping    NO                            YES
Smart voice alloc.  NO                            YES
Picth wheel         NO                            YES
Program change      NO                            YES
Channel pressure
 and expression     NO                            NO
Stereo samples      NO                            NO
Samples/msec        5,11,22                       5,11,22

My machine is 20 MHz 386 and it seems that 4 simultaneus notes (11kHz) 
is the maximum with that hardware. The driver is written taking full 
advantage of 386 instructions (assembler, of course). In the driver one
MUL and one DIV command is used in every sample point for each playing
sample. The calculations inside the driver are made using 16 integer 
arithmetics. The limiting to 8 bit is made using pre-calculated lookup 
table (size is 2k). The limiting function is arctan().

I've used the multi-sample feature by assigning different drum samples
to different synth keys. I haven't got any multi-sampled instrument
samples. Could anybony tell me where to get these ?

Using a 50 MHz 486 processor 16 simultaneus playing samples could be 
archived. Adding envelope shaping and 16 bit samples could decrease this
number. The other "GOALS" do not affect to the maximum sample count.

>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).
>How about the computer ?  Memory wouldn't be a problem, but how about the
>necessary CPU speed ? It certainly must be fast, but would a 486 be enough ???
>Do I need customized DSP's to get by ?

When building a sample player the memory IS a problem. However, removing
segment size limitations, all PC memory can be accessed using linear 32 
bit addresses, without any time penalty.

>I would be delighted to hear some opinions from you!
>Be honest, we all are dreaming of a complete keyboarder's equipment 
>only consisting of a master keyboard and a laptop, and not spending $2000 for
>a device which does good pianos, another $2000 for one which is good for
>strings, etc. (and every 3 years throwing it all away because there are new
>modules with even better pianos, even better strings an so on)

>Bye,
>		Martin


>&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
>&&&&&   Martin J. Liebl                                         &&&&&
>&&&&&   Hartstr.17, D-8057 Eching, Germany                      &&&&&
>&&&&&   Email: lieblm@sunbode12.informatik.tu-muenchen.de       &&&&&
>&&&&&   Project: Practical Experiments On Murphy's Law ...      &&&&&
>&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Timo Veijola
timo@aplac.hut.fi

Newsgroups: rec.music.makers.synth