[Stk] Drummer and Denormal

Gary Scavone gary@ccrma.Stanford.EDU
Wed, 16 Feb 2005 15:36:06 -0500


Hi Joel,

Thanks for the great feedback.

Yes, there are floating-point exception problems in the STK 
instruments.  I decided not to explicitly look for them because of the 
added computational cost of doing so.  But instruments, like the 
ModalBar and BandedWG, will likely have this problem.  I've been 
waiting (for about 8 years now) for the CPU manufacturers to implement 
a more sensible mechanism for dealing with floating-point exceptions 
(like truncation), but that doesn't seem to be happening.

Regards,

--gary

On Feb 16, 2005, at 3:17 PM, Joel Miller wrote:

> Hello Gary and Perry et al,
>
> I'm presently integrating all of the STK v4.2.0 instruments into a 
> Win2k VAE (SLAB, http://human-factors.arc.nasa.gov/SLAB).  All 
> instruments are accessed through the Instrmnt interface.  For the most 
> part, everything has worked quite well.  I did run into a couple 
> snags.
>
> In Drummer.cpp, Drummer::noteOn(), the noteNum calculation can resolve 
> to 135 for a frequency of 20kHz...  This exceeds the genMIDIMap array 
> of 128 elements.  A max check after the noteNum calc would prevent an 
> exception...
>
> In BandedWG (and possibly other instruments), every now and then the 
> CPU% shoots to 100% (compiled in release mode).  A NoteOn will reset 
> things back to normal CPU% behavior (~30%).  From the outside, this 
> looks like a denormalized math problem.  I imagine physical models 
> could easily head into this region as energy asymptotically dies down 
> towards 0...  Do the STK instruments check for denormalized values?  
> Are there any known denormal issues (e.g., specific instruments where 
> this is a problem)?  Does this sound like another problem?
>
> Thanks,
> --joel
>
>
>
> Joel D. Miller
> Audio DSP Engineer
> Spatial Auditory Displays Lab
> NASA Ames Research Center
> http://human-factors.arc.nasa.gov/ihh/spatial/
>
> _______________________________________________
> Stk mailing list
> Stk@ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/stk