Skip to content

A macOS utility for automating the sampling of hardware synthesizers and AUv3 plugins. Features automated MIDI triggering, multi-velocity audio recording, normalization, and direct MPC Keygroup export.

License

Notifications You must be signed in to change notification settings

cerkit/sample-bot

Repository files navigation

SampleBot

SampleBot is a macOS utility designed to automate the process of sampling hardware synthesizers. It sends MIDI Note On/Off messages to your external gear and simultaneously records the audio output, creating perfectly named and organized sample files.

Features

  • Automated Sampling: Automatically triggers notes across a specified range and records the audio.
  • Velocity Layers: Supports sampling at multiple velocity levels (Soft: 64, Medium: 100, Hard: 127).
  • Flexible Configuration: Set start/end notes, step size (stride), and note durations.
  • Audio Processing:
    • Normalization: Automatically normalizes recording levels.
    • Trimming: Option to trim silence/latency from the start of the sample.
    • Stereo/Mono: Choose between stereo or mono recording.
  • Organization: Custom filename prefixes for easy sample management.
  • MPC Keygroup Export: Generates a ready-to-load .xpm program file for Akai MPCs.
  • DAW Connectivity: Dedicated "DAW" MIDI mode for internal routing.

Usage

Prerequisites

Important

Audio Device Selection: SampleBot uses the system default audio input. Please ensure your audio interface is selected as the Input device in System Settings -> Sound before launching the app.

Steps

  1. Select Output Folder: Click "Select Folder" to choose where your .wav files will be saved.
  2. MIDI Settings:
    • Choose your hardware synthesizer from the "Destination" dropdown.
    • Select "DAW" to route notes to the virtual "SampleBot MIDI" source (for sampling VSTs/DAWs).
    • Click "Refresh Destinations" if your device isn't listed.
  3. Audio Settings:
    • Select the Input Channel corresponding to your synth's connection on your audio interface.
    • Toggle "Stereo Recording" if your synth is connected in stereo.
  4. Configuration:
    • Range: Set the Start Note and End Note (MIDI note numbers).
    • Step: Set how many semitones to skip (e.g., 1 for every note, 12 for octaves).
    • Velocity: Select which velocity layers to capture.
    • Timing: Adjust "Note Duration" (how long the key is held) and "Tail Duration" (how long to record release tails).
    • Normalization: If enabled, use the slider to set the Peak Level (e.g., -3.0 dB) to prevent clipping.
  5. MPC Keygroup (Optional):
    • Create MPC Keygroup: Generates an .xpm file for instant use on MPCs.
    • Playback: Configure One Shot, Loop, and Release time (for note-off fade outs).
  6. Start Sampling: Click the "Start Sampling" button. The app will iterate through your settings, recording each note automatically.

Technical Details

  • Built with: SwiftUI, AVFoundation, CoreMIDI.
  • Format: Records 32-bit Float WAV files (de-interleaved), suitable for high-quality audio production.

Installation

  1. Download the latest release zip file.
  2. Unzip the file.
  3. Drag SampleBot.app to your Applications folder.
  4. Double-click to launch.

(Since the app is signed and notarized, it should open without security warnings.)

About

A macOS utility for automating the sampling of hardware synthesizers and AUv3 plugins. Features automated MIDI triggering, multi-velocity audio recording, normalization, and direct MPC Keygroup export.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published