TorchFX CLI: GPU-Accelerated Audio Processing from the Terminal#

One of the most requested features for TorchFX has finally arrived: a full-featured command-line interface that brings GPU-accelerated audio processing directly to your terminal. Whether you’re a music producer, sound designer, or audio engineer, the new torchfx CLI tool streamlines your workflow with familiar commands and powerful new capabilities.

From Library to Tool#

While TorchFX started as a Python library for audio DSP research, we recognized that many users need quick, scriptable audio processing without writing Python code. The CLI bridges this gap, offering:

  • Sox-compatible commands for easy migration from existing workflows

  • GPU acceleration for batch processing hundreds of files

  • Unix pipe support for integrating with existing audio pipelines

  • TOML configuration files for reproducible effect chains

  • Preset management for reusable processing templates

Core Commands#

Process Audio Files#

The process command is your workhorse for applying effects:

# Single file with effects
torchfx process input.wav output.wav -e normalize -e "reverb:decay=0.6,mix=0.3"

# Batch processing with GPU acceleration
torchfx process "*.wav" --output-dir ./mastered/ --device cuda -e normalize

# Unix pipes for integration
cat raw.wav | torchfx process - - -e normalize | aplay

The effect syntax is intuitive: name:param1=val1,param2=val2. With 30+ built-in effects and filters registered (from gain to parametriceq), you have a complete DSP toolkit at your fingertips.

File Information#

Quickly inspect audio metadata with rich table output:

torchfx info recording.wav

This displays sample rate, channels, duration, encoding, and file size in a clean, formatted table — perfect for scripts that need to validate audio properties.

Playback & Recording#

Preview your processing with direct playback:

# Play with effects applied on-the-fly
torchfx play song.wav -e normalize -e "reverb:decay=0.4"

# Record from microphone
torchfx record output.wav --duration 10 -r 48000 -C 2

Both commands require the optional sounddevice package (pip install torchfx[realtime]), giving you instant audio I/O without leaving the terminal.

Sox-Compatible Commands#

For users migrating from SoX or needing familiar tools, we’ve implemented a subset of sox commands with GPU acceleration:

Convert#

Format, sample rate, and channel conversion:

torchfx convert input.wav output.flac
torchfx convert hi-res.wav cd-quality.wav -r 44100 -b 16
torchfx convert stereo.wav mono.wav --channels 1

Trim#

Extract time ranges with precision:

torchfx trim input.wav clip.wav --start 1.5 --end 4.0
torchfx trim long.wav first-30s.wav --duration 30

Concat#

Join multiple files seamlessly:

torchfx concat part1.wav part2.wav part3.wav -o full.wav

Stats#

Analyze signal characteristics:

torchfx stats recording.wav

Get detailed statistics including peak/RMS levels in dBFS, crest factor, DC offset, dynamic range, and per-channel breakdowns — all in a beautifully formatted table.

Configuration Files & Presets#

For complex effect chains, TOML configuration files provide reproducibility:

# mastering.toml
device = "cuda"

[[effects]]
name = "normalize"
peak = 0.9

[[effects]]
name = "parametriceq"
frequency = 2000
q = 1.5
gain = 3

[[effects]]
name = "reverb"
decay = 0.5
mix = 0.15

Use it with any command:

torchfx process input.wav output.wav --config mastering.toml

Preset Management#

Save and reuse your favorite chains:

# Save a preset
torchfx preset save mastering -e normalize -e "reverb:decay=0.5,mix=0.2"

# List all presets
torchfx preset list

# Apply a preset
torchfx preset apply mastering input.wav output.wav

# View preset contents
torchfx preset show mastering

Presets are stored as TOML files in ~/.config/torchfx/presets/, making them easy to share and version control.

Watch Mode: DAW Integration#

The watch command monitors directories for new or modified audio files and automatically applies your effect chain:

# Monitor export folder
torchfx watch ./bounces/ ./mastered/ --preset mastering

# Recursive watching with real-time updates
torchfx watch ./input/ ./output/ --recursive -e normalize -e "reverb:decay=0.4"

This is perfect for DAW workflows: export your tracks to a watched folder and get instant mastered versions. The watch mode runs continuously, showing rich status updates as files are processed.

Batch Processing at Scale#

One of the CLI’s killer features is GPU-accelerated batch processing. When processing hundreds of files, the difference is dramatic:

# Process an entire album on GPU
torchfx --device cuda process "album/*.wav" -O ./mastered/ -e normalize -e "reverb:decay=0.5"

You get a beautiful progress bar with ETA, per-file success/failure reporting, and processing speeds that scale with your GPU. On modern hardware, expect >100x real-time throughput.

Global Options#

Every command supports global flags:

  • --device cuda — GPU acceleration

  • --verbose — DEBUG-level logging

  • --config — Global configuration file

  • --version — Show version

Design Philosophy#

The CLI follows Unix philosophy:

  • Do one thing well: Each command has a clear, focused purpose

  • Composable: Pipe commands together for complex workflows

  • Scriptable: Predictable output formats for automation

  • Fast: GPU acceleration where it matters

But it also brings modern conveniences:

  • Rich output: Beautiful tables and progress bars

  • Smart defaults: Sensible parameter values

  • Helpful errors: Clear messages with suggestions

Installation#

Get started in seconds:

pip install torchfx[cli]

This installs all CLI dependencies (typer, rich, tomli for Python <3.11). For playback and recording:

pip install torchfx[realtime]

Real-World Workflows#

Podcast Cleanup#

#!/bin/bash
# podcast-cleanup.sh

torchfx process "$1" "${1%.wav}_cleaned.wav" \
  -e normalize \
  -e "highpass:cutoff=80" \
  -e "lowpass:cutoff=15000"

Batch Album Mastering#

torchfx --device cuda process "album/*.wav" \
  -O ./mastered/ \
  --config mastering-chain.toml

DAW Export Monitor#

torchfx watch ~/Music/Exports/ ~/Music/Mastered/ \
  --preset vocal-cleanup \
  --recursive

What’s Next?#

The CLI is just the beginning. Future releases will add:

  • Real-time parameter visualization

  • Spectrum analyzer integration

  • A/B comparison mode

  • Waveform preview in terminal

Try It Today#

The TorchFX CLI is available now in version 0.4.0. Install it, explore the commands, and let us know what you think!

pip install torchfx[cli]
torchfx --help

For complete documentation, see the CLI Guide.


Have questions or feature requests? Open an issue on GitHub or start a discussion!