All Projects → igorski → fogpad

igorski / fogpad

Licence: MIT license
A VST reverb effect in which the reflections can be frozen, filtered, pitch shifted and ultimately disintegrated.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to fogpad

Regrader
VST delay plugin where the repeats degrade in resolution
Stars: ✭ 44 (-27.87%)
Mutual labels:  dsp, vst, vst3, audio-processing
Dplug
Audio plugin framework. VST2/VST3/AU/AAX/LV2 for Linux/macOS/Windows.
Stars: ✭ 341 (+459.02%)
Mutual labels:  dsp, vst, vst3, audio-processing
SpleeterRT
Real time monaural source separation base on fully convolutional neural network operates on Time-frequency domain.
Stars: ✭ 111 (+81.97%)
Mutual labels:  dsp, vst, audio-processing
aeolus plugin
Pipe organ synthesizer (VST plugin)
Stars: ✭ 38 (-37.7%)
Mutual labels:  vst, vst3, vst-plugin
simple-reverb
A simple reverb made with the JUCE DSP module
Stars: ✭ 43 (-29.51%)
Mutual labels:  dsp, vst, reverb
Audio Plugin Development Resources
Various resources related to developing plugins for audio production.
Stars: ✭ 136 (+122.95%)
Mutual labels:  dsp, vst, vst3
Roboverb
A VST / VST3 / AU / LV2 Reverb Plugin
Stars: ✭ 48 (-21.31%)
Mutual labels:  vst, vst3, reverb
DAFx19-Gamelanizer
Accompanying material for the paper 'A Real-Time Audio Effect Plug-In Inspired by the Processes of Traditional Indonesian Gamelan Music'
Stars: ✭ 33 (-45.9%)
Mutual labels:  dsp, vst, vst-plugin
Planeverb
Project Planeverb is a CPU based real-time wave-based acoustics engine for games. It comes with an integration with the Unity Engine.
Stars: ✭ 22 (-63.93%)
Mutual labels:  dsp, audio-processing, reverb
juceSynths
Collection of JUCE synthesisers utilising the Maximilian library.
Stars: ✭ 78 (+27.87%)
Mutual labels:  dsp, vst, vst3
Melodrumatic
Audio plugin that lets you use MIDI to pitch-shift via delay to turn unpitched audio into melodies
Stars: ✭ 26 (-57.38%)
Mutual labels:  dsp, vst, vst3
Awesome Musicdsp
A curated list of my favourite music DSP and audio programming resources
Stars: ✭ 871 (+1327.87%)
Mutual labels:  dsp, vst, vst3
Pyaudiodsptools
Numpy Audio DSP Tools
Stars: ✭ 154 (+152.46%)
Mutual labels:  dsp, audio-processing
Fourier
Fast Fourier transforms (FFTs) in Rust
Stars: ✭ 206 (+237.7%)
Mutual labels:  dsp, audio-processing
Noise reduction
Speech noise reduction which was generated using existing post-production techniques implemented in Python
Stars: ✭ 130 (+113.11%)
Mutual labels:  dsp, audio-processing
Renderman
Command line C++ and Python VSTi Host library with MFCC, FFT, RMS and audio extraction and .wav writing.
Stars: ✭ 225 (+268.85%)
Mutual labels:  dsp, vst
Frequalizer
Equalizer using JUCE new dsp module
Stars: ✭ 130 (+113.11%)
Mutual labels:  dsp, vst
gensound
Pythonic audio processing and generation framework
Stars: ✭ 69 (+13.11%)
Mutual labels:  dsp, audio-processing
DtBlkFx
Fast-Fourier-Transform (FFT) based VST plug-in
Stars: ✭ 99 (+62.3%)
Mutual labels:  dsp, vst
audio noise clustering
https://dodiku.github.io/audio_noise_clustering/results/ ==> An experiment with a variety of clustering (and clustering-like) techniques to reduce noise on an audio speech recording.
Stars: ✭ 24 (-60.66%)
Mutual labels:  dsp, audio-processing

FOGPAD

FogPad is a VST/AU plug-in which provides a reverb effect in which the reflections can be frozen, filtered, pitch shifted and ultimately disintegrated.

If you require some inspiration, it is used pretty much all over the Moult EP by Drosophelia. Alternatively, you can read what others say.

On compatibility

Build as VST 2.4

VST3 is great and all, but support across DAW's is poor (looking at a certain popular German product). You can however build as a VST2.4 plugin and enjoy it on a wider range of host platforms.

However: as of SDK 3.6.11, Steinberg no longer packages the required ./pluginterfaces/vst2.x-folder inside the VST3_SDK folder. If you wish to build a VST2 plugin, copying the folder from an older SDK version could work (verified 3.6.9. vst2.x folders to work with SDK 3.7.0), though be aware that you need a license to target VST2. You can view Steinbergs rationale on this decision here.

Once your SDK is "setup" for VST2, simply uncomment the following line in CMakeLists.txt:

set(SMTG_CREATE_VST2_VERSION "Use VST2" ON)

And rename the generated plugin extension from .vst3 to .vst (or .dll on Windows).

Compiling for both 32-bit and 64-bit architectures

Depending on your host software having 32-bit or 64-bit support, you can best compile for a wider range of architectures. To do so, replace all invocations of cmake in this README with the following:

macOS:

cmake -"DCMAKE_OSX_ARCHITECTURES=x86_64;i1386" ..

Which will allow you to compile a single, "fat" binary that supports all architectures.

Windows:

cmake.exe -G "Visual Studio 16 2019" -A Win64 -S .. -B "build64"
cmake.exe --build build64 --config Release

cmake.exe -G "Visual Studio 16 2019" -A Win32 -S .. -B "build32"
cmake.exe --build build32 --config Release

Which is a little more cumbersome as you compile separate binaries for the separate architectures.

Note that the above also needs to be done when building the Steinberg SDK (which for the Windows build implies that a separate build is created for each architecture).

While macOS has been fully 64-bit for the past versions, building for 32-bit provides the best backward compatibility for older OS versions. And musicians are known to keep working systems at the cost of not running an up to date system...

Build instructions

The project uses CMake to generate the Makefiles and has been built and tested on macOS, Windows 10 and Linux (Ubuntu).

Environment setup

Apart from requiring CMake and a C(++) compiler such as Clang or MSVC, the only other dependency is the VST SDK from Steinberg (the projects latest update requires SDK version 3.7.0).

Be aware that prior to building the plugin, the Steinberg SDK needs to be built from source as well. Following Steinbergs guidelines, the build target should be a /build-subfolder of the /VST3_SDK-folder. To generate a release build of the library, execute the following commands from the root of the Steinberg SDK folder:

cd VST3_SDK
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

The result being that {VST3_SDK_ROOT}/VST3_SDK/build/lib/Release/ will contain the Steinberg VST libraries required to build the plugin. NOTE: Windows users need to append --config Release to the last cmake (build) call as the build type must be defined during this step.

If you intend to build VST2 versions as well, run the following from the root of the Steinberg SDK folder (run the .bat version instead of the .sh version on Windows) prior to building the library:

./copy_vst2_to_vst3_sdk.sh

And if you are running Linux, you can easily resolve all dependencies by first running the following from the root of the Steinberg SDK folder:

./tools/setup_linux_packages_for_vst3sdk.sh

Building the plugin

Run CMake to generate the Makefile for your environment, after which you can compile the plugin using make. The build output will be stored in ./build/VST3/fogpad.vst3 as well as symbolically linked to your systems VST-plugin folder (on Unix).

You must provide the path to the Steinberg SDK by providing VST3_SDK_ROOT to CMake like so:

cmake -DVST3_SDK_ROOT=/path/to/VST_SDK/VST3_SDK/ ..

Compiling on Unix systems:

mkdir build
cd build
cmake -DVST3_SDK_ROOT=/path/to/VST_SDK/VST3_SDK/ ..
make .

Compiling on Windows:

Assuming the Visual Studio Build Tools have been installed:

mkdir build
cd build
cmake.exe -G"Visual Studio 16 2019" -DVST3_SDK_ROOT=/path/to/VST_SDK/VST3_SDK/ ..
cmake.exe --build .

Running the plugin

You can copy the build output into your system VST(3) folder and run it directly in a VST host / DAW of your choice.

When debugging, you can also choose to run the plugin against Steinbergs validator and editor host utilities:

{VST3_SDK_ROOT}/build/bin/validator  build/VST3/fogpad.vst3
{VST3_SDK_ROOT}/build/bin/editorhost build/VST3/fogpad.vst3

Build as Audio Unit (macOS only)

Is aided by the excellent Jamba framework by Pongasoft, which provides a toolchain around Steinbergs SDK. Execute the following instructions to build Fogpad as an Audio Unit:

  • Build the AUWrapper Project in the Steinberg SDK folder
  • Create a Release build of the Xcode project generated in step 1, this creates VST3_SDK/public.sdk/source/vst/auwrapper/build/lib/Release/libauwrapper.a
  • Run sh build_au.sh from the repository root, providing the path to VST3_SDK_ROOT as before:
VST3_SDK_ROOT=/path/to/VST_SDK/VST3_SDK sh build_au.sh

The subsequent Audio Unit component will be located in ./build/VST3/fogpad.component as well as linked in ~/Library/Audio/Plug-Ins/Components/

You can validate the Audio Unit using Apple's auval utility, by running auval -v aufx frmt IGOR on the command line. Note that there is the curious behaviour that you might need to reboot before the plugin shows up, though you can force a flush of the Audio Unit cache at runtime by running killall -9 AudioComponentRegistrar.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].