# Event/Sound routing at realtime, spectrum data

**URL:** <https://qa.fmod.com/t/event-sound-routing-at-realtime-spectrum-data/23954>\
**Category:** Unity\
**Tags:** unity, csharp\
**Created:** [January 30, 2026, 12:26pm UTC](https://qa.fmod.com/t/event-sound-routing-at-realtime-spectrum-data/23954 "2026-01-30T12:26:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![aurdau2](https://avatars.discourse-cdn.com/v4/letter/a/ea666f/32.png) [@aurdau2](https://qa.fmod.com/u/aurdau2)\
**Post date:** [January 30, 2026, 12:26pm UTC](https://qa.fmod.com/t/event-sound-routing-at-realtime-spectrum-data/23954/1 "2026-01-30T12:26:01Z")

</div>

Hello,

We are making a splitscreen game where audio should be played on different devices. To send audio we need to get audio spectrum data. Is there any way to route events to only obtain their spectrum data and not get the entire master output?

We saw a post about having multiple FMOD.Studio.System systems, but trying to get system specific spectrum data we still get the entire master. Is such audio splitting at realtime even possible?

---

<div class="post-metadata">

**Author:** ![jeff\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/jeff_fmod/32/1766_2.png) [@jeff\_fmod](https://qa.fmod.com/u/jeff_fmod)\
**Post date:** [February 2, 2026, 10:58pm UTC](https://qa.fmod.com/t/event-sound-routing-at-realtime-spectrum-data/23954/2 "2026-02-02T22:58:56Z")

</div>

You can get FFT data from a single event, single track, or single instrument by appending an [FFT DSP](https://fmod.com/docs/2.03/api/effects-reference.html#fft) to the head of the [`Channel`](https://fmod.com/docs/2.03/api/core-api-channel.html) or [`ChannelGroup`](https://fmod.com/docs/2.03/api/core-api-channelgroup.html) that you would like to get the audio spectrum data of. Using the [Spectrum Analysis Example](https://fmod.com/docs/2.03/unity/examples-spectrum-analysis.html) as a base, you could get the spectrum of a playing event with:

```csharp
// Play your event instance
FMOD.Studio.EventInstance instance = FMODUnity.RuntimeManager.CreateInstance("path/to/your/event");
instance.start();

if (FMODUnity.RuntimeManager.CoreSystem.createDSPByType(FMOD.DSP_TYPE.FFT, out mFFT) == FMOD.RESULT.OK)
{
    mFFT.setParameterInt((int)FMOD.DSP_FFT.WINDOW, (int)FMOD.DSP_FFT_WINDOW_TYPE.HANNING);
    mFFT.setParameterInt((int)FMOD.DSP_FFT.WINDOWSIZE, WindowSize * 2);
    FMODUnity.RuntimeManager.StudioSystem.flushCommands();

    // Get the event instance's channel group
    FMOD.ChannelGroup channelGroup;
    if (instance.getChannelGroup(out channelGroup) == FMOD.RESULT.OK)
    {
        // Add fft to the channel group
        if (channelGroup.addDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, mFFT) != FMOD.RESULT.OK)
        {
            Debug.LogWarningFormat("FMOD: Unable to add mFFT to the channel group");
        }
    }
}

```
