Audio Analyzer is a plugin for Unreal Engine 4 that allow you to visualize the waveform and frequency spectrum of an audio file in real-time. Also can detect the beats of any audio source in realtime by using frequency spectrum analysis (FFT).
Can be used in your games or applications and make your games react to the music. It is really easy to configure.
Current features
Amplidute analysis
Frequency spectrum
Basic beat tracking
BPM tracking
Picth tracking
Works with audio file, microphone and loopback input
Support cooked builds
Android Mobile friendly
Full source C++ included
Wav, mp3, ogg, flac supported
Loopback support (What-you-hear) (only Windows)
Offline analysis (Amplitude sections)
Technical Details
See below documentation to a detailed explanation of the plugin integration and supported audio files.
Number of Blueprints: 0
Number of C++ Classes: 15
Network Replicated: No
Can you confirm plz that this bug has no effect on this plugin on android platform? + how is the performance on android?
another question: can I get how player is loud from microphone?
To be honest , since ages i’m waiting for a plugin like this , i hope you clear all my worries by answering my questions if possible so I can buy it with confidence
This plugin uses the SDL2 library to capture and play audio, since this plugin uses an external audio system we don’t have been affected by that issue.
You can get the amplitude of the microphone input to know how loud is the sound.
Mate, you dont know how awesome you are by providing this ,but u still didnt answer the performance question:D
and any time range will you release it to support iOS too?
I’m asking bec, I’m going to deprecate a big part of my project to switch to your plugin, so I just want to make sure before jumping in:D
Well, the performance depends on what you want to draw on the mobile more than the analysis cost.
For example this 16x16 grid runs at 60 fps on a Mi4C
If you have any c++ performance test to run and compare I can pass the code by that test and give you the results.
IOS support still has no release date. At this moment we have no hardware to build and test on IOS platform and we have no room for add more changes until April, so it will have to wait at least 2 months more.
Hello, I bought a plugin, installed to 4.21, downloaded your Example, right click on the project file and selected 4.21 as Engine, it asked to rebuild the project file, it created: .vs folder, Tester_AudioAnalyzer.sln file, I clicked on the project and opened it in 4.21, click Play and tested the project, seems okay, then I exported to Windows 64 build and it stuck for 5 hours, how long do you think it’s going to take to finalize the package?
Upd: After 8 hours of waiting, I had to interrupt the build. Please help
Hello, I was able to build it after a few attempts and restarts, cleaning the Saved/Intermediate folders it built well, but the thing is, it’s building not from the first time of the project run, you have to close the project and open it again to build successfully.
Can you please help with some basic tutorial? For example: Take two music files to play .wav and add one Beat to Cube SCALE and another for Cube’s material OPACITY and lets them play, but the sound from those two .wav should be muted. Because the third music file is going to be the main game soundtrack. How can I do it, please? I can’t figure out yet with such simple demo. Thank you.
I just added an starter project to the marketplace page.
We will add multichannel support in the next update. For current version you need to make two instances of AudioManager and use each analysis output separately. You can synchronize the playback of both managers with our player nodes.
I have prepared a basic project using two .wav files. I’m using the spectrum frequency results of the beat tracking analysis, but you can mask the values using the Beat array result to only change on beat onset. The drum .wav file change the cube scale and the piano .wav file the opacity.
When there is no audio output (i.e. when a computer has no speakers connected, the little windows speaker in the taskbar has a little red x), the plugin doesn’t work. I realise this may be by design, or just a scenario not yet encountered. Could you please adjust it to make it work even when there is no audio output?
Steps to reproduce - open your sample project and run as normal, with speakers disconnected (ensuring the windows taskbar speaker icon has a little red x, indicating no connected audio outputs). The UI Input Selector blueprint will print “Player Error” to the screen.
Yes, we have an update ready to be released for this week, since it is a major update we are doing some testing yet. We want to start the MP3 support development the next week.
Here you have the changelog *preview *for the version 1.02
– Fixed crash on wrong sound path
– Added channel selection mode in visualizer initialization
All in one: Accumulates all channels data into only one array
Select one: Returns only the channel specified in Channel option
Split all: Returns each channel into one array. Use “By Channel” nodes to retrieve the results
– New amplitude analysis configuration node. Now Amplitude analysis use the same node structure as frequency spectrum and beat tracking analysis. Initialization + Getter
– Removed GetAmplitude parameters
– Added multi-channel Support. Now you can retrieve the results for each channel separately, select Split_all option in “Channel selection mode” during the analysis configuration and use the “By Channel” nodes to retrieve the results.
– Changed GetBeatTrackingVariance node, now calculates Average and Variance with the same node. If you only need the average result you can continue using GetBeatTrackingAverage node
– Added Beat-per-minute counters to Beat Tracking nodes, now you can track the bpm of an interval of beat tracking samples and the accumulated result.
Hi, thanks for the plugin. Anyone have guidance on how to add a smoothing function to filter input values logarithmically between changes to smooth the stream of continuous data? I’m looking to do what most VJ software does (VDMX, Resolume, Max/MSP) to smooth out the falloff of peaks. It’s great to get realtime for seeing the amplitude jump up, but nice to be able to smooth out the amplitude on the way back down.
2019-04-18 v1.03
– SDL2 library updated to 2.0.9
– Added **mp3 **format support on Win64 and Android Platforms
– Added ID3 tags support v1 and v2
– Added Format Test UE4 Project [UE4 Sample Projects]](AudioAnalyzer – Proyectos – Parallelcube)
– Changed **GetFolderFiles **to Impure function to avoid extra calls, now must be explicitly executed by connecting exec wires.
– Added new player node with more options: Loop playback and Starting time.
You can define the number of loops and bind and event for each loop end too. Each loop starts from StartTime position.
– Added** Audio Device selection** nodes.
Now you can select the audio device to play and capture the sound.** Set default Device(s) Player/Capturer Audio node must be called before Init Player/Capturer Audio node**.
If the default audio device is not set then the system default audio device is selected.