X/M-Live

& W-Live


Utilities for XLive, MLive and WLive cards from Behringer, used in X32, M32 and WING Digital Mixing consoles


Windows 11 Users:  I just moved to Windows 11 and found out the so-called "Console Window " 

behavior is different in Win 11 compared to previous versions of Windows. You will most likely want to

set the "Settings->Privacy&Security->for Developers->Terminal" option to "Windows Console Host"


Wav2Live (was X32Wav_Xlive) 

This application creates Live compatible files from standard wave files; The typical use would be to enable playback using the Live expansion board SD card(s) of already available multi-channel wave files such as those recorded from the USB interface or exported from a DAW software. 

A few rules must be respected in order to merge several wave files in “one” that can be used with X-Live!:

The long horizontal button labeled “Select Wav files Source Directory” is used to select a directory that contains all the ch_xx files mentioned above, that will be merged to X-Live! format. With the directory selected, additional settings corresponding to X-Live! capabilities are requested or possible: A session name is expected by X-Live! and can be up to 20 characters long.

Optionally, markers can also be passed on the interface of the utility, to be saved with the created Live files. With the o “List of Markers” buttons, Markers can be given as a comma-separated list of decimal values expressed in seconds, such as “1, 2.5, 5., 30”. The button “Marker File” can be pressed to select a text (.txt) file that contains the markers; This can be a lot more practical when a large number of markers is provided. X-Live! supports up to 100 markers per session.

With all data ready, it is time to click on the “Merge” button, which will launch the file merging process. The program tests for the different parameters and will report errors if problems are found. Assuming all data are correctly set, the program creates an X-Live! compatible directory containing at least two files: one or more wave files named 00000001.wav to 00000128.wav of up to 4GB each, all 32-bit PCM, and a binary session log file "SE_LOG.bin", which contains information such as the markers applied during merging. All these files will be created under a directory named by the 32-bit timestamp of the recording start as an 8 character hexstring, e.g. "4B728846"

Be patient! Merging large audio files takes time. The program will display the elapsed time at the end of the process. The directory created by the utility can be copied in the session directory of an SD card to be used with the expansion board, so you can enjoy your mix using the digital console.

Command-line: A command-line version of the tool exists in the X32mac.zip file for Mac users.  Starting with ver 1.25, it is possible in Windows to choose between GUI and command-line at execution time. Below the -h (help) for the utility, which offers the same options the Windows GUI version does:

PS C:\Users\patri\eclipse\wav2Live\release> ./wav2live -h

Wav2Live - ver 2.00 - (c)2018-23 - Patrick-Gilles Maillot


usage: Wav2Live [-g 0/1: 0 means command-line mode, 1 is Windows GUI]

                    [-f Marker file []: file containing markers]

                    [-m marker, [,]: marker time in increasing order values]

                    [-u 0/1: use uppercase (.WAV) rather than lowercase (.wav) in file names]

                    [-S: run in silent mode (only for non-error messages)]

                    <Session dir> [<Session name>]


       Wav2Live will take into account all command-line parameters and run its

       'magic', generating W/XLive session files from the wav data given as input.


       Many restrictions take place: all wav data must be similar in specs:

         - same sample rate (48k or 44.1k

         - same length

         - 24bit sample size

         - wav files have to be named ch_1.wav to ch_32.wav


       Examples:

       Wav2Live -g 0 -m 1.2 -m 15 ./ "new session"

         creates as W/XLive session directory in ./ based on the date and time,

         and creates a session displayed as "new session" when loaded into W/XLive card

         containing a number of multi-channel wav files respective of the number of

         channels found in the source directory. Markers, if present, will be added to

         the created session


       Wav2Live -g 0 .

         creates an W/XLive session directory in . based on the date and time;

         the session is named after as its creation time stamp when loaded into W/XLive card

         and contains a number of multi-channel wav files respective of the number of

         channels found in the source directory.

PS C:\Users\patri\eclipse\wav2Live\release>

Live2Wav (was X32Xlive_Wav) 

Splits / explodes WLive or XLive multi-channel WAV files from a recorded session into individual, single channel WAV files. Audio data can be extracted as 16bit, 24bit [default], or 32 bit samples of data. 

Live2Wav also enables setting/changing the name of sessions displayed on the X32 screen 

WLive or XLive sessions are made of 8, 16 or 32 channel wave files. The user selects a Session directory and chooses a directory where single channel files will be generated (or Exploded to use REAPER's notation). One can decide to extract less than the actual number of channels from the Session, as these are sometimes containing empty files to build up to the 8, 16 or 32 channels of WLive or XLive multi-channel session files.

Each destination file can be named per user choice, and destination files can be made of 8, 16, 24, or 32 bits samples; (source files are always 24bit samples in a 32bit container). Destination file names can also be automatically filled using an X32 scene file. Once established, a name can be edited (simple modification) by getting its name, editing the name and setting the name.

Files are exploded following each 4GB session file; if there are for ex. 2 wav files in the session (on 4BG and the next one < 4GB), and the user called for 2 channels to be extracted, naming them "AA" and "BB", this will result in the following file set after extraction:

AA.wav

BB.wav

with AA.wav and BB.wav accumulating the single wave file sections of the two section files used as source.

In case of inconsistencies or errors, messages are reported at the GUI level. Upon termination, the time needed to explode files is provided. Be patient... Exploding multi-channel wav files takes time, even with optimizations for ex ~22s for extracting 5 24bit channels out of a 5.2GB 8-channel WLive or XLive Session

Watch a small video of the program in use: https://youtu.be/M_7yO_AAw00

Command line version &Mac users:

A command-line version of the tool exists in the X32mac.zip file and works for Mac users. It is also possible to use the Windows version of the program in a command-line terminal in using option '-g 0'. Below the -h (help) for the utility, which offers the same options the Windows GUI version does:


PS C:\Users\patri\eclipse\Live2Wav\release> ./Live2Wav -h

Live2Wav - ver 1.00 - (c)2018 - Patrick-Gilles Maillot


usage: Live2Wav [-g 0/1: 0 means command-line mode, 1 is Windows GUI]

                    [-d dir [./]: Mono wave files path]

                    [-m name []: Sets or Replaces Session name read from source]

                    [-n 1..32 [0]: number of channels to explode to mono wave files]

                    [-c 8/16/24/32 [24]: sample size]

                    [-s file []: optional X32 scene file]

                    [-w #,name, [,]: ch. number ',' followed by respective wave file name]

                    [-u 0/1: use uppercase (.WAV) rather than lowercase (.wav) in file names]

                    [-p 0/1 [0]: prepends number in front of the channel name]

                    [-S: run in silent mode (only for non-error messages)]

                    W/Xlive Session


       Live2Wav will take into account all command-line parameter and run its

       'magic', generating mono-wave files from the W/XLive session given as input.

       Sample size conversion may take place depending on the -c option.

       Channel/Wave or file names can be set all at once if an X32 scene file is provided

       using the -f parameter, or set one at a time or edited if parameters -1...-32

       are used with appropriate names.       Note: option -n must appear before any -w or -s options.


       Examples:

       Live2Wav -g 0 -n 3 -d ~ -c 16 -s ~/myscene -w 3,new_name ~/ABCD12345678

         will extract as 16bit samples the first 3 channels contained in W/XLive session

         ABCD12345678 in the home directory, into 3 separate wave files placed in the home

         directory with names taken from the X32 scene file 'myscene', and setting or overriding

         the 3rd wave file name with 'new_name'


       Live2Wav -g 0 -n 8 -d ~ ~/ABCD12345678

         will extract as 24bit samples the first 8 channels contained in W/XLive session

         ABCD12345678 in the home directory, into 8 separate wave files placed in the home

         directory with names Live2Wav_1.wav to Live2Wav_8.wav


PS C:\Users\patri\eclipse\Live2Wav\release>


Utrack2Live (was X32Utrack2Xlive) 

Convert Cymatic™ Utrack recordings to Live Sessions (directly useable/loadable in XLive or WLive cards) to play on M32, X32 or WING .

Note: Be patient! Trans coding very large amount of digital audio data takes time.

Takes multi-channel wave files from a recorded Cymatic UTrack card/drive, and makes a multi-channel wave files session for XLive , or WLive card. Audio data is automatically found from the default recording naming convention used by Utrack, and conversion to 'Live' files is also following the convention used in the XLive or WLive extension cards.

All you have to do is select the Utrack directory (source), set the XLive session destination directory, and optionally set a session name that will show in the desk when selecting the session.


cpLiveMarkers (was X32cpXliveMarkers) 


Reads markers from an XLive or WLive session/SE_LOG.BIN file and sends data to the clipboard.

Within REAPER, the clipboard data can be pasted to a REAPER project by clicking on Extensions->Marker utilities->Import marker set from clipboard in order to set markers in the respective REAPER tracks, which obviously should contain the wave data corresponding to the selected session. This data can be imported into REAPER using REAPER import track data, or using WXlive2Wav.

The latest version of the tool also carries an experimental (i.e. no feedback from testers) Protools conversion format. 

LiveSplit breaks apart an X/M/W-Live session into two new X/M/W-Live sessions at a given time-point expressed in milliseconds.


The source/initial session is not modified at all. Two new sessions are created in the current directory (typically where the program runs from) with names built from the session to break apart. If for example the initial session name is ABCABCEF, the two last hexadecimal digits (here: EF) are incremented by 1 for the first and set to 0 and 1 for last one in order to create the two new sessions. In the example above, this would create sessions ABCABCF0 and ABCABCF1.


The tool will manage markers in the two sessions it creates, the markers from the initial session are copied over to the new session ending with digit 0 up to the split time, and markers beyond that point will be carried over to the new session ending with digit 1. Of course in that process, marker numbers and times for the second session will be updated.

To launch the program, just run:

livesplit -t <time in ms> <path to source session>


PS C:\livesplit\release> ./livesplit -t 2820000 C:\Users\patri\Desktop\4c49aeb6

LiveSplit: Splits X/M/W-Live session at a given time point - v0.3 - (c)2023 - Patrick-Gilles Maillot

Session split done!  Elapsed time: 33657ms

PS C:\livesplit\release> ls



    Directory: C:\livesplit\release



Mode                 LastWriteTime         Length Name

----                 -------------         ------ ----

d-----          1/2/2023   5:18 PM                4c49aec0

d-----          1/2/2023   5:18 PM                4c49aec1

-a----          1/2/2023   5:17 PM          62033 LiveSplit.exe



The above command broke/split session 4c49aeb6 at time = 47mns in two new sessions.

You can use options -1 and -2 to set a new user name for the two new sessions created by the application

Note: Be patient! Session files are big files to play around with. A split of a 16GB session, composed of 5 .wav files into two separate sessions takes approximately 140seconds, (your speed will vary of course, based on the computer you use).