AudioAnalyzer – Changelog

AddedAdded Taglib library to extract audio metadata info, now metadata from .ogg an .flac files can be obtained.
ChangedMoved Taglib to independent module, removed not used classes.
AddedAdded SetEnableMetadataLoad node to disable metadata processing during audio decoding
ChangedRemoved Get Project Folder. Native node Get Project Content Directory can be used to replace this node, in C++ project FPaths::ProjectContentDir().
AddedAdded more nodes to interact with folders Create Directory Tree, Delete Folder, Folder Exists, Delete Folder Files by Extension and Delete Folder Files by Filename
AddedAdded GetAudioTotalDuration node to retrieve the duration of the audio loaded using the Extractor class input.
ChangedRemoved ChannelMode parameter from GetAmplitudeSectionByChannelnode.
FixedFixed IsPausedAudioComponent node.
ChangedMarketplace demo project updated to show more clearly the node workflow between input and analysis nodes.
UpdatedDocumentation updated to 2.0.9
ChangedAdded new parent to context menu, now all possible functions can be found in Audio Analyzer Manager section of the context menu.
AddedAdded support for SoundWave. Now audio can be imported at runtime to construct a soundwave object. See documentation page.
AddedAdded support for AudioComponent. Now the imported soundwave can be used into an audio component. See documentation page.
FixedNow player events OnFinished and OnLoopFinished are called from Game Thread. This will fix warnings when a widget components changes from this event
UpdatedDocumentation updated to 2.0.8
ChangedNow audio format can be selected in the Microphone initialization
AddedAdded Volume control for captured audio and their playback
AddedAdded a new (experimental) class to use OVR input using their UE4 module. This can be used instead of Capturer nodes to capture audio from the microphone of a OVR Device. More details in their documentation page
AddedAdded a new (experimental) class to use a stream source. Audio raw data can be fed to this source and request analysis results after that. More details in their documentation page
AddedAdded support for C++ projects. Now the nodes of the AudioAnalyzerManager can be used in C++ Projects. More details in their section
AddedAdded support for .egg files
UpdatedComments has been revised and Documentation updated to 2.0.7
AddedMetadata art (covers) can be extracted from MP3 files with ID3v2
FixedFixed Linux platform libraries linking
FixedFixed Mac platform libraries linking
FixedBPM Tracking using Loopback source
UpdatedMinor changes
FixedFixed Mac platform libraries linking
1.10 2020-08-06
AddedAdded nodes to obtain the player/capture device info, can be used after Device Initialization nodes
AddedAdded more utils:
  • FrequencyToMIDI: Frequency Hz to MIDI note value
  • AmplitudeTodB: Amplitude to dB conversion
UpdatedUpdate to SDL 2.0.12, Android devices now uses OpenSL ES to capture audio
FixedGetInputAudioDevices node must return all (available) input audio devices
1.09 2020-03-26
ChangedNow can load Mp3 files with an incomplete last frame
AddedAdded new source class: Extractor. This new class will be used to do offline analysis. You can load the full audio file in this source or only the header, this load method it’s useful if you only want to access to the metadata info of an audio file
AddedAdded offline amplitude analysis node for Extractor source. You can obtain the analysis result of a section of an audio file. The resolution can be set to obtain a smoother wave form, with small values you obtain more detail of the wave but more data
AddedAdded GetMetadata node to Extractor source. Can be combined with the Only Header parameter in the initialization of the source for better performance
UpdatedAdded Extractor sample project [Link]
1.08 2019-12-28
AddedAdded Pitch tracking real-time analysis (fundamental frequency)
AddedAdded Pitch Tracking sample project [Link]
AddedAdded 4.24 Engine version support (IMPORTANT: UPGRADE NOTES, the plugin has been renamed to avoid the conflict with the new AudioAnalyzer module of the Engine)
1.07 2019-09-06
UpdatedUpdated SDL2 library to v2.0.10
AddedAdded Unreal Engine 4.23 Support, now version 4.20 requires manual installation
AddedAdded Linux editor and game support
AddedAdded Mac editor and game support (Experimental)
AddedAdded IOS game support (Experimental and without MP3 format support)
ChangedMoved Thirdparty libraries folder inside Source folder to fix the Mac build limitation (plugin + rsync)
1.06 2019-08-17
AddedAdded Get Spectrum Peaks. Now you can obtain a list with the most valued frequencies in real time
AddedAdded thridparty decoders inclusion customization. Now you can select which decoder binaries can be included in your project. More Details
AddedAdded installation and set-up tutorial from Empty Project [Link]
AddedAdded manual installation and support notes for unsupported Marketplace versions, 4.19 and Older [Link]
1.051 2019-07-10
AddedAdded Ogg Vorbis Support
AddedAdded Flac Support
FixedFixed Android smoothness bug of some devices
1.041 2019-05-21
FixedFixed possible crash when Init Audio node is called while playing audio
1.04 2019-05-17
FixedFixed special characters encoding of friendly device names, no more strange chars in audio device names
AddedAdded GetInputAudioDevices, this node returns a list with input devices
ChangedRenamed GetAudioDeviceNames to GetOutputAudioDevices
AddedAdded Loopback Input, now you can capture the audio directly from the system device. You can do the analysis from the audio played from other applications. Nodes added:
  • Init Loopback Audio
  • Inix Loopback Audio Ex
  • Unload Loopback Audio
  • Get Default Device Loopback Audio
  • Set Default Device Loopback Audio
  • Start Loopback
  • Stop Loopback
  • Is Loopback Capturing
  • Get Loopback Capture Time
More detailed info into Documentation page
AddedAdded new Example project: Loopback Test
1.031 2019-04-20
FixedFixed crash with some MP3 formats
FixedFixed crash on Android start
1.03 2019-04-18
UpdatedSDL2 library updated to 2.0.9
AddedAdded mp3 format support on Win64 and Android Platforms
AddedAdded ID3 tags support v1 and v2
AddedAdded Format Test UE4 Project [UE4 Sample Projects]
ChangedChanged GetFolderFiles to Impure function to avoid extra calls, now must be explicitly executed by connecting exec wires
AddedAdded 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
AddedAdded 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
More detailed info into Documentation page
1.02 2019-03-12
FixedFixed crash on wrong sound path during Player Initialization
AddedAdded 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
AddedNew amplitude analysis configuration node. Now Amplitude analysis use the same node structure as frequency spectrum and beat tracking analysis. Initialization + Getter
ChangedRemoved GetAmplitude parameters
AddedAdded 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
ChangedChanged GetBeatTrackingVariance node, now calculates Average and Variance with the same node. If you only need the average result you can continue using GetBeatTrackingAverage node
AddedAdded Beat-per-minute counters to Beat Tracking nodes, now you can track the bpm of an interval of beat tracking samples and the result with max frequency
AddedNew node Get Capture Time, returns the current capture elapsed time
More detailed info into Documentation page
1.01 2019-01-16
AddedAdded normalization to the frequency spectrum result
AddedAdded Unreal Engine 4 v4.19 support
AddedAdded new option UsePeakValues in frequency spectrum analysis to return peak value of each band instead of average values
Support this blog!

For the past year I've been dedicating more of my time to the creation of tutorials, mainly about game development. If you think these posts have either helped or inspired you, please consider supporting this blog. Thank you so much for your contribution!