[Stk] Drummer and Denormal

Joel Miller jdmiller@mail.arc.nasa.gov
Wed, 16 Feb 2005 12:17:38 -0800


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/