[gmpi] Re: Topic 7.1: Channel Formats

  • From: RonKuper@xxxxxxxxxxxx
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Wed, 4 Jun 2003 12:22:35 -0400

>>>
I've not yet seen any convincing arguments or test-cases to support the need
for double audio i/o or interleaving.
<<<

(1) Need for double audio:  DSP "kernels" require double precision float to
retain sufficient accuracy.  A modular synth builder or effects builder
environment will have processing elements that are in essence DSP kernels,
such as biquads, delay lines, etc.  We should be able to package these
processing elements as GMPI objects.  Therefore, if we don't allow them to
stream doubles to each, they cannot have the math precision needed.

(1a) Need to not do do double everywhere.  Double takes up 2x RAM = 2x L1
cache as float.  For ordinary interconnects, where retained accuracy isn't
as much an issue, halving the memory footprint equals a performance gain.

(2) Need for interleaving:  Surround applications are likely to have serial
chains of effects processors that accept multichannel audio.  Applying
volume/pan to a multichannel stream is akin to a vector dot product, where
one vector is the interleaved sample value and the other is the per-channel
gain.  Vector dot products can be performed more efficiently, with less
cache pollution, using SIMD instructions.  Therefore, if we don't allow
interleaving, surround applications are going to suffer degraded performance
because they won't be able to fully leverage parallelism -- they will be
forced to do surround gain as uninterleaved SISD, whose performance has been
deprecated on newer Pentium systems.

----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: