FMOD 2.0 get spectrum data of Event Instance

Hello here,

I’m a newbie in fmod integration and I’m maybe asking something obvious.

As I’m trying to build a sound responsive post process, I need to get some Spectrum data.
I searched on this forum for a while, and I can’t seem to find a way to get a specific Event Instance’s waveform. Most of the time the method written is getting the waveform from a whole channel (usually master).
Is there any way to get the data from a specific emitter?

Thank you for your time.

In an example like: Getting spectrum of master channel in Unity...
It uses the Master ChannelGroup, although you could apply this to any ChannelGroup including the Events:
https://fmod.com/resources/documentation-api?version=2.0&page=studio-api-eventinstance.html#studio_eventinstance_getchannelgroup.

Hi! I was trying your example, but I get an error on
FMODUnity.RuntimeManager.LowlevelSystem.createDSPByType(FMOD.DSP_TYPE.FFT, out fft);
It says that LowlevelSystem is an unresolved symbol.
I’m using FMOD 2.00.01.

[edit] I just found out that I need to use
FMODUnity.RuntimeManager.CoreSystem

Thank you a lot for that code!

1 Like

Hi! I was wondering if it is possible to add this DPS to a bus’ channelgroup, instead of adding it to every single event, like this:

Bus selectedBus = RuntimeManager.GetBus(BusAddress);
selectedBus.getChannelGroup(out channelGroup);
channelGroup.addDSP(FMOD.CHANNELCONTROL_DSP_INDEX.HEAD, _fftDSP);

When I try, I get a ERR_STUDIO_NOT_LOADED on the GetChannelGroup call…

If you try to access the Bus before anything is playing through it, it may not exist yet. You can use Bus::lockChannelGroup to force the creation of the Bus, just make sure to call Bus::unlockChannelGroup when done with it.