DiceFX is a macOS-first JUCE VST3 plugin built around one idea: press the dice, randomize unlocked parameters, and turn a clean input into a playable accident.
The current build focuses on a compact two-state UI, factory and user presets, parameter locks, tempo-synced LFO modulation, and a modular multi-FX chain for sound design experiments.
VST3plugin target on macOSJUCE + CMakeproject layout- Multi-FX chain:
Distortion -> Modulation -> Delay -> Reverb - Effect types:
- Distortion:
Modern,Vintage,Hard - Delay:
Digital,Tape,PingPong - Reverb:
Room,Hall,Plate - Modulation:
Chorus,Flanger
- Distortion:
- Global controls:
Input,Output,Mix,Random Amount - One global
LFOwith free rate / tempo sync - Current LFO destinations:
Dist DriveDelay TimeDelay FeedbackReverb SizeReverb MixMod Depth
- Parameter locks that protect values from dice randomization
- Factory presets from
Resources/Presets.json - User preset save/import/export in JSON format
- Compact view plus
advancedview for per-module controls
Requirements:
- macOS
- CMake
>= 3.22 - Xcode Command Line Tools or a recent Clang toolchain
- JUCE checked out at
external/JUCE
Clone with submodules:
git clone --recurse-submodules <your-repo-url>
cd <repo-folder>If JUCE is missing:
git submodule update --init --recursiveBuild:
cmake -S . -B build
cmake --build build --config ReleaseWith COPY_PLUGIN_AFTER_BUILD enabled in CMakeLists.txt, the Release build is copied to the macOS VST3 location:
~/Library/Audio/Plug-Ins/VST3/DiceFX.vst3
.
├── CMakeLists.txt
├── Resources/
│ └── Presets.json
├── Source/
│ ├── Dsp/
│ ├── Mod/
│ ├── Presets/
│ ├── Random/
│ ├── PluginEditor.cpp
│ ├── PluginEditor.h
│ ├── PluginProcessor.cpp
│ └── PluginProcessor.h
└── external/
└── JUCE/
- Factory presets are embedded from Resources/Presets.json.
- User presets are stored under:
~/Library/Application Support/DiceFX/Presets
- Import/export uses plain JSON so preset files are easy to inspect and version.
- This repository is currently
macOS-first. AU, Windows packaging polish, extra modulation routing, and more effect models are still future work.- The UI and DSP are under active iteration and should be treated as a development build rather than a final release.
DiceFX is released under GPL-3.0. See LICENSE.
Because JUCE is used under the GPL workflow here, distributing derivative closed-source builds would require a different JUCE licensing path.