Batchy Documentation

Setup, batch processing, .batchyfx presets, CLI and headless rendering, plugin hosting, visualization, and troubleshooting for Batchy & Friends.

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

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, M4A, WMA, CAF

Output

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

Date/Time

TokenExample
$year, $month, $day2026, 04, 02
$date2026-04-02
$timestamp20260402-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              → 2026-04-02/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

Run ./Batchy --help for a full list of options, or --help-json for machine-readable output.

Executable Location

PlatformPath
macOS/Applications/Batchy.app/Contents/MacOS/Batchy
WindowsC:\Program Files\Batchy\Batchy.exe

If Batchy is on your PATH, use batchy --batch-process ... directly.

Command Line Reference

Required Arguments

OptionShortDescription
--batch-process--batchEnable headless batch processing mode
--input <path>-iInput audio file or directory
--preset <file>-pBatchy preset file (.batchyfx) or catalog preset name. Use --list-presets to see available catalog presets.

Output Configuration

OptionShortDescription
--output-dir <path>-oOutput directory (default: same as input)
--output-format <fmt>Output format: wav, aiff, flac, ogg, mp3
--output-sample-rate <rate>Sample rate (22050, 44100, 48000, 88200, 96000, 192000) or “same” to match input
--output-bit-depth <depth>Bit depth: 16, 24, 32, 32float, or “same”. (32 and 32float are equivalent — IEEE 754 single-precision float)
--output-channels <config>Channel layout: mono, stereo, or “same”
--output-filename <template>Filename template with $tokens (see Filename Templates section)
--output <selector>Select which output nodes to render (see Multi-Output section)
--output-overridePer-output setting overrides (see Per-Output Overrides section)

Processing Options

OptionShortDescription
--normalization <type>Normalization mode: none, peak, rms, lufs. Also accepts --normalisation. LUFS uses EBU R128 integrated loudness measurement. Peak uses sample peak (not true peak).
--target-loudness <dB>LUFS target in dBFS (e.g., -14). Range: -60 to 0. Common targets: Spotify/YouTube -14, Apple Music -16, broadcast (EBU R128) -23
--tail-length <seconds>Render additional tail after file ends, in seconds (for reverbs, delays). Without this flag, the preset’s tail settings are used.
--no-tailDisable tail rendering — output is truncated at input file duration
--max-threads <count>Parallel processing threads (default: min(4, CPU cores))
--preserve-formatKeep source file’s format when no override is specified. Also accepts --preserve-original-format.
--no-preserve-formatForce preset default format
--preserve-spacesPreserve spaces in output filenames (default behavior)
--overwrite-outputsOverwrite existing output files instead of skipping them

General Options

OptionShortDescription
--help-hShow help message
--help-jsonOutput help in JSON format — useful for building GUI wrappers or validating automation scripts
--list-override-keysList all valid per-output override keys and accepted values
--list-presetsList available catalog presets and exit
--verbose-vEnable detailed logging
--log-file <path>Write logs to a file (parent directory must exist)
--progressShow progress bar. Also accepts --show-progress.
--dry-runValidate inputs and configuration without processing
Supported Formats

Input Formats

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

Output Formats

  • Always available: WAV, AIFF, FLAC
  • Standard builds also include: OGG, MP3. Run --help to verify available formats in your build.

Note: AAC/M4A output is not supported.

Filename Templates

Important: Shell quoting. Templates containing $tokens must be single-quoted on macOS/Linux to prevent shell variable expansion:

--output-filename '$filename_$date'     # Correct (single quotes)
--output-filename "$filename_$date"     # WRONG — shell expands $filename and $date

On Windows CMD, $ is not special. In PowerShell, use single quotes or backtick escaping (`$filename).

Built-in Tokens

TokenDescriptionExample
$filenameOriginal filename (no extension)mysong
$outputnodeOutput node nameMaster

Date & Time Tokens

TokenDescriptionExample
$dateYYYY-MM-DD2026-03-26
$timeHH-MM-SS14-30-22
$timestampFull timestamp20260326-143022
$yearFour-digit year2026
$yearshortTwo-digit year26
$monthTwo-digit month03
$monthnameMonth nameMarch
$dayTwo-digit day26
$hourTwo-digit hour (24h)14
$minuteTwo-digit minute30
$secondTwo-digit second22

Counter Token

TokenDescriptionExample
$counterAuto-incrementing counter1, 2, 3, ...
$counter{N}Zero-padded to N digits001, 002, ...

Note: The {N} padding syntax only works with the $counter token.

System Tokens

TokenDescriptionExample
$userSystem usernamejohndoe
$computerComputer namestudio-mac

Path Tokens

For use in templates that include directory structure:

TokenDescription
$documentsUser’s Documents directory
$musicUser’s Music directory
$desktopUser’s Desktop directory
$homeUser’s home directory
$workingCurrent working directory
$sourceInput file’s parent directory
$appdataApplication data directory
$tempSystem temp directory

User-Defined Tokens

Set via CLI arguments:

FlagTokenDescription
--project <name>$projectProject name
--author <name>$authorAuthor/artist name
--client <name>$clientClient name
--engineer <name>$engineerEngineer name
--studio <name>$studioStudio name
--show <name>$showShow/production name
batchy --batch-process \
  --input ./audio \
  --preset mypreset.batchyfx \
  --project "Album 2026" \
  --author "Artist Name" \
  --output-filename '$project/$author/$filename'
# Produces: Album 2026/Artist Name/mysong.wav

Deliverable Metadata Tokens

These tokens resolve from the current processing context first, then fall back to values set in Batchy’s Preferences:

TokenDescription
$versionVersion identifier (e.g., “v2”, “final”)
$mixMix variant (e.g., “vocal up”, “instrumental”)
$languageLanguage tag (e.g., “en”, “es”)
$territoryTerritory/region (e.g., “US”, “EU”)
$deliverableDeliverable type (e.g., “master”, “stem”, “preview”)

Metadata Tokens

Require MetadataProvider nodes in your preset:

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

When your preset has multiple outputs, you can customize settings per output node. Run --list-override-keys to see all valid keys and accepted values.

Syntax

Two equivalent syntaxes:

--output-override="<target>:<key>:<value>"
--output:<target>.<key>=<value>

Where <target> is an output node name or wildcard selector (e.g., Stems/*).

Override Precedence

  1. Per-output overrides (--output-override, --output:) — highest
  2. Global CLI overrides (--output-format, --output-sample-rate, etc.)
  3. Preset defaults — lowest

Override Keys Reference

KeyAliasesValid ValuesDefault
output-formatformat, file-formatwav, aiff, flac, ogg, mp3wav
output-sample-ratesample-rate, samplerate, rate22050, 44100, 48000, 88200, 96000, 192000, samesame
output-bit-depthbit-depth, bitdepth, depth16, 24, 32, 32float, samesame
output-channelschannelsmono, stereo, samesame
normalizationnormalisationnone, peak, rms, lufsnone
target-loudnessloudness, targetloudness-60.0 to 0.0-14.0
output-filenamefilename, file-name, filename-templatetemplate with $tokens$filename
output-path-templatepath, output-path, path-templatetemplate with $tokens(empty)
preserve-formatpreserve-original-formattrue/false, yes/no, on/off, 1/0false
tail-lengthpositive number (seconds)(preset default)
no-tailtrue/false, yes/no, on/off, 1/0false

Examples

# Different format per output
--output-override="Master:format:wav" \
--output-override="Stems/*:format:flac"

# Different loudness targets for different delivery platforms
--output-override="Streaming:loudness:-14" \
--output-override="CD:loudness:-9"

# Using legacy syntax
--output:Master.format=wav \
--output:Stems/*.format=flac
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"
Audio Quality Notes

Sample Rate Conversion

When --output-sample-rate differs from the source, Batchy uses a 200-point windowed-sinc interpolator with better than -100 dB aliasing rejection. The highest quality setting is always used — this is not configurable.

Dithering

TPDF (Triangular Probability Density Function) dithering is applied when reducing bit depth (e.g., 32-float to 16-bit). Dithering is controlled by the preset’s output node settings — configure it in the GUI when creating your preset.

Double-dithering is automatically prevented: any in-graph dithering is suppressed during batch rendering so only the final post-render dither is applied.

Loudness Measurement

LUFS normalization uses an EBU R128 compliant loudness meter (ITU-R BS.1770) with K-weighted pre-filtering, 400 ms gating blocks, absolute gate at -70 LUFS, relative gate at -10 LU below ungated level, and integrated (programme) loudness measurement. After gain is applied, a sample-peak brick-wall limiter engages at -0.09 dBFS to prevent clipping.

PlatformTarget LUFS
Spotify, YouTube, Tidal-14
Apple Music-16
Broadcast (EBU R128)-23
Podcast (varies)-16 to -19

Note: Peak normalization uses sample peak measurement, not true peak (inter-sample).

GUI Launch Options

These flags launch Batchy in GUI mode with pre-loaded state — they require a display and are distinct from headless --batch-process mode.

File & Preset Loading

OptionDescription
--load-audio=<path>Load audio file or directory into GUI (repeatable)
--load-preset=<name>Load preset by name or path
--scan-plugin=<path>Scan a single plugin file and exit

Positional arguments (bare audio file paths) are also loaded into the GUI.

Automation Flags

OptionDescription
--auto-playStart playback automatically after loading
--auto-renderOpen batch window and start rendering after loading
--auto-processedEnable processed mode (show rendered waveform)
--view-mode <mode>Set initial view: waveform, spectrogram, splitview
--select-files <pattern>Select files matching glob pattern (repeatable)
--process-only-selectedOnly process selected files during render

Parameter Overrides

OptionDescription
--set-param <nodeId:param:value>Override a node parameter (repeatable)
--set-bypass <nodeId[:0|1]>Set node bypass state (default: bypass on; append :0 to un-bypass)
--save-preset <name>Save preset after applying overrides

Render Control

OptionDescription
--render-report <path>Write JSON render report to file
--session-name <name>Name for this automation session (appears in reports)
--exit-after-renderExit application after render completes
--fail-fastStop on first render failure (requires --exit-after-render)

Example: Automated Render Pipeline

./Batchy \
  --load-audio=/audio/session \
  --load-preset="Mastering Chain" \
  --auto-render \
  --exit-after-render \
  --render-report=/logs/report.json \
  --fail-fast
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.

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

Process with tail rendering

./Batchy --batch-process \
  --input /audio/vocals \
  --preset reverb_chain.batchyfx \
  --tail-length 3.0 \
  --output-format flac

Preserve original format during normalization

./Batchy --batch-process \
  -i /audio/mixed_formats \
  -p normalize.batchyfx \
  --preserve-format \
  --normalization lufs \
  --target-loudness -14

WAV-to-FLAC archival conversion

./Batchy --batch-process \
  -i /audio/session_masters \
  -p passthrough.batchyfx \
  --output-format flac \
  --output-bit-depth 24 \
  -o /archive/flac

Stem delivery with client naming

./Batchy --batch-process \
  -i session.wav \
  -p stems_export.batchyfx \
  --client "Acme Records" \
  --project "Album 2026" \
  --output-filename '$client/$project/$filename_$outputnode' \
  --output-format wav \
  --output-sample-rate 48000 \
  --output-bit-depth 24

Log to file for debugging

./Batchy --batch-process \
  -i audio.wav \
  -p effect.batchyfx \
  -v --log-file /tmp/batchy.log

Watch folder automation

#!/bin/bash
# Linux (inotifywait) — on macOS, use fswatch instead
# On Windows, use PowerShell FileSystemWatcher or a third-party tool
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
Error Handling & Troubleshooting

Exit Codes

CodeMeaning
0Success: all files processed
1Processing error: one or more files failed
2Configuration error: invalid arguments, missing files, or fatal error

Debugging Failed Runs

Combine --verbose, --log-file, and --dry-run to diagnose issues:

# Validate configuration without processing
./Batchy --batch-process -i /audio -p preset.batchyfx --dry-run --verbose

# Run with full logging to file
./Batchy --batch-process -i /audio -p preset.batchyfx --verbose --log-file debug.log

Common Errors

  • “Preset not found” — use the full .batchyfx file path, or run --list-presets to see available catalog names
  • “No audio files found” — check that the input directory contains supported formats (WAV, AIFF, FLAC, MP3, OGG, M4A, WMA, CAF)
  • “Plugin not available in headless mode” — third-party plugins require a GUI scan first (see External Plugin Support above)

Log Locations

PlatformPath
macOS~/Library/Logs/Batchy/
Windows%APPDATA%\Batchy\Logs\

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

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, CAF
  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 computer — 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.