Skip to content
phandasmPublic

About

Audio spectral analysis plugin for OBS

Topics

Resources

Stars

710 stars

Watchers

11 watching

Forks

Latest commit

 

History

307 Commits

Folders and files

Repository files navigation

Waveform

Mac/Linux CI
Waveform is an audio spectral analysis plugin for OBS Studio.
It is based on FFTW and optimized for AVX2/FMA3.
Screenshot

Compiling

Prerequisites

Clone the repo with submodules: git clone --recurse-submodules
Or if you already cloned without them: git submodule update --init --recursive

Minimum Supported Compilers

  • GCC 10.1
  • Clang 11.0
  • VS 2019 16.8

CMake Options

Option Description Default
STATIC_RUNTIME Static link the CRT, MSVC only. OFF
EXTRA_OPTIMIZATIONS Enable aggressive compiler optimizations (LTCG), MSVC only. OFF
ENABLE_X86_SIMD Enable runtime detection and dynamic dispatch for AVX. ON
HAVE_OBS_PROP_ALPHA Enable alpha in the color picker. May need to be disabled for very old OBS versions. ON
PACKAGED_INSTALL Use package manager friendly folder structure when installing, Linux only. OFF
BUILTIN_FFTW Build FFTW from source and static link. Forced with MSVC, otherwise OFF
STATIC_FFTW Static link against system-provided FFTW. OFF
MAKE_DEB Make deb package for Debian/Ubuntu. OFF
MAKE_BUNDLE Make macOS bundle. OFF

Windows

Waveform's only external dependency is libobs.
You'll need to build obs-studio separately and point CMake to it when building Waveform.
From the CLI interface, the latter can be accomplished via -DCMAKE_PREFIX_PATH="path/to/obs-studio/build_x64/libobs".

You may also need to point to the w32-pthreads library as well, which is under "path/to/obs-studio/build_x64/deps/w32-pthreads".

Create build directory

mkdir build && cd build

Run CMake

cmake ../

Build Solution

Double-click generated .sln file in build directory. When VisualStudio loads, go to "Build -> Build Solution" or Ctrl-Shift-B

Installation

Copy waveform.dll and waveform.pdb to C://Program Files/obs-studio/obs-plugins/64bit/

Copy contents of "data" folder ("locale" folder and "gradient.effect" in waveform source directory) to C://Program Files/obs-studio/data/obs-plugins/waveform/

Linux

Ubuntu 20.04

# install build tools
sudo apt-get install build-essential git cmake

# install dependencies
sudo apt-get install libobs-dev libfftw3-dev libfftw3-3

# clone repo
git clone --recurse-submodules https://github.com/phandasm/waveform.git

# build in subfolder
mkdir waveform/build
cd waveform/build

# build
cmake ..
make
make install

Fedora 41

Prerequisite: OBS packages from RPM Fusion (see OBS Wiki).

sudo dnf install @c-development git cmake obs-studio-devel fftw-devel

git clone --recurse-submodules https://github.com/phandasm/waveform.git
mkdir waveform/build
cd waveform/build

cmake ..
make
make install

Flatpak

When using OBS from Flatpak, Waveform must be installed from Flatpak as well:

flatpak install flathub com.obsproject.Studio.Plugin.waveform

About

Audio spectral analysis plugin for OBS

Topics

Resources

Stars

710 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages