An advanced sample slicer plugin, implemented in C++ with JUCE
  • C++ 95.8%
  • Makefile 2.1%
  • CMake 2.1%
Find a file
Armin 73c4095139 Add octave offset dropdown, fix waveform sidebar, embed audio in plugin state
- Add octave offset combo (-3 to +3) in title bar for MIDI input transposition
- Fix waveform sidebar base note from C3 to C4
- Fix midiNoteToSliceIndex to compare pitch classes instead of raw MIDI notes
- Add colored slice indicator dots on waveform sidebar keys
- Embed audio data, file path, sample rate, and slices in plugin state for
  DAW project save/restore (falls back to file path if embedded data missing)
2026-07-21 15:20:49 +02:00
lib Initial commit 2026-07-21 02:06:45 +02:00
Source Add octave offset dropdown, fix waveform sidebar, embed audio in plugin state 2026-07-21 15:20:49 +02:00
.gitignore Initial commit 2026-07-21 02:06:45 +02:00
CMakeLists.txt Fix all compilation warnings 2026-07-21 13:16:19 +02:00
Makefile Initial commit 2026-07-21 02:06:45 +02:00
monoslicershot.png Add screenshot to README 2026-07-21 02:10:11 +02:00
README.md Fix UI scale range: 75% to 200% 2026-07-21 02:15:39 +02:00

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

MonoSlicer

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, 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.

Individual targets are also available:

make fetch      # Clone JUCE 8.0.9
make configure  # CMake configure
make build      # Build (Release)
make install    # Install AU + VST3 to system directories

Clean

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
  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