Community Q&A

Welcome to Audiokinetic’s community-driven Q&A forum. This is the place where Wwise and Strata users help each other out. For direct help from our team, please use the Support Tickets page. To report a bug, use the Bug Report option in the Audiokinetic Launcher. (Note that Bug Reports submitted to the Q&A forum will be rejected. Using our dedicated Bug Report system ensures your report is seen by the right people and has the best chance of being fixed.)

To get the best answers quickly, follow these tips when posting a question:

  • Be Specific: What are you trying to achieve, or what specific issue are you running into?
  • Include Key Details: Include details like your Wwise and game engine versions, operating system, etc.
  • Explain What You've Tried: Let others know what troubleshooting steps you've already taken.
  • Focus on the Facts: Describe the technical facts of your issue. Focusing on the problem helps others find a solution quickly.

+3 votes
Is it posibble to get the spectrum data of a bus with the API?

I need to visualize the signal strength of audio that is being played in the game.
in General Discussion by Milan G. (190 points)

1 Answer

+1 vote

This is not exposed in the API directly.  However, there are some techniques for that:

Method 1 (require coding)

Create your own Effect plug-in.  You will receive the raw PCM data. You could, for example, use an FFT to extract the spectrum, and send it to your game directly.

You can take a look at the following help section in the Wwise SDK Documentation:​
https://www.audiokinetic.com/library/edge/?source=SDK&id=goingfurther__newplugins.html

You will be able to look at the Delay plug-in as an example.
SDK\samples\Plugins\AkDelay

Method 2 (less precise, but no coding)

For a 3 bands spectrum:

  1. Create 3 game param: Low, Mid, Hi
  2. For each game param: Set ranges from -48 to 0
  3. Create aux bus: auxLow
  4. In effect tab of aux bus, add:
    1. Wwise Parametric EQ: Low Pass, 200hz
    2. Wwise Meter: Output: Low
    3. Wwise Gain: Full-Band Channels: -96
  5. Create aux bus: auxMid
  6. In effect tab of aux bus, add:
    1. Wwise Parametric EQ: Low Pass, 1000hz, High Pass, 200hz
    2. Wwise Meter: Output: Mid
    3. Wwise Gain: Full-Band Channels: -96
  7. Create aux bus: auxHi
  8. In effect tab of aux bus, add:
    1. Wwise Parametric EQ: High Pass, 1000hz
    2. Wwise Meter: Output: Hi
    3. Wwise Gain: Full-Band Channels: -96
  9. Send your sound to 3 aux bus: auxLo, auxMid, auxHi
Then, monitor the game parameters from Wwise directly, or using AK::SoundEngine::Query::GetRTPCValue.
by Bernard R. (Audiokinetic) (35.8k points)
edited by Bernard R. (Audiokinetic)
Is it possible to use the 2nd method here, but target only specific audio events? Currently this method gets all of the audio going thru the channels.
Can there be some clarification on how to send data from a plugin to the game engine, especially for commercial engines like Unreal or Unity?
...