CUE-based FLAC processor to split multi-track files or merge individual tracks
Audio albums are sometimes distributed as single FLAC files with CUE sheets for track information or as separate FLAC files with no CUE sheet. And you might want the opposite of one or the other.
To do that you need to install applications, which don't support both usecases, or require fiddling with the shell or even manual CUE editing. There are, of course, also websites that do this, but they require you to not only expose your files, but also having to download them again.
FLACOFF is in essence a way to process FLAC files in both directions, entirely on your device, without uploading anything to a server, without installing anything (unless you specifically want the desktop app provided), and without manual editing.
Visit the website linked in the repo to process files directly in your browser. All processing happens client-side using WASM, offline through PWA.
Build from source (requires bun, meson, ninja, emscripten):
make web-buildThe output in web/dist can be deployed to any static file host (GitHub Pages, Netlify, Vercel, etc.).
Docker (requires docker):
docker build -t flacoff .
docker run -p 8080:80 flacoffThen visit http://localhost:8080
Download from the releases page for your platform.
Build from source (requires meson, ninja, wxWidgets 3.0+):
make wx-build- Take a single file flac and split it according to the embedded or separate file cue info.
- Merge a list of flac files into a single file, and create a cue file (or embed) if it doesn't already exist.
web -> wasm -+ +-> cue
+-> operations -+
wx ---------+ +-> codec_flac -> libFLAC
Core: meson, ninja
Desktop app: wxWidgets 3.0+
Web app: bun, emscripten
Development: inotifywait (for watch modes)
All common tasks use the Makefile. Run make to see available commands.
First time setup requires installing web dependencies: cd web && bun install