FFAB is a cross-platform, complex audio batch processor, effects rack, command builder & graphical user interface for the glorious FFmpeg.
But only the sound related stuff.
FFAB is for musicians, sound engineers, media archivists, sonic artists, mental experimentalists, or anyone curious enough to collide thousands of files together into one hot mess.
FFAB is a GUI wrapper for FFmpeg that makes designing complex audio filter chains easily accessible to non-command-line users. Real-time preview. Drag & drop filters. Parallel processing, the works.
Native dark mode...FFAB creates and processes complex FFmpeg filter chain commands without embedding FFmpeg code: FFAB locates & and calls the user's locally installed FFmpeg binary (version 8).
...and psyochpath mode.FFAB also simplifies the process of installing FFmpeg and companion tools FFplay & FFprobe. The latest static version is fetched from an official distribution source, FFAB verifies the download (SHA-256 / MD5 sums), and installs to an easily accessible path.
FFAB will install FFmpeg, if you need it...Drag-and-drop filter ordering with vertical "effects rack" design
Load sidechain files, convolution IRs, save outputs to multiple formats simultaneously
Generate fast audio previews with waveform visualization; scrubbing playhead & playback region select
Process multiple File Lists with 7 different batch algorithms
Input video files – add audio-only effects – then combine the revised audio with the original quality, untouched video
Save/load complete processing states including filter chains filter parameters, input file lists (optional), and output format settings
Almost all standard filters, including analysis & advanced utility filters, are included in the UI
Build FFmpeg commands to process in FFAB, or copy & paste complete commands directly to the Terminal
Copy & paste FFAB's FFmpeg command output directly into the terminalClutter free UI: Filter Chain displayed on the left, currently selected filter parameters displayed on the right.
Overview of the FFAB user interfaceFamiliar DAW / digital mixing console style effects rack: File INPUT settings at the top, file OUTPUT settings at the bottom, drag & drop inserts & AUX sends in the middle.
Typical filter insert controlsEvery filter insert shares a similar UI design... With regards the image above, from left to right:
Sequentially generated ID label, aids matching UI to streams within an FFmpeg Command
Arrange filter order via these buttons, or drag & drop
Mixer style bypass / isolate switches, individually or in groups
Remove filter from the effects chain; ALT+click to skip delete dialogs
Advanced: Bypass the hardcoded audio stream; for use with the Custom FFmpeg filter or similar
FFmpeg ships with 120+ audio related filters and FFAB has managed to incorporate most of them. A few more esoteric filters will appear in future updates.
Some of FFmpeg's default filters include...
Convolution IR (reverb), Compressor, Gate, Merge, Mix, Crossfade
Compressor, Limiter, Gate, De-esser, Loudness Norm, Dialogue Enhance
Channel EQ, Parametric EQ, High/Low/Band/Notch Filters, Shelving filters, Tilt EQ, 18-Band EQ
Soft Clipper, Bit Crusher, Psychoacoustic Clipper, Crystalizer
Chorus, Flanger, Phaser, Tremolo, Vibrato
Channel Splitter, Widener, M/S & Stereo Tools, Crossfeed, SOFA Spatializer, Surround Upmix
Rubberband, Loop, Trim, Fade, Echo, Tempo, Delay
FFT Denoise, Declick, Declip, DC Shift
Volume, Resample, Silence Remove, HDCD Decoder, Set Rate
Waveform Image, Volume Detect, DR Meter, ReplayGain, Audio Stats, Silence Detect
Sidechain Input, Aux Output, Audio Split, Smart Aux Return
WAV, MP3, FLAC, AIFF, M4A, OGG, Opus, WMA, AAC... any audio format included with FFmpeg
WAV, AIFF, FLAC, MP3, AAC, OGG, Opus... any audio format included with FFmpeg
Batch process movie files, filter the audio, then re-combined with original video, no transcode or quality loss
8kHz ~ 192kHz (384kHz untested)
8-bit, 10-bit, 12-bit, 16-bit, 24-bit, 32-bit (64-bit untested)
From the Settings panel, configure the Log Level and Log File options. Logging is useful for debugging FFmpeg issues, or capturing analysis data from Astats etc.
Real-time preview of FFmpeg log data
Choose the amount of logging you need...
... and where to save the log dataInstant audio preview of FFmpeg filter chains, plus a helpful waveform image and scrub playhead. Highlight any audio file in the Main File List, click [Generate Preview] in either the main app window or from within the larger pop-out Audio Preview window, then press [Play].
Or, lean into the key command combo of [↑/↓] in the File List, [←] to generate preview files then [→] to play audio.
The Generate Preview widgetThe pop-out Audio Preview window is resizable and provides precise tools to highlight a specific audio region – say, a more representative section of the audio to be auditioned. This is helpful when handling long duration files (podcast dialog, archive recordings etc).
The resizable Audio Preview pop-out The underlying concept of FFAB is fast and painless audio batch processing, either for utility or purely creative reasons.
Batch Algorithm #1: Sequential
Batch Algorithm #2: Iterate / Photocopy
Batch Algorithm #3: Zip / Pairing
Batch Algorithm #4: Broadcast Fixed
Batch Algorithm #5: Broadcast Random
Batch Algorithm #6: Cartesian / one to many
Batch Algorithm #7: Cartesian / many to many (too many!)...
... fills up disk storage in no time
The Audio Input filter mimics the Main INPUT File List
Parallel audio streams, Thru + 7 (8 in total), with auto-summing back into the main audio stream
Parallel filter Sub-chains are almost identical to the Main Filter Chain
Output as many concurrent file formats as FFmpeg & your storage disk can handle
Uncompressed, Lossless, Compressed, plus Advanced via custom "-c:a" strings
FFAB's auto-amix gathers up all loose ends
Feeling keen? Miss the terminal? Type away...Filter Chain commands build with these key methods. API breakout not fully implemented but in progress.
← multiple overloads:
← Generates preview with aux outputs discarded to null muxer
← Builds the -filter_complex "..." section
← Determines output paths for aux files
MacUsers will probably need to run the following Terminal command to get around Apple gate-keeping:
xattr -cr /Applications/FFAB.app
(Xattr often runs during brew installs / Electron apps, so it's fairly innocuous. But if you are unsure about the security implications, please search the web.)
LinuxUsers will probably need to run the following Terminal command to get real-time audio previews to work:
GST_PLUGIN_SYSTEM_PATH=/usr/lib/$(uname -m)-linux-gnu/gstreamer-1.0 ./FFAB_version_.AppImage
(This is related to a GStreamer-bundling rabbit hole I don't have time for right now. But if someone in the Linux community wants to tidy this up, email me.)
WindowsContact me (email below) if you are willing to build & test for the Windows community. Must have prior Qt 6.7.3 / 6.10.1 / CMake / windeployqt app experience (quirks galore!) but FFAB has no troublesome dependencies, and FFmpeg is not bundled.