AudioAnalyzer – FAQ

The UE4 marketplace plugin builder system doesn't create the binaries of android arm64 platform so you get the error:
Plugin ____ failed to load because module ____ could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project.

arm64_error
Android error capture

This is only a workaround until Unreal Engine 4 team fixes the thirdparty plugin builder system. Just move the AudioAnalyzer folder from your Engine Plugins folder
(EpicGames\UE_4.xx\Engine\Plugins\Marketplace\AudioAnalyzer\)
to your project (ProjectFolder\Plugins\Marketplace\AudioAnalyzer\)

If you are using the plugin in more than one project you can place a copy in each project

The default playback buffer size is set to 1024 frames, it can be too low for some android devices resulting in audio playback glitches.
You can increase the buffer size using the Init Player Audio Ex node and power 2 values like 2048 or 4096.

initplayerex
Init Player Audio nodes

You need to add the non-assets folder that contain the sound to the directories to package list Project Settings > Project > Packaging > Additional Non-Assets Directoris to Package

dir_to_package
Project Settings

Using the _WLimits nodes you can define your custom frequency bounds for each band with the parameter Band Limits

You can define the lower and higher bounds for each band independently using a 2D array. Each component of the array define the bounds for that band. You will have as many bands as the array size.

But, for optimization, the intervals must be sorted and with no overlaps. They are closed intervals so you can’t start an interval with the same value used to end the previous interval
So an example of valid bounds array:
0-10
11-40
80-100

And an example of invalid bounds array:
0-10
10-40 (overlap frequency 10Hz)

0-10
5-40 (overlap frequencies 5-10Hz)

To access to the analysis result of each band you can use the same method used with the predefined bands bounds.

The reason is the size of the interval of that band. The size is too small for the rest of parameters.

For a 0.02s window with a 44100 sample rate audio the minimal frequency bucket is:
Num_samples = 44100 * 0.02 = 882 (now we search for a window size power 2 to fit that number samples (1024), this is the size of our FFT analysis)
So each FFT result position represent a band of 44100 / 1024 = 43.0660 hz

So the minimal valid interval size is 44 HZ

If you want to use smaller interval values you need to increase the Time Window. For example with a window of 0.03s
44100 * 0.03 =1323 -> next power 2 value 2048
44100 / 2048 = 21.53 hz
Now the smallest allowed size for a band interval is 22 hz

The packaging process doesn’t include the correct path of thirdparty libraries when the plugin is inside the project folder. Follow this guide to fix the released packaged: Using plugin inside UE4 project MacOS folder

Ayudanos con este blog!

El último año he estado dedicando cada vez más tiempo a la creación de tutoriales, en su mayoria sobre desarrollo de videojuegos. Si crees que estos posts te han ayudado de alguna manera o incluso inspirado, por favor considera ayudarnos a mantener este blog con alguna de estas opciones. Gracias por hacerlo posible!