# Trying to route sound to another position programmatically but the result is quiet and has constant stutter

**URL:** <https://qa.fmod.com/t/trying-to-route-sound-to-another-position-programmatically-but-the-result-is-quiet-and-has-constant-stutter/19673>\
**Category:** FMOD Engine\
**Created:** [December 23, 2022, 2:21am UTC](https://qa.fmod.com/t/trying-to-route-sound-to-another-position-programmatically-but-the-result-is-quiet-and-has-constant-stutter/19673 "2022-12-23T02:21:58Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![chrane](https://avatars.discourse-cdn.com/v4/letter/c/f1d935/32.png) [@chrane](https://qa.fmod.com/u/chrane)\
**Post date:** [December 23, 2022, 2:21am UTC](https://qa.fmod.com/t/trying-to-route-sound-to-another-position-programmatically-but-the-result-is-quiet-and-has-constant-stutter/19673/1 "2022-12-23T02:21:58Z")

</div>

Working on a feature for our project similar to Wwise’s multi position. I was experimenting with splitting the signal before the spatializer, and add a connection to another spatializer. Basically the pre-spatializer dsp signal goes into two spatializers in parallel, and then I’ll just tune the mix on the connections to both spatializes to mix between the real sound source and the virtual sound source.

When using this approach, it seems like whatever value I passed into `FMOD_DSP_PAN_3D_POSITION` doesn’t matter. The sound seems to always play at the listener’s location. (I could be wrong here, I think this was working when we were using FMOD 2.1, now we are on 2.2.08)

Then I tried creating a new channel group as the virtual sound source, split and route the pre-spatializer signal there, try to pass the location I want the sound to play at to `set3DAttribute` . It seems to be working but the output is really quiet compare to the original signal. When I turned up the volume, I can hear stuttering.

We will have different locations for different sound instances even if they are the same event. Any suggestions on what’s the best why to achieve this feature? Thanks in advance!

---

<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:** [December 23, 2022, 6:05am UTC](https://qa.fmod.com/t/trying-to-route-sound-to-another-position-programmatically-but-the-result-is-quiet-and-has-constant-stutter/19673/2 "2022-12-23T06:05:57Z")

</div>

Hi,

Something that might help you achieve the functionality you are looking for is our Transceivers ([FMOD API | Effects Reference](https://fmod.com/docs/2.02/api/effects-reference.html#transceiver)), they are an effect that you can add to an event.

Hope this helps!

---

<div class="post-metadata">

**Author:** ![chrane](https://avatars.discourse-cdn.com/v4/letter/c/f1d935/32.png) [@chrane](https://qa.fmod.com/u/chrane)\
**Post date:** [December 23, 2022, 6:27pm UTC](https://qa.fmod.com/t/trying-to-route-sound-to-another-position-programmatically-but-the-result-is-quiet-and-has-constant-stutter/19673/3 "2022-12-23T18:27:18Z")

</div>

@Connor_FMOD Thanks for the answer! I’ve looked into Transceivers for a little bit and have a couple follow-up questions.

1. Is it possible to route the signal without creating new event instances? Basically I want the signal from the event instance to be played at multiple locations some time, and the “if to play at multiple locations”, “where are these locations” are all decided during runtime calculation.
2. How to let Transceiver know where I want the signal to play? For the panning effect there’s the `FMOD_DSP_PAN_3D_POSITION` parameter, but I don’t see anything similar on `FMOD_DSP_TRANSCEIVER ` parameters.
3. Is it possible to have more than 32 channels?

---

<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:** [December 29, 2022, 3:02am UTC](https://qa.fmod.com/t/trying-to-route-sound-to-another-position-programmatically-but-the-result-is-quiet-and-has-constant-stutter/19673/4 "2022-12-29T03:02:35Z")

</div>

> [@chrane](#):
>
> Is it possible to route the signal without creating new event instances?

In reference to the source event, you will only need one instance of this. However, for every different position you want to place the receivers they will have to be new instances.

> [@chrane](#):
>
> I want the signal from the event instance to be played at multiple locations some time, and the “if to play at multiple locations”, “where are these locations” are all decided during runtime calculation.

This is exactly what transceivers will allow you to accomplish.

> [@chrane](#):
>
> How to let Transceiver know where I want the signal to play? For the panning effect there’s the `FMOD_DSP_PAN_3D_POSITION` parameter, but I don’t see anything similar on `FMOD_DSP_TRANSCEIVER ` parameters.

As they are their own events, they can have their positions set during runtime and moved around while they receive signals.

> [@chrane](#):
>
> Is it possible to have more than 32 channels?

Unfortunately not, that is the maximum.

I will link you to our feature demo on GitHub here: [GitHub - fmod/unity-feature-demo: Demonstration of FMOD Studio features within Unity using the FMOD For Unity integration.](https://github.com/fmod/unity-feature-demo), which has an example of transceivers in action.

Hope this helps!
