Skip to content

Latest commit

Β 

History

109 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DSP4Guitar β€” Cyberpunk Multi-Effect Processor

CI

"Plug in. Drop out. Enter the Matrix."

DSP4Guitar Banner


Overview

A professional-grade, multi-effect VST3/AU plugin built with the JUCE framework, wrapped in a full cyberpunk / Matrix-terminal aesthetic β€” neon-green-on-black UI, scrolling Matrix-rain header animation, glowing LED toggles, and custom rotary knobs.

The plugin provides a 10-effect processing chain, each independently bypassable, running in a fixed signal-flow order optimised for guitar. Parameters are DAW-automatable via JUCE's AudioProcessorValueTreeState and plugin state is persisted across sessions.

UI Preview

Plugin UI Logo
Plugin UI Logo

The SVG vector mockup is at assets/screenshots/plugin_ui.svg.


Features

βœ… Cyberpunk / Matrix terminal UI β€” neon green #00FF41, dark-panel aesthetic, scrolling rain animation
βœ… 10-effect signal chain β€” each effect independently bypassable
βœ… Bitcrusher β€” bit-depth reduction and sample-rate downsampling for lo-fi tones
βœ… Fuzz β€” hard-clipping drive with tone shaping and output level
βœ… 3-Band Multiband Compressor β€” independent crossover compression per band
βœ… Ring Modulator β€” LFO-driven amplitude modulation
βœ… Auto Wah β€” LFO-swept band-pass filter with resonance control
βœ… Phaser β€” all-pass stage phasing with feedback
βœ… Chorus β€” modulated delay chorus
βœ… Tremolo β€” LFO-controlled amplitude tremolo
βœ… Delay β€” feedback tape delay (up to 2 s)
βœ… Reverb β€” Schroeder-style room reverb
βœ… Preset save/load β€” full parameter state persisted via XML
βœ… Real-time waveform visualisation


Effect Chain

Effects are processed in the following fixed order. Each effect can be enabled or disabled independently with its toggle button.

# Effect Key Controls
1 Bitcrusher Bit Depth (2–16 bits), Downsample rate (1–100Γ—)
2 Fuzz Drive (1–100), Tone, Level (dB), Mix
3 Multiband Compressor Per-band threshold (Low/Mid/High), Ratio, Attack, Release, Makeup gain
4 Ring Modulator LFO Rate (20–5 000 Hz), Depth
5 Auto Wah LFO Rate, Sweep Depth, Centre Frequency (300–3 000 Hz), Resonance, Mix
6 Phaser Rate, Depth, Feedback, Mix
7 Chorus Rate, Depth, Mix
8 Tremolo Rate, Depth
9 Delay Time (1–2 000 ms), Feedback, Mix
10 Reverb Room Size, Damping, Wet Level, Dry Level, Width

See Documentation/effects-reference.md for the full parameter reference, including ranges and default values.


Cyberpunk Colour Palette

Token Hex Usage
Matrix Green #00FF41 Active knobs, borders, LEDs
Dark Green #00B300 Track fills, secondary labels
Near-Black #050505 Knob backgrounds
Dark BG #0D0D1A Window background
Cyan #00FFFF Accent labels, corner brackets
Gray #444444 Inactive / disabled elements

Installation

Prerequisites

Tool Version
CMake β‰₯ 3.15
C++ compiler C++17 (MSVC 2019+, Clang 10+, GCC 9+)
JUCE 7.0.9 (downloaded automatically by CMake/CI)

Linux only β€” install audio dev packages:

sudo apt-get install libasound2-dev libjack-jackd2-dev libcurl4-openssl-dev \
  libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev \
  libxinerama-dev libxrandr-dev libxrender-dev libglu1-mesa-dev mesa-common-dev

macOS only β€” install Xcode Command Line Tools:

xcode-select --install

Build from Source

# 1. Clone the repository
git clone https://github.com/GizzZmo/DSP4Guitar.git
cd DSP4Guitar

# 2. Download JUCE framework
git clone --depth 1 --branch 7.0.9 https://github.com/juce-framework/JUCE.git

# 3. Configure and build (Release)
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

Install the Plugin

Copy the built file to your DAW's plugin folder:

Platform VST3 path AU path
Linux ~/.vst3/ β€”
macOS /Library/Audio/Plug-Ins/VST3/ /Library/Audio/Plug-Ins/Components/
Windows C:\Program Files\Common Files\VST3\ β€”

Then open your DAW, rescan plugins, and load DSP4Guitar.

Download Pre-built Binaries

Pre-built VST3/AU binaries are attached to each GitHub Release and to every successful CI run (Actions tab β†’ run β†’ Artifacts).


How to Use

  1. Load the plugin on a guitar track (or any mono/stereo audio source).
  2. Enable the effects you want using the toggle buttons.
  3. Adjust parameters with the rotary knobs and sliders.
  4. Save your settings as a preset for instant recall.
  5. Use MIDI program-change messages to switch presets hands-free.
  6. Monitor the processed signal with the real-time waveform display.

Development

Architecture

MultiEffectProcessor (AudioProcessor)
β”œβ”€β”€ EffectChain (juce::dsp::ProcessorChain)
β”‚   β”œβ”€β”€ Bitcrusher
β”‚   β”œβ”€β”€ Fuzz
β”‚   β”œβ”€β”€ MultibandCompressor
β”‚   β”œβ”€β”€ RingModulator
β”‚   β”œβ”€β”€ WahWah
β”‚   β”œβ”€β”€ juce::dsp::Phaser
β”‚   β”œβ”€β”€ juce::dsp::Chorus
β”‚   β”œβ”€β”€ Tremolo
β”‚   β”œβ”€β”€ juce::dsp::DelayLine  (manual feedback loop in processBlock)
β”‚   └── juce::dsp::Reverb
└── AudioProcessorValueTreeState (APVTS)
    └── All parameters (bypassable per-effect + per-effect controls)

MultiEffectProcessorEditor (AudioProcessorEditor)
β”œβ”€β”€ CyberpunkLookAndFeel  (custom JUCE LookAndFeel)
β”œβ”€β”€ PresetManager
└── Per-effect panels (knobs, toggles, labels)

Source Files

File Purpose
MultiEffectProcessor.h/.cpp Plugin entry point, DSP classes, effect chain
PluginEditor.h/.cpp GUI β€” panels, knobs, waveform display
CyberpunkLookAndFeel.h Custom JUCE LookAndFeel (cyberpunk theme)
PresetManager.h/.cpp Save/load presets to/from XML
Delay.h/.cpp Legacy delay helper (superseded by DelayLine in chain)
Distortion.h/.cpp Legacy distortion helper
Modulation.h/.cpp Legacy modulation helper
StereoWidening.h/.cpp Stereo widening utility
DSP4GuitarApp.h Standalone app wrapper

CI/CD

The project uses GitHub Actions for automated multi-platform builds, code quality checks, and release packaging:

  • πŸ“– CI Quick Start β€” get up and running in minutes
  • πŸ“– CI Documentation β€” full workflow reference
  • πŸ” Run ./scripts/pre-commit-check.sh (Linux/macOS) or .\scripts\pre-commit-check.ps1 (Windows) to validate locally before pushing

Contributing

See CONTRIBUTING.md for code standards, build instructions, and pull request guidelines.


Documentation

Document Description
Documentation/effects-reference.md Full parameter reference for all 10 effects
Documentation/readme.md DSP theory compendium β€” distortion, dynamics, filters, modulation
Documentation/vstplugin.md VST plugin architecture and integration guide
Documentation/performance.md Real-time performance and multi-channel processing
Documentation/interactivemidi.md Waveform display and MIDI control integration
.github/CI_DOCUMENTATION.md CI/CD workflow reference

License

MIT License β€” open-source for personal and commercial use. See LICENSE.

About

Multi-Effect VST Plugin 🎸 A JUCE-based multi-effect VST/AU plugin with advanced signal processing. Built With - C++ (JUCE Framework) - Real-time DSP algorithms - MIDI integration - Custom preset system - Advanced effect chaining and more Goals: Provide an efficient, professional-grade audio processing plug in for guitar.

Topics

Resources

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages