# How to pass a Programmer Instrument through a sequence of FMOD events with effects?

**URL:** <https://qa.fmod.com/t/how-to-pass-a-programmer-instrument-through-a-sequence-of-fmod-events-with-effects/20091>\
**Category:** Unity\
**Created:** [April 10, 2023, 9:59pm UTC](https://qa.fmod.com/t/how-to-pass-a-programmer-instrument-through-a-sequence-of-fmod-events-with-effects/20091 "2023-04-10T21:59:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![torley-gallium](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/torley-gallium/32/3688_2.png) [@torley-gallium](https://qa.fmod.com/u/torley-gallium)\
**Post date:** [April 10, 2023, 9:59pm UTC](https://qa.fmod.com/t/how-to-pass-a-programmer-instrument-through-a-sequence-of-fmod-events-with-effects/20091/1 "2023-04-10T21:59:51Z")

</div>

Awhile back, [Jeff gave me some terrific things to think through](https://qa.fmod.com/t/best-practices-for-setting-up-and-organizing-a-single-programmer-instrument-to-be-effected-by-multiple-event-effects-chains/19083/2). I’m currently finding it more structurally succinct and easy-to-understand to have different events with a single Programmer Instrument in each, the idea being that each event has a different chain of DSP effects that will affect the Programmer Instrument’s raw sound. This seems more wieldy than having a whole long list of Sends, also for parameter automation purposes if I have 1-3 parameters exposed per event.

But, in revisiting some of this, is there a straightforward way I could have the Programmer Instrument passed through multiple events in serial, so it’s going like this:

Programmer Instrument ➜ Event 1 (fancy reverb) ➜ Event 2 (pitch shifters galore) ➜ Event 3 (filters in motion) ➜ and so on…

Or even in parallel? Where a single instance of Programmer Instrument is played through multiple effects-centric events at the same time?

The overall intent being that each event is just processing one raw signal source of sound in succession, and not stacking multiple instances of a Programmer Instrument.

---

<div class="post-metadata">

**Author:** ![Connor\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/connor_fmod/32/3685_2.png) [@Connor\_FMOD](https://qa.fmod.com/u/Connor_FMOD)\
**Post date:** [April 12, 2023, 12:12am UTC](https://qa.fmod.com/t/how-to-pass-a-programmer-instrument-through-a-sequence-of-fmod-events-with-effects/20091/2 "2023-04-12T00:12:45Z")

</div>

Hi,

An option might be using Transceivers ([FMOD API | Effect Reference - Transceivers](https://fmod.com/docs/2.02/api/effects-reference.html#transceiver)). Following Jeff’s of “using [parameters](https://fmod.com/docs/2.02/studio/authoring-events.html#parameters) to [automate](https://fmod.com/docs/2.02/studio/authoring-events.html#automation-and-modulation) the volume of the send would be the way to go. Here is a simple example using discrete parameters to set the send level to 0db when active and -∞db when inactive” however instead of a `send` it would be the `transceiver`.

Setting up the source `programmer sound` like so

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/2X/d/df910235dca2238ee655dc9df7fa2563fb4975f3.png)  
and then all following effects as so:  
 ![image](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/2X/c/c982f36f300af851fda17796de63c1bbf65bb299.png)

The issue with this set up being the more effects you have the more complex the parameter combinations will be.

I would suggest again Jeff’s other suggestion “Alternatively you could add effects to the event at runtime using [`System::createDSPByType`](https://fmod.com/docs/2.02/api/core-api-system.html#system_createdspbytype) and [`ChannelControl::addDSP`](https://fmod.com/docs/2.02/api/core-api-channelcontrol.html#channelcontrol_adddsp), which would allow you to setup effect chains in any order.”

Hope this helps!

---

<div class="post-metadata">

**Author:** ![torley-gallium](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/torley-gallium/32/3688_2.png) [@torley-gallium](https://qa.fmod.com/u/torley-gallium)\
**Post date:** [April 12, 2023, 1:45pm UTC](https://qa.fmod.com/t/how-to-pass-a-programmer-instrument-through-a-sequence-of-fmod-events-with-effects/20091/3 "2023-04-12T13:45:20Z")

</div>

@Connor_FMOD It sure does help! Thank you for taking the time to do this illustrated guide to helps clarify my thinking.
