Command line utility to automate the splitting of audio files
- Go 76.9%
- Shell 23.1%
| dist | ||
| packaging | ||
| scripts | ||
| go.mod | ||
| main.go | ||
| main_test.go | ||
| README.md | ||
splch (Go rewrite)
splch splits multichannel audio into per-channel files using ffprobe + ffmpeg.
Features
- Compiled CLI for macOS, Linux, and Windows.
- Supports
-y,-n,--dry-run,-j,--yes,--debug, and--version. - Channel layout mapping parity with the original Bash script.
- Uses bundled
ffmpeg/ffprobeif found next to the binary, then falls back toPATH.
Build
go test ./...
go build -o dist/splch .
Usage
./dist/splch --yes -j 4 input1.wav input2.flac
Packaging releases with bundled ffmpeg
Use:
./scripts/package-release.sh
This script:
- Cross-compiles
splchfor supported targets. - Downloads ffmpeg archives defined in
packaging/ffmpeg-sources.tsv. - Verifies archive SHA-256 checksums from
packaging/ffmpeg-checksums.txt. - Creates per-platform release bundles with:
splchexecutablebin/ffmpegandbin/ffprobe
Licensing note
Bundling ffmpeg introduces redistribution obligations depending on codec/build flags. Before publishing artifacts, verify the selected ffmpeg distributions and include any required notices in your release documentation.