# Fmod Unreal Spectrum visualizer

**URL:** <https://qa.fmod.com/t/fmod-unreal-spectrum-visualizer/19920>\
**Category:** Unreal Engine\
**Tags:** ue4, cpp\
**Created:** [March 1, 2023, 5:25pm UTC](https://qa.fmod.com/t/fmod-unreal-spectrum-visualizer/19920 "2023-03-01T17:25:26Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![NotoriousLou](https://avatars.discourse-cdn.com/v4/letter/n/73ab20/32.png) [@NotoriousLou](https://qa.fmod.com/u/NotoriousLou)\
**Post date:** [March 1, 2023, 5:25pm UTC](https://qa.fmod.com/t/fmod-unreal-spectrum-visualizer/19920/1 "2023-03-01T17:25:26Z")

</div>

Hi everyone,  
I am designing a game on Unreal 4.27 with music interactions. I am using Fmod to play the game’s music and I am trying to build a c++ actor that can analyze currently playing audio.

I saw this example in Unity : [https://www.fmod.com/docs/2.01/unity/examples-spectrum-analysis.html](https://www.fmod.com/docs/2.01/unity/examples-spectrum-analysis.html) which seems to be doing what I want to achieve.

But I am stuck pretty quickly, as I am trying to get the master Bus, here is what I’ve done so far :

```auto
SoundManager_Fmod::SoundManager_Fmod(): selectedBus()
{
	userData.studioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime);
	userData.studioSystem->getCoreSystem(&userData.coreSystem);
}

int SoundManager_Fmod::initializeBus()
{
	mFFT->setParameterInt((int)FMOD_DSP_FFT_WINDOWTYPE, (int)FMOD_DSP_FFT_WINDOW_HANNING);
	mFFT->setParameterInt((int)FMOD_DSP_FFT_WINDOWSIZE,WindowSize*2);
	userData.studioSystem->flushCommands();

	const FString busPathFstring = FPaths::ProjectContentDir() + "FMOD/" + "Bus/" ;
	
	FMOD_RESULT result = userData.studioSystem->getBus(TCHAR_TO_ANSI(*busPathFstring), selectedBus);
	
	if(result == FMOD_OK)
	{
		UE_LOG(LogTemp, Warning, TEXT("It's working !"));
	}

	UE_LOG(LogTemp, Warning, TEXT("It is not working"));
	
	return 0;
	
}

```

Here are the .h parts :

```auto
struct UserData
{
	FMOD::System* coreSystem = nullptr;
	FMOD::Studio::System* studioSystem = nullptr;
	FString key = FString();
};

protected:
	UserData userData = UserData();
		
private:
	FMOD_STUDIO_BANK** musicBank = nullptr;
	FMOD::Studio::Bus** selectedBus = nullptr;
	FMOD::DSP* mFFT = nullptr;
	float* mFFTSpetrum;
	const int WindowSize = 1024;

	FMOD::Studio::System* system;

```

So apparently my method for getting the master Bus is not working as it always prints “It is not working”, what am I doing wrong ?

For info : my music is in a dedicated Bank named “Music”

---

<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:** [March 2, 2023, 3:31am UTC](https://qa.fmod.com/t/fmod-unreal-spectrum-visualizer/19920/2 "2023-03-02T03:31:20Z")

</div>

Hi,

Thank you for providing the code snippets. Would it be possible to get a stripped-out version of the project to test on my side either uploaded to your [Profile](https://fmod.com/profile#uploads) or DM’d to me?

---

<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:** [March 22, 2023, 1:44am UTC](https://qa.fmod.com/t/fmod-unreal-spectrum-visualizer/19920/3 "2023-03-22T01:44:53Z")

</div>

The solution was changing:

```auto
	const FString busPathFstring = FPaths::ProjectContentDir() + "FMOD/" + "Bus/" ;
	
	FMOD_RESULT result = userData.studioSystem->getBus(TCHAR_TO_ANSI(*busPathFstring), selectedBus);

```

To:

```auto
FMOD_RESULT result = userData.studioSystem->getBus("Path to the bus in your FMOD Studio Project e.g. bus:/ExampleBus", selectedBus);
```
