Skip to content

Unity's implementation of the PLP-based beat tracking algorythm from a research paper I've read.

License

Notifications You must be signed in to change notification settings

AlessTheDev/plp-beat-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plp-beat-tracker

This is the source code of a project I've made where, after reading a research paper, I create visualizations of the different steps that are part of a PLP Beat Tracking algorithm.

The research I'm referring to is

Peter Meier, Ching-Yu Chiu, and Meinard Müller
A Real-Time Beat Tracking System with Zero Latency and Enhanced Controllability
Transactions of the International Society for Music Information Retrieval (TISMIR), 7(1): 213–227, 2024

I explain how I coded the whole thing in a devlog on medium (I couldn't find any other website to upload it on): https://medium.com/@cupflowstudios/analyzing-real-time-audio-data-with-unity-plp-visualization-d550ebb72bcb. Please check it out if you're interested in this topic!

I'd also like to mention that I plan to read the follow up paper the researchers published that will improve the overall accuracy of the project. Make sure to stay tuned for that!

How to try it out

You can see the visualizations yourself by either opening the project in unity or by downloading the executable from itch io.

Executable

Download the latest build from itch io: https://cupflow-studios.itch.io/plp-beat-tracker-visualization.

Once you extract it and run the .exe file you should see: Menu

  1. PLP Visualization: It's the main visualization mode that shows the AudioData graph, the activation, the tempogram, and finally, the PLP graph. It also has a funny cat clapping his hands along beats with a stability greater than a certain threshold. File Explorer popup Once selected a file explorer will popup asking you which song you want, navigate to the desired folder and double click to select. PLP Visualization

  2. Microphone Mode PLP: It's basically the same thing but it will use your microphone instead of an audio file.

  3. Frequency Graphs: A simple visualization I created to test out the graphs that shows how different frequency ranges change with time. Frequency Visualization

Unity

To open the project in unity, clone the repository and open the BeatTracker folder using Unity Hub. Under Assets/Scenes you should find a scene called PLPVisualization. Open it and click the audiosource gameobject.

Here you can set which song to play (after importing it) Audio Source component settings And before you hit the play button you can edit some settings from this component: AudioAnalysis Settings

Licensing & Credits

Considering that, the research is public, and they also provide code under the MIT License, this project is licensed under the MIT License, except for the files located in the Assets/Music folder, you can see the LICENSE.MD file for details.

In the project audio files, there's a song included called "Cigarettes on a cold night" that was made by Aether, you can check him out here: https://soundcloud.com/theoneaether/monochrome.

Valuable resources

Original paper: https://transactions.ismir.net/articles/10.5334/tismir.189 Researcher's repository: https://github.com/groupmm/real_time_plp Follow up paper: https://www.dafx.de/paper-archive/2024/papers/DAFx24_paper_23.pdf

About

Unity's implementation of the PLP-based beat tracking algorythm from a research paper I've read.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published