Add project README

This commit is contained in:
Armin 2026-09-09 12:37:06 +02:00
commit 0c5efd443f

View file

@ -0,0 +1,49 @@
# Pascalcompressor
An audio compressor audio plugin, built with [JUCE](https://juce.com/) as an Audio Unit (AU) and VST3.
## What it is
Pascalcompressor is a dynamics processing plugin — a compressor — that reduces the level of audio that exceeds a threshold, making loud parts quieter and the overall signal more consistent. It's the kind of tool you use to glue a mix together, tame peaks, or shape the punch of a track.
## What it does
The plugin's DSP (in `Source/Compressor.cpp`) implements a classic soft-knee compressor with the standard controls:
- **Input** — pre-gain applied to the signal before detection
- **Threshold** — the level above which compression kicks in
- **Ratio** — how much gain reduction is applied above the threshold
- **Attack** — how fast the compressor responds once the signal crosses the threshold
- **Release** — how fast it lets go after the signal drops back below
- **Makeup gain** — compensates for the level lost to compression
- **Dry/wet** — blend between the uncompressed and compressed signal, handy for parallel compression
It uses a feed-forward design with a mono-summed detector and a one-pole envelope follower, so the gain reduction feels smooth and "glued" to the source.
## Why it's called Pascalcompressor
A friend of mine is named Pascal. This is named after him — "the Pascal compressor."
## Building
The project is set up with CMake and JUCE's `FetchContent` (it pulls JUCE automatically into `build/_deps`). See the `Makefile` for common targets, e.g.:
```sh
make build # configure + build default targets
make install # build and install the plugin
make smoke # run a smoke test against the built AU (if present)
```
Configuration defaults to a build in `build/`; see the `Makefile` for available
variables (e.g. `CONFIG`) and targets.
Build output lands in `build/Pascalcompressor_artefacts/` (`.component` for AU, `.vst3` for VST3).
## Repository layout
```
Source/ plugin DSP and editor code
Tests/ unit tests
CMakeLists.txt
Makefile
```