[SUPPORT] AudioAnalyzer

Hey Thanks for the reply!, i got the information to print on the screen, but i want to use it to resize a cube. is there a way to add that data easy. sorry im really new at using unreal

Is there a rough ETA for the 4.26 version of this?

Thanks! This is still one of my favorite plug-ins to work with

I have sent the update so it will be avaible in the next days.

You have a project doing that here CubeDemo

Hi @BYC can you recommend me the excatly in which way is better to find spectrum peaks?

The plugin has a node to obtain the frequency spectrum peaks in current time, it sorts the frequencies by energy and returns the sorted list.

Your picture is an amplitude analysis over time, so you can establish a threshold value to detect a peak. If the value of the amplitude goes from 0 to 1, you can set a threshold of 0.9 and if the value of the amplitude in current time is greater than this threshold you have a pick. The problem is to setup the value of that threshold without to know the max value of the amplitude of the sound. you need to do a full previous analysis to do that, but you can use the offline node tools to do that, and retrieve the full amplitude spectrum

Maybe the term loopback is being used different from what I am used to and/or trying to do.

I’ve been sitting here (for awhile) trying to figure out why I couldn’t get loopback to work. I have an external audio source coming into my audio interface and have the audio set to loopback on that channel. I’ve confirmed via OBS that loopback on the interface is working (OBS will not pick up external audio unless I set the correct channel to loopback).

Then, reading through this thost, I saw that you had used windows audio to generate activity in the plugin. So, I played a windows audio source and viola, it works.

So I’m kind of back to my starting point.

Am I correct and this is just taking windows audio and it’s not technically a loopback (maybe the terminology is specific to taking windows audio and doing a loopback internally in the plugin?), just analyzing windows audio?

Any help to get my interface channels working within the plugin will be greatly appreciated!

You need to select the input audio device using “Set Default Device Loopback Audio” node instead of the system default for an instance of the AudioAnalyzerManager.

You can use “Get Output Audio Devices” node to retrieve a list of found devices, and see if the interface is in that list, use this name as input of “Set Default Device Loopback Audio” node.

WINAPI takes the audio output pipeline of the selected device and I feed that data to the analyzer using a buffer, if your device appears in the list of audio devices in the windows audio settings then is must be available to be captured by the plugin.

Also, if you have any log of UE4 using your device with the plugin we can check if an error has occurred for that especific device.

Well, I’m just using your loopback demo to test all this out atm and that node is already there. Right?

I “think” the main issue while I can specify my device I have no way to specify which port to use. I have 28 in and 28 out on my interface. Now, here’s the thing. After facerolling for a bit I figured out that if I have OBS on and I have monitor enabled NOW I am getting audio in UE4.

It’s just really weird because I believe it’s doing a double loopback here. External audio device > interface > loopback internally in the interface > windows > obs > windows loopback > UE4 this might need explaining.

My CDJ’s are outputting XLR to my interface.
My interface routes that audio to multiple hardware outputs. It also does a loopback on any channel I specify.
The interface does a loopback taking channel 1-2 into windows.
Now windows can hear the interface audio which means OBS can hear it. At this point UE4 does not hear the audio.
Within OBS I can set the audio to monitor and output to stream. If I have output only, no sound in UE4. If I enable monitor I get sound in UE4. This is the secondary loopback.

I feel like something in UE4 is missing atm as OBS is able to hear the audio but not UE4, until I loopback into Windows again.

Right now it is working but this is a bandaid so I would really like to get to the bottom of the main issue to prevent further headache down the road.

Thanks for your reply!

Edit: Quick edit here, I was doing more testing just now and in the other demo it allows me to select mic which is taking the same audio that OBS was taking. But OBS is off. I went back inito the loopback demo to test with OBS off and same results, did not work. Went back to the demo level (A_StarterProject_424) and it is still working. So whatever Mic is pulling in, is getting the loopback from the interface.

@BYC Hey, is it already possible to apply effects to the played sound? I would like to slow it down and speed it up, same as what the default pitch slider does.

Hi, since it is posible to load audio into a procedural sound wave you can use the effects that can be applied to this objects. For example you can use the Set Pitch Multiplier node of an AudioComponent that use a procedural sound wave as their audio input. I have wrapped some nodes related to SoundWave playback to be able to fix some problem with looping and starting time when is used with a ProceduralSoundWave.

In this documentation page you can find more details of the overrided nodes: Inputs — AudioAnalyzer 3.01 documentation
You can use other nodes related to playback effetcs, just start the playback sound with the wrapper version.

So basically now you can use realtime pitch modifications using the standard nodes, but it doesn’t affect to the values returned by the analyzer, it takes the original audio values to do the analysis.
For example you can set a volume of 0 and you will not ear the sound but you can still obtain the result of the analyzer as if the volume was set to 1.
With pitch modifications is the same, you can ear the sound at more speed but the pitch tracking analyzer will return the original frequency value and the result will be the same but in less time.

You will have to adjust the results manually to you playback if you want the what-you-ear analysis