mirror of
https://codeberg.org/armin/monoslicer.git
synced 2026-09-01 04:10:45 +02:00
An advanced sample slicer plugin, implemented in C++ with JUCE
- C++ 95.8%
- Makefile 2.1%
- CMake 2.1%
| lib | ||
| Source | ||
| .gitignore | ||
| CMakeLists.txt | ||
| Makefile | ||
| README.md | ||
MonoSlicer
A monophonic sample slicer and sampler instrument built with JUCE 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.
make fetch # Clone JUCE 8.0.9
make configure # CMake configure
make build # Build (Release)
Installing
make install
Copies AU and VST3 to the system plugin directories and triggers an Audio Unit rescan.
Clean
make clean
Plugin Formats
- Audio Unit (AU)
- VST3
- Standalone
Usage
- Load an audio file via the Load button, drag-and-drop, or the < / > buttons to browse the current folder
- Click Auto Slice or manually click on the waveform to place slice markers
- Play slices via MIDI -- note C3 triggers slice 0, C#3 triggers slice 1, and so on
- 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 |