[SUPPORT] AudioAnalyzer

Hi

Currently you can’t apply effects to an audio file, but this is something added in the future features list.

I want to add this for anyone asking in the future. If you find Audio Analyzer to be choppy on the Oculus Quest, use “Init Player Audio Ex” instead of “Init Player Audio” and the choppiness goes away. I set my Player Buffer Size to 2048.

Thx for the feedback, I will add this device to the FAQ question.

Since Oculus Quest is an Android Device, the plugin use the android binaries. The current implementation of the low latency audio in android has some issues when the buffer is too low and is affects too to this devices.

But with the new update the SDL2 library the playback and recording is done using the OpenSL-ES, so we will obtain an smoother playback with the next plugin update

When 4.25 support will be out?

I have sent the update 3 days ago to the marketplace so in one week or two the update will be online

Hey, loving this plugin <3 really easy to use and is more straightforward than I was expecting!

One question I have is can I use this with sound attenuation? I’m hoping to use this with an AR project I am building and having audio objects in the space that get louder the closer you are to them.

You can set one AudioAnalyzerManager for each object and change the volume using the node Set Playback Volume of the player. Adjust the volume using the distance to the object.

What’s the performance hit like having multiple managers in the level?

Hi

You can have as many manager as you want, the impact is of this class is null, but you can only have as many **initializated **managers as opened devices are allowed by your sound card, it can be like 12, 16,… When this limit is reached you need to free the resource to be able to open a new one.

You can attach a manager to each object, but you need to keep in mind this hardware limit, so you can create too much objects at the same time, and don’t forget that the “real” destruction of one object it’s not instantaneous, it’s ligated to the Garbage Collector, so you can’t know exactly when the resource will be freed.

In the past I have solved this problem creating an independient Class to control a pool of managers (with as many managers as simultaneous sounds I want to play), then when an object want to play their sound, make a call to this orchestrator with the parameters of the object (the sound file name, the distance of the object), and the orchestrator adjust the initialization of one available manager and play the sound file.

Other option is to use the playback of the Unreal Engine audio system and the analysis of the plugin ( you can set a volume of 0 to the plugin player and you can keep obtaining the analysis results as original volume) and sync both playbacks. Then you can adjust the output of the analysis using the position of the object to “re-scale” the results.

Not sure if anyone else have issues but the Pitch tracker seems to be kind of broken: At initialize it by default
“AudioPlayer->InitPitchTrackingConfig( EChannelSelectionMode::All_in_one, 0 );”

At times return correct values but over the rest of the mp3 songs time returns just a plain 0.0 all the time.

You can try to increase the value of the Threshold parameter.
If it didn’t help you can send me an audio sample to support@parallelcube.com to see where is the problem.

Thanks for this plug-in, replacing my own external fft made a huge difference in responsiveness! I was wondering wether or you could shed some light on the expected ranges of the various analyzers (in especially interested in the spectrum), as the variations on the mic input seems to be minimal (below 0.0001) and also maybe inverted?

Thanks!

The output is normalized so must be in range 0.0 and 1.0. The mic input has been always returning that low values, I will check if I 'm underscaling it in any step.

Hi there! when I try to package my project I get this error that causes the packaging fail “UATHelper: Packaging (Windows (64-bit)): e:\ue_4.23\engine\plugins\marketplace\audioanalyzer\source hirdparty\sdl2\includes\begin_code.h(37): error C4668: ‘GNUC’ non � definita come macro del preprocessore. Sostituzione con ‘0’ per ‘#if/#elif’.” before that error, during previous failed tries, it doesn’t find many files in the public directory of the plugin, to avoid these errors I copy and paste in the public directory of the plugin the required files from the private directory of the plugin, but now i don’t have any idea of how resolve this, can you help me?

I have never used the BP nativization, but I will check this when I have a bit of time

Man I spent a day and still can’t do it. Can you share how you managed to package it for iOS? And how is it going further, have you solved audio not playing issue?

Hi there! Thank you so much for this plugin. I’m wondering, is it possible to analyze in-game audio with it, not the sound file by itself? Things like sounds from in-game web browser for example?

Hi, you can use the Loopback nodes to do the analysis over the output of an audio device. Like in this example

Hey! Im trying to get your plug in to use as a loopback for a visualizer, is there a step by step guide, im new to Unreal! Thanks

Hi

You have a guide to make a project from scracth here Blueprint Empty Project Sample — AudioAnalyzer 2.09 documentation

If you want only to use the loopback source you can skip the content related to the media folder of the guide.

This image resume how to use the plugin:


Just replace this nodes for loopback:

“Init Player Audio” by **“Init Loopback Audio” **
“Play” by **“Start Loopback” **
“Is Playing” by **“Is Loopback capturing” **

Also you have a project using loopback source here too: parallelcube.com/audioanalyzer-projects/#pr06
https://youtube.com/watch?v=wvRJUXPsj7c

In that page you have too more projects like the guide project.
Try it and if you have more questions contact again :slight_smile: