https://github.com/phandasm/waveform
Audio spectral analysis plugin for OBS
https://github.com/phandasm/waveform
audio audio-visualizer obs obs-studio
Last synced: 1 day ago
JSON representation
Audio spectral analysis plugin for OBS
- Host: GitHub
- URL: https://github.com/phandasm/waveform
- Owner: phandasm
- License: gpl-3.0
- Created: 2021-10-25T15:44:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2026-07-04T23:52:59.000Z (2 days ago)
- Last Synced: 2026-07-05T00:11:19.877Z (1 day ago)
- Topics: audio, audio-visualizer, obs, obs-studio
- Language: C++
- Homepage: https://obsproject.com/forum/resources/waveform.1423/
- Size: 67.5 MB
- Stars: 682
- Watchers: 15
- Forks: 45
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# Waveform

Waveform is an audio spectral analysis plugin for [OBS Studio](https://obsproject.com/).
It is based on [FFTW](https://www.fftw.org/) and optimized for AVX2/FMA3.

# 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
`STATIC_RUNTIME` Static link the CRT, MSVC only. Default: OFF
`EXTRA_OPTIMIZATIONS` Enable aggressive compiler optimizations (LTCG), MSVC only. Default: OFF
`ENABLE_X86_SIMD` Enable runtime detection and dynamic dispatch for AVX. Default: ON
`HAVE_OBS_PROP_ALPHA` Enable alpha in the color picker. May need to be disabled for very old OBS versions. Default: ON
`PACKAGED_INSTALL` Use package manager friendly folder structure when installing, Linux only. Default: OFF
`BUILTIN_FFTW` Build FFTW from source and static link. Default: forced with MSVC, otherwise OFF
`STATIC_FFTW` Static link against system-provided FFTW. Default: OFF
`MAKE_DEB` Make deb package for Debian/Ubuntu. Default: OFF
`MAKE_BUNDLE` Make macOS bundle. Default: OFF
### Deprecated Options
`DISABLE_X86_SIMD` Use `ENABLE_X86_SIMD` instead.
## Windows
Waveform's only external dependency is libobs.
You'll need to build obs-studio separately and point [CMake](https://cmake.org/) 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
```bash
# 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](https://obsproject.com/wiki/unofficial-linux-builds#fedora)).
```bash
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
```
# Special Installation
## Linux Flatpak
If you install OBS from Flatpak, you must install Waveform from Flatpak as well:
```
flatpak install flathub com.obsproject.Studio.Plugin.waveform
```