Waveform is an audio spectral analysis plugin for OBS Studio.
It is based on FFTW and optimized for AVX2/FMA3.
Clone the repo with submodules: git clone --recurse-submodules
Or if you already cloned without them: git submodule update --init --recursive
- GCC 10.1
- Clang 11.0
- VS 2019 16.8
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
DISABLE_X86_SIMD
Use ENABLE_X86_SIMD
instead.
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"
.
# 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
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
If you install OBS from Flatpak, you must install Waveform from Flatpak as well:
flatpak install flathub com.obsproject.Studio.Plugin.waveform