# Help monitoring output levels

**URL:** https://qa.fmod.com/t/help-monitoring-output-levels/15447
**Category:** FMOD Engine
**Created:** [February 7, 2020, 3:42pm UTC](https://qa.fmod.com/t/help-monitoring-output-levels/15447 "2020-02-07T15:42:21Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![MarsAstro](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@MarsAstro](https://qa.fmod.com/u/MarsAstro)
#### Post date: [February 7, 2020, 3:42pm UTC](https://qa.fmod.com/t/help-monitoring-output-levels/15447/1 "2020-02-07T15:42:21Z")

</div>

Hey, I need some help understanding how to monitor the output level of an event instance. I’ve looked around and ended up with this function, which compiles and executes, but only outputs 0.0. I’m writing this code using the Unreal Engine FMOD API.

```
float UAudioFunctions::GetOutputLevel(FFMODEventInstance instance)
{
	FMOD::ChannelGroup* group;
	FMOD::DSP* dsp;
	FMOD_DSP_METERING_INFO* input = new FMOD_DSP_METERING_INFO();
	FMOD_DSP_METERING_INFO* output = new FMOD_DSP_METERING_INFO();
	
	instance.Instance->getChannelGroup(&group);
	group->getDSP(0, &dsp);
	dsp->getMeteringInfo(input, output);

	return output->rmslevel[0];
}

```

I also made this function which I call on the same EventInstance beforehand:

```
void UAudioFunctions::SetChannelGroupMeteringEnabled(FFMODEventInstance instance, bool isEnabled)
{
	FMOD::ChannelGroup* group;
	FMOD::DSP* dsp;
	
	instance.Instance->getChannelGroup(&group);
	group->getDSP(0, &dsp);
	dsp->setMeteringEnabled(false, isEnabled);
}

```

I’ve tried looking for answers, but I can only find vague half-answers. What is a channel group? What is a DSP? Why do I need to get the DSP head? What is the DSP head? Why are there 32 “channels” in the rmslevel and peaklevel of the DSP’s meteringinfo, and what do each of them represent?

I’m just hopelessly lost and honestly have no idea what I’m doing or how to accomplish what I want. I just need to be able to monitor the volume/amplitude levels of the event while it’s playing for animation purposes. Any number between a predictable range that matches how loud the playing EventInstance is at any given time will work for me. Please help!

---

<div class="post-metadata">

### Author: ![brett](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/brett/32/261_2.png) [@brett](https://qa.fmod.com/u/brett)
#### Post date: [February 7, 2020, 9:49pm UTC](https://qa.fmod.com/t/help-monitoring-output-levels/15447/2 "2020-02-07T21:49:25Z")

</div>

You should probably start here [https://www.fmod.com/resources/documentation-api?version=2.0&page=white-papers-terminology.html](https://www.fmod.com/resources/documentation-api?version=2.0&page=white-papers-terminology.html)  
and maybe here  
[https://www.fmod.com/resources/documentation-api?version=2.0&page=white-papers-dsp-architecture.html](https://www.fmod.com/resources/documentation-api?version=2.0&page=white-papers-dsp-architecture.html)

---

<div class="post-metadata">

### Author: ![MarsAstro](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@MarsAstro](https://qa.fmod.com/u/MarsAstro)
#### Post date: [February 11, 2020, 3:41pm UTC](https://qa.fmod.com/t/help-monitoring-output-levels/15447/3 "2020-02-11T15:41:04Z")

</div>

Thanks, that helps a little bit with some of the terminology. I’m still lost on the API, though. Still feel like I have no idea what I’m doing, and I don’t know what I’m doing wrong in terms of getting metering info from the EventInstance.

---

<div class="post-metadata">

### Author: ![brett](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/brett/32/261_2.png) [@brett](https://qa.fmod.com/u/brett)
#### Post date: [February 19, 2020, 3:33am UTC](https://qa.fmod.com/t/help-monitoring-output-levels/15447/4 "2020-02-19T03:33:26Z")

</div>

Hi ,  
Your code looks about right but I cant see what would be happening in your code that might be causing a problem. You can try checking all error codes from fmod functions.

---

<div class="post-metadata">

### Author: ![MarsAstro](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@MarsAstro](https://qa.fmod.com/u/MarsAstro)
#### Post date: [February 19, 2020, 3:07pm UTC](https://qa.fmod.com/t/help-monitoring-output-levels/15447/5 "2020-02-19T15:07:32Z")

</div>

I’ve looked more into it and came upon a potential issue.

Detailed it in a new question here:

> [@Do I need to call update every frame?](https://qa.fmod.com/t/do-i-need-to-call-update-every-frame/15472):
>
> Hello! I’m trying to do some metering for volume levels on an event instance. I have some code that feels to me like it should work, but it only ever outputs 0.0 for all rmslevel channels. I found this old topic: I tried to find a way to call FMOD::System::update every frame (as the post implies to be the issue), seemingly I needed to do something called low level API initialization. However, all the examples I found used code that did not exist/compile with my FMOD plugin version. So, I’m w…
