Announcement

Collapse
No announcement yet.

[SUPPORT] AudioAnalyzer

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • started a topic [RELEASED] [SUPPORT] AudioAnalyzer

    [SUPPORT] AudioAnalyzer

    Click image for larger version  Name:	banner700store.png Views:	1 Size:	124.3 KB ID:	1573696





    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
    • Works with audio file, microphone and loopback(Windows) input
    • Support cooked builds
    • Android Mobile friendly
    • Full source C++ included
    • Wav, mp3 supported
    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: 11
    Network Replicated: No

    Supported Development Platforms:
    • Windows
    • Linux
    Supported Target Build Platforms:
    • Windows 64 bits
    • Android
    Documentation:
    API | Web | Changelog | Roadmap

    Example Project:
    Web

    Current version:

    1.04

    Videos

    Marketplace
    Click image for larger version  Name:	Epicgameslogo.png Views:	1 Size:	6.0 KB ID:	1573697
    Last edited by BYC; 05-17-2019, 01:55 PM. Reason: v1.04

  • replied
    You don't have to do any special to include this plugin, just enable it in the plugin list.

    If it is your first project android deploy you can look to this guidelines to install and setup the engine for android platform:

    - Install NDK ans Android SDK for your target android version
    https://docs.unrealengine.com/en-US/...oid/index.html
    https://docs.unrealengine.com/en-US/...oid/index.html

    - Project setup
    https://docs.unrealengine.com/en-US/...ted/index.html

    - Packaging for android platform
    https://docs.unrealengine.com/en-US/...ect/index.html


    The Starter Project is ready for android platform, you can take a look to the Packaging Project section and Android to see how has been configured.
    If you have any error, put the log in this post and we will try to find a solution.

    Leave a comment:


  • replied
    Hi, I have the plugin set and working But IM not able to deploy to Android devices, is there any documentation on how to deploy and include the plugin in an android device?

    Leave a comment:


  • replied
    Sure, we have always wanted to modify the Projects section and fix the lack of documentation in the sample projects.
    I'm not very happy with the Documentation page but work with doxygen is a pain.

    Leave a comment:


  • replied


    Am I missing something obvious, in the example projects for AA where are the audio initializer parameters at? I don't understand how the AA_StarterProject picks up the sample.wav file. I'm trying to integrate the plugin into my project but I can't find the classes like Init Loopback Audio when searching for them, the plugin is enabled in the plugin viewer.

    EDIT: Found the Init parameters in the UI_InputSelector blueprint, StartPlayback function. Viewing the graph you can find the sample.wav file mentioned there. In order to find the Init parameter functions you need to create a blueprint based off of the AA class at the bottom when expanding all classes.

    https://www.parallelcube.com/content...nput_page.html

    If you could make the documentation a bit more straightforward on how and where to initialize the classes that would be great. Having some documentation on your examples for how they're built would also be much appreciated.
    Last edited by Vallamost; 05-27-2019, 04:56 PM. Reason: found answers

    Leave a comment:


  • replied
    2019-05-17 v1.04

    – Fixed special characters encoding of friendly device names, no more strange chars in audio device names.
    audio_device_selection
    – Added GetInputDeviceNames, this node returns a list with input devices.
    – Renamed GetAudioDeviceNames to GetOutputAudioDeviceNames
    – Added 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

    doc_loopback_init_bp
      • Get Default Device Loopback Audio
      • Set Default Device Loopback Audio

    doc_loopback_init_bp_device
      • Start Loopback
      • Stop Loopback
      • Is Loopback Capturing

    doc_loopback_init_bp
      • Get Loopback Capture Time

    doc_loopback_controls_bp_time
    More detailed info into Documentation page
    – Added new Example project: Loopback Test

    Leave a comment:


  • replied
    Each time you call GetBeatTrackingxxxx node the analysis is calculated for a window of time centered in the current playback time of the audio, this calculates the bpm value for the actual window (Current BPM). So, if you call it multiple times you obtain the bpm results of a lot of windows during the song.
    The Total BPM counter returns the bpm value that occur most often during all the song. (The most repeated Current BPM value of all the windows).
    If the song has too many "silences" for the analysis band then it can result it can increase the number of windows with a BPM value of 0, positioning the bpm-zero value as the most used by the song in that band.

    You can calculate the Current BPM in different positions of the song and take the average, but in my oppinion the most repeated BPM is more exact than the average BPM.

    Leave a comment:


  • replied
    Hello! I want to say thank you for this plugin, its really usefull, but i have few questions.
    First of all, what does 'total bpm' returns? Most of the time it returns zero for me for each frequency (low, high and bass);
    Second question is more about using this plugin plus music theory. How can i get total average bpm for whole track?

    Leave a comment:


  • replied
    Thanks a lot!!! It's Working

    Leave a comment:


  • replied
    You can obtain the analysis at specific time position using Set Playback Position + Get Amplitude / Get Spectrum nodes instead of a Play node.
    Click image for larger version  Name:	20190506-17_06_31Inicio.png Views:	1 Size:	47.7 KB ID:	1616069





    To define a custom range of the frequency analysis yuo must use the Init Spectrum Config WLimits node instead of the Init Spectrum Config node.
    You can set the low and high frecuency bound of the analysis bands. You only have two rules to make this list: sorted and no overlap.

    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)




    Click image for larger version  Name:	20190506-17_08_25Inicio.png Views:	1 Size:	55.2 KB ID:	1616070

    Leave a comment:


  • replied
    Is it can calculate frequencies and amplitude only realtime? can it calculate if audio not playing, calculation in separate second? And another question: can it calculate frequencies and amplitudes in separate range?
    Last edited by КомбоКоломбо; 05-05-2019, 05:28 PM.

    Leave a comment:


  • replied
    You can obtain this effect using the average frequency values of Get Spectrum node

    On each Tick Event, take only the average values greater than the current maxAverageValue for each bar, update the bar objects, and apply a decay to all values to obtain the falling effect.

    Click image for larger version  Name:	20190424-23_55_36Inicio.png Views:	2 Size:	213.1 KB ID:	1611782

    Last edited by BYC; 04-24-2019, 06:11 PM.

    Leave a comment:


  • replied
    Exactly. Thank you for the example.
    Originally posted by BYC View Post
    Something like the red lines of this video?

    Leave a comment:


  • replied
    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
    Click image for larger version

Name:	metatagnode1.png
Views:	1
Size:	9.6 KB
ID:	1609595


    – Added Format Test UE4 Project [UE4 Sample Projects]
    – Changed GetFolderFiles to Impure function to avoid extra calls, now must be explicitly executed by connecting exec wires.
    Click image for larger version

Name:	newgetfolderfiles1.png
Views:	1
Size:	11.3 KB
ID:	1609596



    – 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.
    Click image for larger version

Name:	newplayoptions1.png
Views:	1
Size:	16.8 KB
ID:	1609597


    – 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.
    Click image for larger version

Name:	newgetdevices1.png
Views:	1
Size:	30.4 KB
ID:	1609598




    More detailed info into Documentation page

    Leave a comment:


  • replied
    Something like the red lines of this video?

    Leave a comment:

Working...
X