BASS Threaded Mixer Library

Started by 3delite,

3delite

Hi!

Beta of BASS Threaded Mixer Library is released.

BASS Threaded Mixer Library is a BASS add-on that implements a BASS mixer channel which mixes the plugged-in source channels in separate parallel threads to be used with professional low-latency ASIO output.
The more sources are added and the more DSP/processing is needed for the sources the more effective the library is compared to single threaded processing.
The library is especially useful for CPUs that have limited single-core performance but have a lot of cores, like the octa-core AMD CPUs.

Features:
  • Add any number of source channels to the mixer
  • When only 1 source is plugged-in no threading is performed
  • Achieve nearly real-time, low-latency ASIO output with heavy DSP/processing of the sources
  • Multiply off-line processing speed (BASS_ChannelGetData call) by the number of CPU cores in the system
  • Matrix mixing supported

Official home page: BASS Threaded Mixer Library

Demo app. to test and compare the difference with multi-threaded processing and Delphi and C++ API included in the package.

rv

Did you made some comparatives measurement with and without your library.
What is the gain values in your testings?

3delite

As I wrote there is a demo app. in the package you can check with your setup.

I have an i7 4790K which is the 2. fastest single core cpu today. With it the lowest speed gain is 2x. With heavy processing I got increase around 3x.

But I would be interested in the results of other setups too.

3delite

The package has been updated, updates since first post:

  • Added BASS_ThreadedMixer_SetMatrix()
  • Fixed output when only 1 source is plugged-in
  • Fixed BASS_ThreadedMixer_RemoveSource()
  • Added automatic removal of source when the source channel is freed