mirror of
https://codeberg.org/armin/pascalcompressor.git
synced 2026-10-11 16:51:56 +02:00
Add project README
This commit is contained in:
parent
2128e3ab30
commit
0c5efd443f
1 changed files with 49 additions and 0 deletions
49
README.md
49
README.md
|
|
@ -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
|
||||||
|
```
|
||||||
Loading…
Add table
Add a link
Reference in a new issue