社区问答

欢迎来到 Audiokinetic 社区问答论坛。在此,Wwise 和 Strata 用户可互帮互助。如需我们团队直接提供协助,请前往技术支持申请单页面。若要报告问题,请在 Audiokinetic Launcher 中选择“报告错误”选项(注意,问答论坛并不会接收错误报告)。我们内部设有专门的错误报告系统,会有专人查看报告并设法解决问题。

要想尽快得到满意的解答,请在提问时注意以下几点:

  • 描述尽量具体:比如,想达到什么样的目的,或者具体哪里有问题。
  • 包含关键细节:比如,Wwise 和游戏引擎版本以及所用操作系统等等。
  • 阐明所做努力:阐明自己为了排除故障都采取了哪些措施。
  • 聚焦问题本身:聚焦于问题本身的相关技术细节,以便别人可以快速找到解决方案。

+3 投票
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.
分类:General Discussion | 用户: Milan G. (190 分)

1个回答

+1 投票

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.
用户: Bernard R. (Audiokinetic) (35.8k 分)
修改于 用户: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?
...