Skip to content

Repository files navigation

Desgrana

Desgrana

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

License: MIT Platform: macOS Platform: Linux Platform: Windows (experimental) CI


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.

Features

  • 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.

Privacy

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.

Usage

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).

Contributing & roadmap

See CONTRIBUTING.md for session format documentation, build guidelines, roadmap, and AI disclosure requirements.

License

MIT — see LICENSE.

About

Turn your Behringer Wing/X32 session files into separate audio tracks for your DAW

Topics

Resources

Contributing

Stars

3 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages