home .. forth .. colorforth mail list archive ..

Re: [colorforth] Intellasys question for Jeff Fox



On Sat, 24 May 2008 gwenhwyfaer wrote: 

... here's a
suggestion for an interesting benchmark - the number of
voices of
MIDI-driven OPL2-style FM synthesis (at a 48k sample
rate) that each
chip can perform, complete with a subjective audio
quality comparison.
It's a nice realtime app; the specifications are fixed,
well known,
and quite implementation-independent; it doesn't need
multiplication
or large amounts of memory, but it can take advantage of
it if it's
there; the clock required for sample output has the
potential to test
interrupt latency; you end up with a nice little figure
at the end of
it; it scales down to the lowest PICs (which may manage
to get 1 voice
out, but not much more) and up to the scary fast GPUs
nVidia are
producing these days (millions of voices! eek!); it can
be implemented
easily in assembler, C or Forth; and it would provide
anyone
interested in synthesis with a ready-made demo app.


Nick here:  To which I add, why stick to poor quality FM
synthesis 
when there is better ground on which to compete?  As
witness, this 
clip from: 

http://dspwiki.com/index.php?title=Acoustic_Instrument_Resynthesis

1.  Fixed-waveform Additive Synthesis: Some software
packages and synthesizers let musicians create
waveforms by harmonic addition. 

[Nick here:  This is what I am doing with CF on a
Pentium]


2.  Phase:  ... the different starting points in the
phase of each individual harmonic frequency ... Proper
phase data help reassemble short-lived components of a
sound in their correct order, and are therefore
essential in reconstructing an analyzed sound.

[Nick here:  This is where I would like to go - trouble
is, most FFT 
studies on instrument timbre publish the frequencies
without their phase;
which is why, for Fourier synth, I use Fixed-waveform
method (1 above).

  
3.  CPU Demands: Time-varying additive synthesis makes
heavy demands on a digital music system. If we the
assumption that each sound event in a piece may have up
to 24 partials, and that up to sixteen events can be
playing simultaneously, we need 384 oscillators at any
given time. If this system sampling rate is 48 kHz, it
must be capable of generating 48,000 x 384 = 18,432,000
samples per second. If each sample requires about 768
operations, the total computational load is over 1.4
billion operations per second. This is all without
counting table-lookup operations, or control data. 

[Nick here:  This would be my slant on Gwenhyfaer's
suggestion for a music 
synth benchmark.  With CF on a 550 M Hz Pentium I can
manage a sampling rate 
of 256 k Hz for a "string quartet" that has 4 to 8
"voices" (sound events) with 
16 partials per voice.  I would hope to do ten times
better with a 4 G Hz Pentium
and a faster DAC; in which case I could try to improve
tone quality by adding 
more partials or adding phase (if I could find Fourier
phase data for strings).     
But this would hit the billion ops-per-second speed
barrier for a conventional 
CPU - so this might be where Intellasys parallel Forth
could shine. 

On Mon 26 May 2008, JF answered Gwenhyfaer by pointing
to Intellasys demo
of plucked string waveguide synth (Bach on a Guitar?): 


 Wasn't the 96k sample MIDI-driven FM synthesis and
waveguide
synthesis and more that has been demonstrated before and
where
voices were compared to Pentium and custom chips where
people
could do subjective audio quality comparisons sufficient
to
figure where chips that didn't beat Pentium would
fit in a comparison?

[Nick here:  I have not heard the Intellasys demo, but
am not impressed 
by the quality of sound from either FM or waveguide
synth. Neither method 
is computationally intensive; which is why I suggest a
better benchmark 
would be Fourier synth (3, above).  


Caritas,

Nick


PS:  I can't resist stirring a bit of controversy by
quoting this view from Al Steffens: 

Alfred Steffens Jr  apsteffe@xxxxxxxxxxx 

Of all the physical modeling techniques, I am the least
interested in the digital waveguide synthesis
algorithm. It seems like a lot of work (and hype) over
a result that can be created easier with a pencil and
paper and a fourier series calculation. There is
nothing easier to "model" than the sound of a plucked
string. The mathematics for this has been known for at
least a hundred years (see J.W.S. Rayleigh, The Theory
of Sound, 1895). And in the end, the digital waveguide
technique is severely limited. The phenomenon of two
oppositely traveling waves combining into a standing
wave is a special circumstance in one-dimension.


---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com