# DSP Network graph related questions

**URL:** <https://qa.fmod.com/t/dsp-network-graph-related-questions/14800>\
**Category:** FMOD Engine\
**Created:** [June 22, 2019, 5:02pm UTC](https://qa.fmod.com/t/dsp-network-graph-related-questions/14800 "2019-06-22T17:02:17Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jiyongman](https://avatars.discourse-cdn.com/v4/letter/j/ebca7d/32.png) [@jiyongman](https://qa.fmod.com/u/jiyongman)\
**Post date:** [June 22, 2019, 5:02pm UTC](https://qa.fmod.com/t/dsp-network-graph-related-questions/14800/1 "2019-06-22T17:02:17Z")

</div>

I read though [this](https://fmod.com/resources/documentation-api?version=2.0&page=white-papers-dsp-architecture.html) wonderful document and it’s very very helpful.

Even though it clarified almost everything I wanted to know, I came up with a few more questions.

1. Do I need to use FMOD\_Channel\_SetPaused(FALSE) before modifying a DSP network graph when a sound is already playing?

2. Do I need FMOD\_INIT\_PROFILE\_ENABLE when I put FMOD\_INIT\_PROFILE\_METER\_ALL flag already?  
I tried without the FMOD\_INIT\_PROFILE\_ENABLE flag but worked fine!

Thanks to the FMOD Profiler tool, I could find the cause of noises in my application.  
In certain situations, such as playing too many sounds at the same time, green level meters turned red.  
So I’m thinking of adjusting volume, but I’m not sure because I think it may vary depending on platforms and hardware.

1. If the code and resource sound files are exactly the same, will the FMOD’s internal (software level) meters be always the same as well on other OSs and devices? (eg. WASAPI, ASIO, OpenSL ES, Android, iOS, MacOS, Windows, Linux)

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [June 30, 2019, 11:10pm UTC](https://qa.fmod.com/t/dsp-network-graph-related-questions/14800/2 "2019-06-30T23:10:21Z")

</div>

> [@jiyongman](#):
>
> Do I need to use FMOD\_Channel\_SetPaused(FALSE) before modifying a DSP network graph when a sound is already playing?

You don’t need to pause the channel to manipulate the graph, you do have to remove a DSP before you release it though.

> [@jiyongman](#):
>
> Do I need FMOD\_INIT\_PROFILE\_ENABLE when I put FMOD\_INIT\_PROFILE\_METER\_ALL flag already?

FMOD\_INIT\_PROFILE\_METER\_ALL implies FMOD\_INIT\_PROFILE\_ENABLE. I have added a task to fix the docs to make this clearer.

> [@jiyongman](#):
>
> If the code and resource sound files are exactly the same, will the FMOD’s internal (software level) meters be always the same as well on other OSs and devices?

If the code and sound files are the same then FMODs levels will be the same, there may be some subtle differences but it should not be noticeable in the mix.

---

<div class="post-metadata">

**Author:** ![jiyongman](https://avatars.discourse-cdn.com/v4/letter/j/ebca7d/32.png) [@jiyongman](https://qa.fmod.com/u/jiyongman)\
**Post date:** [July 1, 2019, 7:01pm UTC](https://qa.fmod.com/t/dsp-network-graph-related-questions/14800/3 "2019-07-01T19:01:50Z")

</div>

Thank you very much!

---

<div class="post-metadata">

**Author:** ![jiyongman](https://avatars.discourse-cdn.com/v4/letter/j/ebca7d/32.png) [@jiyongman](https://qa.fmod.com/u/jiyongman)\
**Post date:** [July 2, 2019, 8:39am UTC](https://qa.fmod.com/t/dsp-network-graph-related-questions/14800/4 "2019-07-02T08:39:13Z")

</div>

Sorry but I want to ask the question No.1 again.  
I just noticed I made a stupid mistake there.  
What I really meant was FMOD\_Channel\_SetPaused(channel, TRUE).

I asked the question because long time ago you gave me an advice to write code like this :  
(Also, I saw similar examples several times from the API reference here)

FMOD\_System\_PlaySound(g\_System, sound, NULL, TRUE, &channel);  
FMOD\_Channel\_SetPitch(channel, curPitch);  
FMOD\_Channel\_AddDSP(channel, FMOD\_CHANNELCONTROL\_DSP\_TAIL, g\_DSP\_pitch);  
FMOD\_Channel\_AddDSP(channel, FMOD\_CHANNELCONTROL\_DSP\_TAIL, g\_DSP\_reverb);  
FMOD\_Channel\_SetPaused(channel, FALSE);

You said, this way, I could avoid unwanted noises.  
At that time, I just thought this had something to do with setting a DSP’s value, in this case, pitch.  
But now I wonder if it’s better to call pause and unpause functions before and after adding or removing a DSP all the time.

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [July 2, 2019, 11:01pm UTC](https://qa.fmod.com/t/dsp-network-graph-related-questions/14800/5 "2019-07-02T23:01:54Z")

</div>

You can pause the sound while you make changes but you don’t need to.

> [@jiyongman](#):
>
> FMOD\_System\_PlaySound(g\_System, sound, NULL, TRUE, &channel);  
> FMOD\_Channel\_SetPitch(channel, curPitch);  
> FMOD\_Channel\_AddDSP(channel, FMOD\_CHANNELCONTROL\_DSP\_TAIL, g\_DSP\_pitch);  
> FMOD\_Channel\_AddDSP(channel, FMOD\_CHANNELCONTROL\_DSP\_TAIL, g\_DSP\_reverb);  
> FMOD\_Channel\_SetPaused(channel, FALSE);

The reason to do it like this is because the sound will start before the DSP’s have been added or the pitch has been adjusted, meaning they will come into effect but not necessarily immediately. By pausing the sound when it is created you are ensuring that it won’t start playing until after the effects are added.

---

<div class="post-metadata">

**Author:** ![jiyongman](https://avatars.discourse-cdn.com/v4/letter/j/ebca7d/32.png) [@jiyongman](https://qa.fmod.com/u/jiyongman)\
**Post date:** [July 2, 2019, 11:37pm UTC](https://qa.fmod.com/t/dsp-network-graph-related-questions/14800/6 "2019-07-02T23:37:00Z")

</div>

Thanks! Great! Luv u!
