- C++ 94.6%
- CMake 2.8%
- Makefile 2.6%
| lib | ||
| Source | ||
| Tests | ||
| .gitignore | ||
| CMakeLists.txt | ||
| Makefile | ||
| monoslicershot.png | ||
| 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.
Screenshot
Features
- Slice & trigger - Load WAV, AIFF, FLAC, or OGG files and play slices chromatically via MIDI (starting at C4)
- 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
- Bass / Treble -- Adjust low and high frequency emphasis for onset detection (affects how auto-slicing works)
- 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 75% to 200%
Building
Requires CMake 3.22+ and a C++17 compiler.
make # Fetch JUCE, configure, build
make install # Build, then copy the plugins to your system directories
make only builds — installing to system plugin folders is opt-in via make install.
On macOS make install copies the AU to ~/Library/Audio/Plug-Ins/Components and the VST3
to ~/Library/Audio/Plug-Ins/VST3, then triggers an Audio Unit rescan. On Linux it copies the
VST3 bundle to ~/.vst3.
Individual targets are also available:
make fetch # Clone JUCE 8.0.9
make configure # CMake configure
make build # Build (Release)
make install # Build, then install (AU + VST3 on macOS, VST3 on Linux)
Tests
make test
Currently one suite: Tests/DragAndDropTest.cpp verifies that dropping an audio file
onto the editor is discovered and loaded. It uses a real native peer, so it exercises
the same code path a host does. Tests build in a separate build-tests/ directory, so
make is unaffected.
Clean
make clean # removes build/ and build-tests/
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 C4 triggers slice 0, C#4 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 |
