From session to mix.
Extract channels from interleaved multitrack WAV files
into individual mono/stereo named tracks.
Works with Behringer Wing, X32 consoles.
Free & open source · native macOS app · Linux & Windows (experimental) versions
Download & documentation → romaindalverny.com/atelier/desgrana
Use case: you have a multitrack session recorded by a
Behringer Wing
or X32 using the W-Live or X-Live recorder — several WAV files, plus
SE_LOG.bin and optionally a .snap. With Desgrana, you get each named
channel in its own continuous WAV file, your markers exported for your DAW,
and a session ready to open.
- Keeps your audio the same, obviously. No conversion, only demux.
- Picks up channel names and stereo pairs from your console snapshot.
- Automatically dismiss empty tracks.
- Keeps source metadata into exported tracks.
- Exports session markers in exported WAV, MIDI and CSV, to reuse in DAWs.
- Works entirely offline. Nothing uploaded, nothing tracked.
- Opens extracted tracks ready to work in your DAW.
Desgrana works entirely offline. It reads your local session files and writes output to your local disk — nothing is uploaded or transmitted.
There is an optional outbound request, once a month, checking for updates. It sends OS name, version, CPU architecture, app version, and system language. Nothing else. See PRIVACY.md for full details and how to disable it.
GUI — drop a session folder in the app, with or without a .snap file,
click Extract.
CLI
desgrana <session-dir> [options]
Options:
--output, -o <path> Output directory (default: <session-dir>_extract/)
--prefix, -p <string> Prefix for output filenames
--stereo, -s <pairs> Stereo pairs, e.g. 1:2,3:4 (overrides snap-derived pairs)
--snap <file> Console snapshot (.snap for Wing, .scn for X32) for channel names and USB stereo pairs
--short-names Use channel name only for filenames (e.g. KICK.wav, not prefix_ch01_KICK.wav)
--dry-run Show what would be extracted without writing any files
--info, -i Show session info only, without extracting
--help, -h Show this help
Output filenames follow the pattern ChannelName.wav (mono) or
Name1-Name2.wav (stereo). If no name is set, ch01-ch02.wav is used.
Channel names come from the console snapshot (.snap for Wing, .scn for
X32).
See CONTRIBUTING.md for session format documentation, build guidelines, roadmap, and AI disclosure requirements.
MIT — see LICENSE.