monoslicer/README.md

72 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

# Monoslicer
2026-07-21 02:08:44 +02:00
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.
2026-07-21 02:10:11 +02:00
## Screenshot
![Monoslicer](monoslicershot.png)
2026-07-21 02:10:11 +02:00
2026-07-21 02:08:44 +02:00
## 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
2026-07-21 02:08:44 +02:00
- **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
2026-07-21 02:15:39 +02:00
- **UI scaling** from 75% to 200%
2026-07-21 02:08:44 +02:00
## Building
Requires CMake 3.22+ and a C++17 compiler.
2026-07-21 02:12:16 +02:00
```sh
make # Fetch JUCE, configure, build, and install (AU + VST3)
```
Running `make` with no arguments will fetch JUCE, build Monoslicer in Release mode, copy the AU and VST3 plugins to your system directories, and trigger an Audio Unit rescan.
2026-07-21 02:12:16 +02:00
Individual targets are also available:
2026-07-21 02:08:44 +02:00
```sh
make fetch # Clone JUCE 8.0.9
make configure # CMake configure
make build # Build (Release)
2026-07-21 02:12:16 +02:00
make install # Install AU + VST3 to system directories
2026-07-21 02:08:44 +02:00
```
### 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 C4 triggers slice 0, C#4 triggers slice 1, and so on
2026-07-21 02:08:44 +02:00
4. Shape the sound with the amp/filter envelopes, filter, and tone controls
### Waveform Interaction
| Action | Effect |
|--|--|
2026-07-21 02:08:44 +02:00
| 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 |