Getting Started

What is Batchy?

Batchy is a professional audio processing tool that combines:

  • Visual Node-Based Processing — Build audio chains visually with drag-and-drop nodes
  • Batch Automation — Process hundreds of files with intelligent filename templating
  • Real-Time Playback — Hear your changes instantly with professional audio quality
  • Professional Visualization — RX-style spectrograms and waveform analysis
First Launch

1. Audio Device Setup

Configure your audio interface for optimal performance:

  1. Go to Preferences → Audio Settings
  2. Select your audio interface from the dropdown
  3. Choose sample rate (44.1kHz, 48kHz, 96kHz, etc.)
  4. Set buffer size:
    • Smaller (64-128 samples) = Lower latency, higher CPU usage
    • Larger (512-1024 samples) = Higher latency, lower CPU usage
    • Recommended: 256 samples for most systems

2. Plugin Scanning

Batchy automatically scans for plugins on first launch. Supported formats: VST3 and AU (macOS).

To rescan: Preferences → Plugin Management → Scan Plugins

Default Plugin Locations:

PlatformFormatPath
macOSVST3/Library/Audio/Plug-Ins/VST3
macOSAU/Library/Audio/Plug-Ins/Components
WindowsVST3C:\Program Files\Common Files\VST3
Basic Workflow

Opening an Audio File

Drag and Drop: Drag an audio file from Finder/Explorer onto the Batchy window.

File Menu: Click File → Open Audio File (Cmd/Ctrl+O)

Supported Formats: WAV, AIFF, FLAC, MP3, OGG, M4A, WMA

Building Your First Processing Chain

  1. Switch to Effect Chain View — Click the "Effect Chain" tab
  2. Add Nodes — Drag a node from the left panel onto the canvas
  3. Connect Nodes — Click and drag from an output pin (right side) to an input pin (left side)
  4. Adjust Parameters — Click a node to select it, adjust in the right panel

Example chain:

Input → Gain (+3dB) → Parametric EQ (boost 5kHz) → Compressor → Output

Real-Time Playback

ControlShortcut
Play/PauseSpace
StopCmd/Ctrl + .
Toggle LoopL
Toggle Bypass (A/B)B
Saving & Presets
  1. Click File → Save Preset
  2. Enter a name for your preset
  3. Add description (optional but recommended)
  4. Choose a category (e.g., "Mastering", "Dialogue", "Music")
  5. Add tags for easy searching
  6. Click "Save"

Your preset is saved as a .batchyfx file and can be recalled via File → Load Preset, used for batch processing, shared with colleagues, and used cross-platform.

Batch Processing (GUI)
  1. Load Files — Add multiple files to the file list (drag and drop) or File → Add Files to Batch
  2. Configure Output — Right-click Output node, set filename template, format, sample rate, bit depth
  3. Start Processing — Click Process → Batch Process Files, review and click "Process"

For command-line processing, see the CLI / Headless section.

Visualization Tools

Waveform View

  • Dual-channel stereo display
  • Zoom: Mouse wheel or pinch gesture
  • Toggle between original and processed views
  • Loop regions: Click and drag to set A-B loop points

Spectrogram View

Enable via View → Show Spectrogram

SettingOptions
Color SchemeRX-Style, Classic, Heat, Blue
Frequency ScaleLogarithmic (music), Linear (technical), Mel (vocals), Bark (psychoacoustic)
Dynamic RangeAdjustable (default: 70dB)
Essential Nodes
NodePurposeKey Parameters
GainLevel controlGain (dB)
Parametric EQFrequency shapingFrequency, Q, Gain per band
CompressorDynamic controlThreshold, Ratio, Attack, Release
LimiterLoudness maximizationCeiling, Release
DelayEcho effectsTime, Feedback, Mix
ReverbSpatial effectsRoom Size, Damping, Mix
Spectrum AnalyzerFrequency visualizationFFT Size, Display Mode
Level MeterLoudness meteringPeak, RMS, LUFS
Tips for Success

Performance

  • Adjust buffer size — increase if you experience dropouts
  • Batch processing automatically uses multiple CPU cores
  • Complex chains can be bounced to audio for better performance

Workflow

  • Save commonly-used chains as presets
  • Right-click node → Rename to label complex graphs
  • Use sticky notes and arrows to document routing
  • Always test with a single file before batch processing

Quick Reference

Common Tasks
TaskHow
Load Audio FileDrag & drop onto window, or File → Open (Cmd/Ctrl+O)
Build Processing ChainEffect Chain tab → drag nodes → connect pins
Save PresetFile → Save Preset (Cmd/Ctrl+S)
Load PresetFile → Load Preset, or double-click .batchyfx file
Batch Process (GUI)Add files → configure Output node → Process → Batch Process
Batch Process (CLI)./Batchy --batch-process --input <path> --preset <file>
Audio Settings

Sample Rates

RateUse
44.1 kHzCD quality
48 kHzVideo/film standard
96 kHzHi-res audio
192 kHzUltra hi-res (high CPU)

Buffer Sizes

SizeLatencyCPU
64-128 samples3-6msHigh
256 samples~6msBalanced (Recommended)
512-1024 samples12-23msLow
2048 samplesVery highMinimal

Bit Depths

DepthUse
16-bitCD quality, smaller files
24-bitProfessional standard
32-bit floatMaximum headroom, no clipping
Supported Formats

Input

WAV, AIFF, FLAC, MP3, OGG Vorbis, M4A, WMA

Output

FormatType
WAVUncompressed PCM (16/24/32-bit)
AIFFUncompressed PCM (16/24/32-bit)
FLACLossless compression
Filename Tokens

Date/Time

TokenExample
$year, $month, $day2025, 10, 19
$date2025-10-19
$timestamp20251019-143022

File & System

TokenDescription
$filenameOriginal name without extension
$counter{N}Auto-incrementing (N = zero-padding digits)
$outputnodeName of the output node
$userSystem username
$computerHostname

Path Tokens

$documents, $music, $desktop, $home, $source, $working

User-Defined

$project, $author, $client, $engineer, $studio, $show

Metadata Tokens (require MetadataProvider nodes)

$sample_rate, $bit_depth, $duration, $channels, $file_size, $file_created, $parent_folder

Common Templates

$filename_processed           → mysong_processed.wav
$date/$filename              → 2025-10-19/mysong.wav
$client/$project/$filename   → ABC Studios/Album 2025/mysong.wav
File Locations

macOS

TypePath
Presets~/Library/Application Support/Batchy/Presets/
Logs~/Library/Logs/Batchy/
Settings~/Library/Application Support/Batchy/Settings/
Plugin Cache~/Library/Application Support/Batchy/pluginList.xml

Windows

TypePath
Presets%APPDATA%\Batchy\Presets\
Logs%APPDATA%\Batchy\Logs\
Settings%APPDATA%\Batchy\Settings\
Plugin Cache%APPDATA%\Batchy\pluginList.xml
CLI Exit Codes
CodeMeaning
0Success — all files processed
1Partial failure — some files failed
2Complete failure — configuration error or all files failed
Performance Tips
  1. Use appropriate buffer size — balance latency vs. CPU
  2. Process similar files together — same format/rate = faster
  3. Use multi-threading for batches — set --max-threads to CPU core count
  4. Test with dry run — validate before processing large batches
  5. Use local storage — network drives slow processing
  6. Close other audio apps — prevent interface conflicts

Keyboard Shortcuts

Transport Controls
ShortcutAction
SpacePlay/Pause
Cmd/Ctrl + .Stop (return to start)
LToggle Loop
BToggle Bypass (A/B)
HomeJump to Start
EndJump to End
File Operations
ShortcutAction
Cmd/Ctrl + OOpen Audio File
Cmd/Ctrl + SSave Preset
Cmd/Ctrl + Shift + SSave Preset As
Cmd/Ctrl + WClose Window
Cmd/Ctrl + QQuit Application
Editing
ShortcutAction
Cmd/Ctrl + ZUndo
Cmd/Ctrl + Shift + ZRedo
Cmd/Ctrl + XCut
Cmd/Ctrl + CCopy
Cmd/Ctrl + VPaste
Cmd/Ctrl + DDuplicate
DeleteDelete Selected
Cmd/Ctrl + ASelect All
EscapeClear Selection
Graph Navigation
ShortcutAction
Space + DragPan Canvas
Middle Mouse + DragPan Canvas (alt)
Mouse WheelZoom In/Out
Cmd/Ctrl + +Zoom In
Cmd/Ctrl + -Zoom Out
Cmd/Ctrl + 0Fit to Window
FFrame Selection
HHome View
TabSwitch View (Waveform/Effect Chain)
Node Operations
ShortcutAction
Double-Click NodeOpen Editor
Cmd/Ctrl + ClickAdd to Selection
Cmd/Ctrl + EBypass Selected
RRename Node
Cmd/Ctrl + INode Info
Parameter Adjustment
ShortcutAction
Click + DragAdjust Value
Shift + DragFine Adjust (10x slower)
Double-Click SliderReset to Default
Alt + ClickType Numeric Value
Arrow KeysIncrement/Decrement
Page Up/DownLarge Adjust
Waveform View
ShortcutAction
Mouse WheelZoom Horizontal
Shift + Mouse WheelZoom Vertical
Click + DragSet Loop Region
Double-ClickClear Loop
SToggle Spectrogram
MToggle Mono/Stereo
GToggle Grid
Batch Processing
ShortcutAction
Cmd/Ctrl + BOpen Batch Window
Cmd/Ctrl + EnterStart Processing
EscapeCancel Processing
Cmd/Ctrl + RRefresh Preview
Quick Reference Card
Space       Play/Pause
Cmd/Ctrl+S  Save Preset
Cmd/Ctrl+Z  Undo
Delete      Delete Selected
B           Bypass (A/B)
Tab         Switch View
Cmd/Ctrl+0  Fit Graph

CLI / Headless Processing

Overview

Batchy provides powerful command-line batch processing capabilities. True headless operation that doesn't require a display server or GUI session — perfect for CI/CD pipelines, SSH sessions, Docker containers, and server environments.

Quick Start

Process a single file:

./Batchy --batch-process --input audio.wav --preset my_effect.batchyfx

Process all files in a directory:

./Batchy --batch-process --input /path/to/audio/folder --preset my_effect.batchyfx
Command Line Options

Required Arguments

OptionDescription
--batch-processEnable headless batch processing mode
--input <path>Input audio file or directory
--preset <file>Batchy preset file (.batchyfx)

Output Configuration

OptionDescriptionExample
--output-dir <path>Output directory--output-dir /exports
--output-format <fmt>Format: wav, aiff, flac--output-format flac
--output-sample-rateSample rate or "same"--output-sample-rate 48000
--output-bit-depth16, 24, 32float, or "same"--output-bit-depth 24
--output-filenameFilename template--output-filename '$filename_processed'
--output <sel>Select output nodes--output "Master"
--output-overridePer-output settings--output-override "Master:format:flac"

Processing Options

OptionDescription
--normalization <type>none, peak, rms, lufs
--target-loudness <dB>LUFS target (e.g., -16)
--max-threads <count>Parallel threads (default: min(4, cores))
--progressShow progress bar
--verboseDetailed logging
--dry-runValidate without processing
Filename Templates

Built-in Tokens

TokenDescriptionExample
$filenameOriginal name (no extension)mysong
$outputnodeOutput node nameMaster
$dateYYYY-MM-DD2025-10-17
$timestampFull timestamp20251017-143022
$counter{N}Zero-padded counter001, 002, ...
$userSystem usernamejohndoe

Path Tokens

$documents, $music, $desktop, $home, $working, $source

User-Defined Tokens

Set via CLI arguments: --project, --author, --client, --engineer, --studio, --show

batchy --batch-process \
  --input ./audio \
  --preset mypreset.batchyfx \
  --project "Album 2025" \
  --author "Artist Name" \
  --output-filename '$project/$author/$filename'
# Produces: Album 2025/Artist Name/mysong.wav

Metadata Tokens

Require MetadataProvider nodes in your preset:

  • File: $file_size, $file_modified, $file_created, $parent_folder
  • Audio: $sample_rate, $bit_depth, $duration, $channels
Multi-Output Processing

Batchy supports presets with multiple output nodes. By default, all output nodes are rendered.

# Render specific outputs only
./Batchy --batch-process \
  --input audio.wav \
  --preset stems_preset.batchyfx \
  --output "Master,Vocals,Drums"

# Use wildcards
--output "Stems/*"

# Per-output format overrides
--output-override "Master:format:wav" \
--output-override "Stems/*:format:flac"
Examples

Process with custom output settings

./Batchy --batch-process \
  --input /audio/masters \
  --preset mastering_chain.batchyfx \
  --output-dir /audio/output \
  --output-format flac \
  --output-sample-rate 96000 \
  --output-bit-depth 24 \
  --normalization lufs \
  --target-loudness -14 \
  --progress

Watch folder automation

#!/bin/bash
WATCH_DIR="/audio/incoming"
PRESET="/presets/auto_process.batchyfx"
OUTPUT="/audio/processed"

inotifywait -m "$WATCH_DIR" -e create -e moved_to |
while read dir action file; do
    if [[ "$file" =~ \.(wav|aiff|flac)$ ]]; then
        ./Batchy --batch-process \
          --input "$WATCH_DIR/$file" \
          --preset "$PRESET" \
          --output-dir "$OUTPUT"
    fi
done

Script integration

#!/bin/bash
if ./Batchy --batch-process --input "$1" --preset effect.batchyfx; then
    echo "Processing completed successfully"
else
    echo "Processing failed with code $?"
fi
External Plugin Support

To use third-party VST/AU plugins in batch mode, first run the GUI to scan your plugins. The cache is stored at:

PlatformPath
macOS~/Library/Application Support/Batchy/pluginList.xml
Windows%APPDATA%/Batchy/pluginList.xml

The CLI automatically loads this cache. Without it, only built-in effects are available.

Error Handling & Limitations

Exit Codes

CodeMeaning
0Success: All files processed
1Partial failure: Some files failed
2Complete failure: Configuration error or all failed

Limitations

  • Real-time plugin parameters cannot be automated during batch processing
  • Maximum file size limited by available RAM
  • Some plugin formats may not be available in headless mode

Verbose Logging

./Batchy --batch-process --input file.wav --preset preset.batchyfx --verbose

Logs at: macOS ~/Library/Logs/Batchy/ • Windows %APPDATA%\Batchy\Logs\

Troubleshooting

Audio Issues

No Audio Output

  1. Check Preferences → Audio Settings — verify correct interface selected
  2. Ensure audio interface is connected and powered on
  3. Check system audio settings (macOS: System Settings → Sound → Output)
  4. Try increasing buffer size to 512 or 1024 samples
  5. Ensure sample rate matches your interface
  6. Press B to toggle bypass — if sound works, issue is in processing chain

Audio Dropouts / Glitches

  1. Increase buffer size (Preferences → Audio → Buffer Size)
  2. Close other audio applications and background apps
  3. Bypass heavy plugins to identify CPU-heavy nodes
  4. Use direct USB/Thunderbolt connection (avoid hubs)
  5. Copy files to local SSD before processing

Distortion or Clipping

  1. Check gain staging — aim for -6dB to -3dB peaks between nodes
  2. Reduce limiter/compressor intensity
  3. Bypass plugins one at a time to isolate culprit
  4. Use 24-bit or 32-bit float output for maximum headroom
Plugin Issues

Plugin Not Found

  1. Rescan: Preferences → Plugin Management → Scan Plugins
  2. Verify plugin location:
    • macOS VST3: /Library/Audio/Plug-Ins/VST3
    • macOS AU: /Library/Audio/Plug-Ins/Components
    • Windows VST3: C:\Program Files\Common Files\VST3
  3. Batchy supports VST3 and AU only — VST2 is not supported
  4. Plugins must be 64-bit
  5. Check blacklist: Preferences → Plugin Management → Blacklist
  6. macOS: Check System Settings → Privacy & Security for unsigned plugins

Plugin Crashes Batchy

  1. Note which plugin you added before the crash
  2. Update the plugin to latest version from vendor
  3. Send crash logs to support: macOS ~/Library/Logs/DiagnosticReports/

Plugin UI Not Appearing

  1. Double-click plugin node to open editor
  2. Check if plugin window is behind Batchy (Mission Control / taskbar)
  3. Close and reopen plugin editor, or restart Batchy
File Loading Problems

"File Could Not Be Loaded"

  1. Check format — Supported: WAV, AIFF, FLAC, MP3, OGG, M4A, WMA
  2. Verify file isn't corrupted (try opening in another app)
  3. Very high sample rates (384kHz+) may not be supported
  4. Check file permissions and path length

Large File Warnings

Batchy uses memory-mapped I/O — actual RAM usage is only 5-30 MB per file regardless of size. Warnings appear at files ≥ 2 GB and are informational only.

Adjust threshold: Preferences → File Limits → Warning Threshold (10-25%)

Drag and Drop Not Working

  1. Drop directly onto waveform area, not toolbar
  2. macOS: Check System Settings → Privacy → Files and Folders
  3. Try using File → Open instead
Batch Processing Issues

Batch Processing Fails to Start

  1. Verify preset file path and .batchyfx extension
  2. Check input path exists and files have supported extensions
  3. Ensure output directory exists and is writable
  4. Use --dry-run to validate configuration

Some Files Fail

  1. Use --verbose for detailed error messages
  2. Use --output-sample-rate same to avoid resampling issues
  3. Add $counter{3} to filename template to avoid conflicts
  4. Check disk space and file permissions

Processing is Very Slow

  1. Increase threads: --max-threads 8
  2. Copy files to local SSD (network drives are slow)
  3. Use --output-sample-rate same to skip resampling
  4. Use --progress to monitor
Performance & Stability

Slow / Laggy UI

  1. Close other applications to free RAM and CPU
  2. Very complex graphs (50+ nodes) can impact UI — consider splitting presets
  3. Increase buffer size for high-resolution files
  4. Update graphics drivers

Batchy Crashes

  1. Most crashes are plugin-related — disable recently added plugins
  2. Try deleting preferences: macOS ~/Library/Application Support/Batchy/
  3. Update your OS and Batchy to latest version
  4. Send crash logs to support

Batchy Won't Launch

  1. macOS Gatekeeper: Right-click → Open, or run xattr -cr /Applications/Batchy.app
  2. Windows SmartScreen: Click "More info" → "Run anyway"
  3. Try deleting license file and re-activating
License & Activation

"License Invalid" or "License Expired"

  1. Check license status: Preferences → License
  2. Ensure internet connection for first activation
  3. Copy-paste license key from email to avoid typos
  4. Personal licenses allow 2 simultaneous activations — deactivate old machine first

Trial Expired

Visit the website to purchase a full license. One trial per email address — reinstalling won't reset the trial.

Platform-Specific Issues

macOS: "Batchy is damaged and can't be opened"

xattr -cr /Applications/Batchy.app

Run in Terminal, then try launching again.

Windows: Missing DLL Error

Install Visual C++ Redistributable 2022 (x64) from Microsoft, then restart.

Windows: Audio Device Shows "ASIO4ALL"

Install proper ASIO drivers from your audio interface manufacturer.

Getting Help

Before contacting support, please gather:

  1. Batchy version (Help → About Batchy)
  2. Operating system version
  3. Audio interface make and model
  4. Steps to reproduce the issue
  5. Screenshots of error dialogs
  6. Crash logs: macOS ~/Library/Logs/DiagnosticReports/ • Windows %APPDATA%\Batchy\Logs\

Email: support@batchyandfriends.com

Typically within 24 hours (business days).

Known Issues

CoreRegistry Race Condition in Parallel Batch Processing

Status: RESOLVED (2026-01-31)

Resolution: Migrated from global CoreRegistry singleton to per-graph core ownership. Each graph now owns its cores, eliminating cross-graph interference.

Impact

  • 100-file batch processing with 8 threads: 100% reliable (was ~60% failure rate)
  • No more SIGSEGV/SIGABRT crashes from concurrent core access
  • Simpler mental model: cores are scoped to their owning graph

No open issues at this time. If you encounter a problem, please contact support@batchyandfriends.com.