From 8ea017208bfd21574e22700675a86cbf711cbd76 Mon Sep 17 00:00:00 2001 From: Armin Date: Tue, 21 Jul 2026 02:08:44 +0200 Subject: [PATCH] Add README --- README.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..00cad9a --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +# MonoSlicer + +A monophonic sample slicer and sampler instrument built with [JUCE](https://juce.com/) and CMake. + +Load an audio file, slice it into regions (automatically via onset detection or manually), and trigger individual slices via MIDI. + +## Features + +- **Slice & trigger** -- Load WAV, AIFF, FLAC, or OGG files and play slices chromatically via MIDI (starting at C3) +- **Auto-slice** -- Onset-based detection with adjustable sensitivity +- **Manual slice control** -- Click to add, right-click to remove, drag to reposition slice markers +- **Per-voice envelopes** -- Amplitude and filter ADSR envelopes with configurable depth +- **Filter** -- 5-mode biquad filter (LP12, LP24, HP, Bandpass, Notch) with cutoff, resonance, and envelope depth +- **Tone shaping** -- Bass and treble controls +- **Pitch shift** -- Key transpose from -12 to +12 semitones +- **Time stretch** -- Resample to a target beat count at a given BPM +- **Undo/redo** for slice operations +- **Zoomable waveform display** with piano key sidebar and time ruler +- **Full DAW state recall** -- All parameters and slices are saved with your session +- **UI scaling** from 50% to 200% + +## Building + +Requires CMake 3.22+ and a C++17 compiler. + +```sh +make fetch # Clone JUCE 8.0.9 +make configure # CMake configure +make build # Build (Release) +``` + +### Installing + +```sh +make install +``` + +Copies AU and VST3 to the system plugin directories and triggers an Audio Unit rescan. + +### Clean + +```sh +make clean +``` + +## Plugin Formats + +- Audio Unit (AU) +- VST3 +- Standalone + +## Usage + +1. Load an audio file via the **Load** button, drag-and-drop, or the **<** / **>** buttons to browse the current folder +2. Click **Auto Slice** or manually click on the waveform to place slice markers +3. Play slices via MIDI -- note C3 triggers slice 0, C#3 triggers slice 1, and so on +4. Shape the sound with the amp/filter envelopes, filter, and tone controls + +### Waveform Interaction + +| Action | Effect | +|---|---| +| Left-click on waveform | Add slice marker | +| Drag slice marker | Reposition | +| Right-click on waveform | Remove nearest slice | +| Click piano key | Trigger corresponding slice | +| Mouse wheel | Zoom / scroll |