DPS SDK Usage Overview

Using Bongiovi DPS audio processing library

  • The Bongiovi DPS audio processing library is used within an audio processing loop such as a ring buffer, DMA buffer, render callback or any other audio stream.
  • Call the DPSProcessBuffer function with the a buffer of floating point or integer audio samples (currently 32bit float and 16bit integer signed formats are supported).  The function returns a buffer of amazing audio!
    • The DPSProcessBuffer function does take a buffer size, but the algorithm processes audio one sample at a time (time domain processing).
    • Latency may be as low as the system’s minimum buffer size allows.
    • DPSProcessBuffer also takes a channel count so mono or multichannel audio processing is possible.
    • Currently the same effect will apply to all channels.
    • Different effects for each channel (for surround sound processing) is coming soon.
  • Use DPSSetSampleRate to allow DPS to work with audio in any sample rate.

Bongiovi SDK Sample Apps

All Evaluation Packages contains an application development project.  This project is designed to give you an example of how to use the Bongiovi DPS libraries in your application.  NOTE:  The sample apps may contain deprecated functions for the respective platform.  However, the DPS library is always kept up-to-date.

To fully evaluate the sound of Bongiovi DPS processing, please request the Android SDK package (it contains a demo application) or visit BongioviDPS.com to try the Mac or Windows versions as a system-wide audio effect for your computer.

Basic Usage of the Bongiovi DPS API

A standard application will execute these functions when using the DPS library:

  1. Initialize the DPS Library – This validates the license and allocates memory.
  2. Load a DPS Profile – The DPS profile contains all parameters used to customize the sound of an audio device or application.
  3. Call the DPSProcessBuffer function in your audio stream.  This function receives an audio buffer and returns that buffer with DPS processing applied.
  4. Turn DPS Processing on – Call the DPSEnabled function to hear the effect on your audio stream.
  5. Implement the user API commands (see below) to tweak the sound to your preference.

User API Options

  • Use the User Volume Control to adjust volume level.  This allows the DPS processing to adapt to the listening level desired by the user.  The effect is better bass at lower volumes and speaker/distortion protection at higher volume levels.
  • Use the DPS Set Stereo Widen Amount functions to enable, increase or decrease the amount of stereo enhancement for a clean, clear virtual surround effect on speakers.
  • Use the new V3D Headphone Enhancer modes for 3D, stereo and mono effects.
  • Use DPSSetKidSafe to turn on KidSafe/DPS HEAR audio level protection.  This adjusts the parameters of the Bongiovi DPS algorithm to provide quality sound at a healthier listening volume.
  • Use FcKnobMoved, QKnobMoved and GKnobMoved to control the user equalizer.

Click Here for more details about the Bongiovi DPS API.