/LSaO-visualizer

LSaO Visualizer: Extremely violent and fast audio visualization tool

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

LSaO Visualiser

by Aaron F. Bianchi

Linear Spectrum and Oscilloscope Visualizer is an extremely fast audio visualization tool

This tool can export videos of a linear spectrum, tuned short waveform, long waveform, X/Y oscilloscope, polar oscilloscope, recurrence plot, Poincaré plot or delay embedding plot of a song. It supports multiple audio and video formats.

Coded to look as violent, responsive, snappy and rough as possible. It draws a white visualizer over a black background for further processing with a video editor of your preference.

Linear Spectrum:

Example Spectrum GIF
Short Waveform:
Example Short Waveform GIF
Linear Spectrum (dB):
Example Spectrum dB GIF
Long Waveform:
Example Long Waveform GIF
Stereo Oscilloscope and Mono Polar Oscilloscope:
Example Stereo Oscilloscope GIF Example Polar Oscilloscope GIF
Stereo Polar Oscilloscope (one audio source and various tunings):
Example Stereo Polar Oscilloscope GIF
Mono Polar Oscilloscope and Stereo Polar Oscilloscope:
Example Polar Oscilloscope (Violent) GIF Example Stereo Polar Oscilloscope (Violent) GIF
Linear Spectral Balance and Recurrence Plot:
Example Spectral Balance GIF Example Recurrence Plot GIF
Poincaré Plot and Delay Embedding Plot:
Example Poincaré Plot GIF Example Delay Embedding Plot GIF
Histogram Visualizer:
Example Histogram GIF
Chladni Plate Visualizer:
Example Chladni Plate GIF

Bunch of demo videos

Why?

This small project started due to the omnipresence of logarithmic spectrum visualizers and the apparent absence of linear spectrum visualizers (apart from the one in After Effects, but who wants to install an Adobe product anyway).

Download

You can download it here.

Installation

You don't need to install it. Just double click the executable.

Things to know

  • The Windows releases of this software bundle FFmpeg (https://ffmpeg.org/), it defaults to the FFmpeg in PATH if already installed though. FFmpeg is licensed under the GNU General Public License version 3 (GPL v3). Prebuilt binaries used in this project are from Gyan.dev (https://www.gyan.dev/ffmpeg/builds/). The FFmpeg source code is available at https://ffmpeg.org/download.html#source

  • The Stereo X/Y and Polar Visualizers only work with stereo files as it wouldn't make any sense to visualize a mono file with a stereo oscilloscope.

Tips if using on Windows

  • The default Windows video player is not gonna play the exported videos correctly. Try another video player instead (Like VLC, for example). You'll be able to use the exported videos in any video editing software just fine, though.

Running from source

Being a Python 3.11.2 program, you'll need some libraries, which you can see in the "requirements.txt" file. To install them, run these commands.

For Linux:

# For setting up your virtual environment
python3 -m venv venv
source venv/bin/activate

# For installing the libraries
pip install -r requirements.txt

For Windows:

# For setting up your virtual environment
python3 -m venv venv
venv\Scripts\activate

# For installing the libraries
pip install -r requirements.txt

Aditionally, if you want to create an executable from source, these libraries have worked for me:

  • cx_Freeze v6.15.14 (For Linux)
  • pyinstaller v6.3.0 (For Windows)

For creating executable from Linux:

python setup.py build

For creating executable from Windows:

pyinstaller --onefile --console main.py