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.
  • Audio Unit Hosting: Host AUv3 instruments directly within the app for purely digital sampling (no cables required).
  • Computer Voice (TTS): Generate high-quality vocal samples from text using macOS system voices.
  • Organization: Custom filename prefixes for easy sample management.
  • MPC Keygroup Export: Generates a ready-to-load .xpm program file for Akai MPCs (supports both Keygroup and Drum programs).
  • DAW Connectivity: Dedicated "DAW" MIDI mode for internal routing.

Usage

Prerequisites

Important

Audio Device Selection: For traditional sampling, 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. This is not required for the TTS Sampler or Hosted Plugins.

Traditional Sampling 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:
    • Input Source:
      • Hardware Input: Use your audio interface (select Device and Channel).
      • Hosted Plugin: Load a software instrument (AUv3) directly.
    • Hosted Plugin Mode:
      • Select your instrument from the dropdown (e.g., Kontakt, Serum).
      • Click "Show Plugin Interface" to open the plugin window.
      • Use the Preview (►) button in the window's toolbar to audition sounds.
      • Use the Note dropdown next to the button to select the prediction pitch (Default: C3).
    • General: Toggle "Stereo Recording" if needed (Default: On).
    • MIDI Channel: Select the MIDI channel (1-16) to match your hosted instrument's receiving channel.
    • Architecture: SampleBot uses a dedicated recording mixer to ensure pristine audio capture from plugins.
  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.
    • Keyswitch: Toggle "Send Keyswitch" to trigger an articulation change before sampling. Select the keyswitch note (e.g., C-1) to be sent 1 second before the recording starts.
    • 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.

Computer Voice (TTS) Steps

  1. Open Tool: Click the "TTS Sampler" button in the Tools section.
  2. Voice Selection: Choose a voice from the dropdown. Use the Play button to preview how the voice sounds.
  3. Configuration:
    • Enter a Program Name for your MPC Drum Program.
    • Click "Select..." to choose an output folder for the samples.
  4. Input Text:
    • Banks A-D: Use the segmented bank picker to navigate 64 phrases across 4 banks.
    • Manual Entry: Enter text directly into any pad slot.
    • Import Text File: Click "Import Text File" to load a newline-delimited list of phrases (up to 64).
  5. Generate: Click "Start Sampling (64 Pads)". The app will generate up to 64 .wav files and a matching .xpm Drum Program file.
    • Naming: Files are organized by bank and pad (e.g., Program_BankA_Pad01_Hello.wav).
    • Note Mapping: Phrases are mapped to MIDI notes 36-99 (Banks A, B, C, and D).
    • Auto-Close: The window automatically closes upon successful completion to release file handles.

Technical Details

  • Built with: SwiftUI, AVFoundation, CoreMIDI.
  • Format: Records 16-bit PCM Interleaved WAV files, ensuring maximum compatibility with hardware samplers and DAWs.

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