X32

I made the acquisition of a Behringer X32 standard console in June 2014 for my music studio and gig needs.

Great unit! is all I can say. No problem with it, a pretty good sound, easy to manage and learn, with a comprehensive list of effects and a lot of capabilities, including being controllable through OSC protocol.

X32 OSC Protocol Document

I decided to spend a little time (well... initially :-)) understanding OSC programming aspects to interface with the X32, and have it do things for me. This work resulted in an updated, unofficial X32 OSC protocol document which I hope will help many others. [updated May 4, 2020]


X32ReaperAutoMate

While there are many very useful utilities proposed below, there is one that can really make your recording studio a lot easier to use, combining the ease of use of the X32 or M32 as a control surface and audio engine, REAPER as a DAW/recording system, and full automation support without the need to constantly use a mouse or even look at your PC! Check out X32ReaperAutoMate, this will change your life as a recording/sound engineer.


X32XLiveAutoMate

What has been possible with using REAPER as an audio source for X32ReaperAutoMate, has been ported with XLive as an audio source. The result is that you can record, organize, automate, mix your audio project right at the X32 desk, without the need for a DAW. You need a PC for recording and saving automation files for later use or sharing them with band members, but you'll hardly use your PC

Even better, both tools (Reaper and XLive versions) take advantage of the 500 possible cues of the X32 to organize your mix sessions into chained lists you can launch with the GO button. This is a great tool for theaters, musicals, or even for just organizing your work.


Other Utilities

Over time, I developed utilities for my own use and help other users. These utilities can run under different operating systems. Raspberry, Linux and Mac/OSX versions are available for some of them. Click on the links below to download the versions of the utilities corresponding to your platform.

All utilities below are distributed as Freeware for non-commercial users.

Commercial users should contact me before using or distributing these tools.

"Standard disclaimers apply"

Studio Mixing Applications

  • X32ReaperAutoMate: Full mixing automation and loop capabilities for REAPER, using the X32 audio engine, the X32 as transport system, and more [2019]

  • X32XLiveAutoMate: Full mixing automation and loop capabilities for X-Live add-on card, using the X32 audio engine, the X32 as transport system, and more [2019]

Windows Terminal/Command Line tools:

  • X32 emulator: The X32 you can carry in your pocket for developing apps or testing on the go. [Nov 25, 2019]

  • X32PlayScript: A script file for Theater play-scripts. [May 5, 2016]

  • X32GetScene: Get a Scene/Snippet file directly out of your X32. [Nov 17, 2019]

  • X32SetScene: Interprets a Scene/Snippet file and set your X32 accordingly. [Nov 17, 2019]

  • X32Replay: Record and play back a show (respecting time... of course). [Jul 17, 2020]

  • X32_Command: A simple, yet very powerful tool for sending OSC commands and listening to X32 OSC data. [Feb 3, 2019]

Windows Applications

Graphical Interface tools:

  • X32Reaper: 2-way communication/control X32<->Reaper - see details below. [Jan 11, 2020]

  • X32GetShow: Get and save on your system the current show, cues, and all associated scenes and snippets. [Mar 8, 2020]

  • X32SetShow: Load in X32 a given show, cues, and all associated scenes and snippets from a PC location. [Mar 8, 2020]

  • X32Wav_Xlive: Merging single WAV files into X-Live! compatible multi-channel WAV files. [Jan 5, 2019]

  • X32Xlive_Wav: Split / Explode X-Live! multi-channel WAV files from a recorded session into individual, single channel WAV files. [Dec 6, 2019]

  • X32Utrack2XLive: A utility to convert Cymatic™ Utrack recordings to XLive or WLive sessions [June 20, 2020]

  • X32AutoMix: A simple approach to Automatic Mixing tool for up to 32 channels. [Oct 28, 2017]

  • X32DeskSave/X32DeskRestore: A utility to Save/Restore X32 State, Scene, Routing or Pattern based data sets. [Nov 17, 2019]

  • X32CustomLayer: A utility to create and manage custom channel layers easily. [Sep 20, 2020]



More Programs:

There are more programs available than those described above with their respective description and link; Feel free to contact me.

  • X32cpXLiveMarkers: Import XLive! Session markers into a REAPER project. [Feb 12, 2018]

  • X32Jog4Xlive: Enabling audio Jog and Shuttle for X-Live! while using SD card audio. [Nov 25, 2017]

  • X32Fade: A program to manage fade in and fade out of multiple levels / faders of the X32 - time controlled! [Feb 21, 2015]

  • X32Tap: "tap in" (manually or automatically) the time value of a delay effect of the X32. [Aug 4, 2018]

  • X32SetPreset: Load in X32 a Channel, Effect or Routing Preset from a PC location. [Nov 17, 2019]

  • X32SetLib: Load in X32 library, Channel, Effect or Routing Presets from a PC location. Nov 16, 2019]

  • X32GetLib: Retrieve your X32 preset libraries and save them to a PC directory. [Nov 16, 2019]

  • X32Ssaver: An X32 LCD & LEDs "screen-saver"& "SOF" utility. [Sep 24, 2016]

  • X32SafeMutes: A utility to prevent unwanted changes to X32/M32 Mutes. [Jul 31, 2016]

  • X32PunchControl: Control your DAW while playing audio, recording or playing back X32 commands. [May 10, 2019]

  • X32Commander: Have X32 commands control other devices through MIDI or OSC. [ Jan 19,2020]

  • X32Midi2OSC: Have X32 receive OSC data from MIDI devices. [Jan 19, 2020]

  • X32CopyFX: Reset or Copy sides or full parameters set from an effect to itself or another. [Nov 25, 2016]

  • X32VoiceTrax: A utility to let users manage their channel gain during recording sessions [May 11, 2018]

  • X32USBW: A utility to play/load/execute files contained in the X32 USB stick [Feb 9, 2019]


Other Platforms

Apple versions of all command-line mode programs running in a terminal window, compiled on a Mac book pro OS X HighSierra: X32mac. [updated Dec 6, 2019].

Note that the Windows-GUI based programs run just fine under Wine; The easiest may be to install Wine and run the Windows utilities you can download to you Mac; See below:

Github repo

Source code of X32 utilities (C code) are available on git repositories at https://github.com/pmaillot/X32-Behringer. Feel free to clone and contribute (ideas, bug fixes / improvements).

The X32 you can carry in your pocket for developing apps or testing.

"32 channels, 16 bus, 8 simultaneous effects, 8 Aux, 6 Matrix, L/R, Mono, 8 DCA, 50+ internal effects, multi-client support"

sounds familiar? If you don't have your X32 with you, this X32 emulator can be helpful. With no particular attempt at optimization, this tool parses and manages X32 OSC commands (as a real X32 would), keeps up to 4 xremote clients updated - Of course no sound, and even if all 32 Channels, 16 Sends, 8 FXreturns, 8 Aux, 6 Matrix, 8 DCA, Main and all FX parameters are fully implemented along with multi-client xremote update and many more, not all X32 commands are supported (and that's not the goal), but the emulator is handy for developing X32 applications.

Watch X32 Emulator in action with this video showing X32 Emulator (upper right corner),and three client applications: X32_Command (upper left corner), X32 Edit, and Mixing Station (Android phone) connected to X32 Emulator. Everyone is happily updating :)

Note [been asked this several times]: X32 emulator only manages OSC commands, no MIDI, no Audio, no USB.

A script file for Theater play-scripts

A Small utility for venues, theaters, musicals where a show is rehearsed before being played during one or more seasons with pretty much the same settings, changing during the show.

This is a bash script, optimally running X32SetScene from one show act to the next, following play-scripts settings.

During rehearsals:

The FOH engineer sets all X32 scene parameters fit for a play act/scene, and saves the X32 scene in such a way the act and scene are listed along with a common name part, possibly followed by a meaningful text, for example in the case of the play "ALEX" ©2014 by J. Johnson:

A1S1_ALEX_The_Fond_Household, ..., A1S8_ALEX_The_Ink_Tank, ..., A2S1_ALEX_DAKs_Pad, ...

Saved scenes can be exported to USB then copied to a PC or directly exported to a PC using the X32GetScene utility proposed here.

During plays:

The FOH Engineer groups all scene files in a single directory.

MyMac:misc pm$ ls -l-rwxr--r-- 1 pm staff 63740 Apr 24 10:55 A01S00_ALEX_init state.scn-rwxr--r-- 1 pm staff 63740 May 4 08:26 A01S01_ALEX_The_Fond_Household.scn [...]-rwxr--r-- 1 pm staff 63740 May 4 08:27 A01S08_ALEX_DAKs_Pad.scn [...]-rwxr-xr-x 1 pm staff 4071 May 5 09:21 X32PlayScriptMyMac:misc pm$

The FOH Engineer can the run the batch file below, placed in the same directory:

MyMac:misc pm$ ./X32PlayScript ALEX

The utility (a shell script) will ask for the X32 IP address, list all the files in the directory and proposes to go through each of them, waiting for the FOH engineer input to set scene details by executing data contained in the scene file corresponding to the current play act and scene in an optimal way. As the script runs, you can enter the following (lowercase/uppercase):

y -> accept proposed scene updates to current statek -> same as above but will send full scenef -> skip proposed sceneb -> go back one scenes -> early stop (exits the program)

any other character: do nothing

X32GetScene Gets a Scene/Snippet file directly out of your X32

The utility connects to the X32 (default IP is 192.168.0.64 and can be changed with option -i) reads <stdin> to read the elements you want to get from the X32, and saves the result to <stdout>.

The elements to get from the X32 are described/coded as they are in a typical .scn file. As a facility, you can provide an existing (partial or complete) scene file to get the elements from your X32. The values from the input scene file will be ignored.

Example:

X32GetScene -i 192.168.1.32 -s name1 -n note1 <Default.scn >myscene.scn

Will take all lines from Default.scn as requests to the X32, and generate a scene file with the current X32 values respective of the requests into a file called myscene.scn, with name and note values name1 and note1 respectively.

When not providing a file as input, one has to type in requests one line at a time. Typing "exit" will terminate the program. For example (without -s or -n, the utility will ask for a name an notes):

X32GetScene -i 192.168.1.32 -s name1 -n note1 >myscene.scn

Typing in:

/ch/01/config/ch/01/delayexit

creates a file myscene.scn contaning (actual values will depend on the state of your X32):

#2.1# "name1" "note1" %000000000 1 X32GetScene V1.3 ©2014 Patrick-Gilles Maillot/ch/01/config "" 1 YE 1/ch/01/delay OFF 0.3

X32SetScene

X32SetScene Interprets a Scene/Snippet file and set your X32 accordingly

The utility connects to the X32 (default IP is 192.168.0.64 and can be changed with option -i) reads <stdin> to read the scene file elements and transform them into OSC commands to the X32.

The elements to send to the X32 are described/coded as in typical .scn files.

Example:

X32SetScene -i 192.168.1.32 < myscene.scn

Will take all lines from myscene.scn, interpret them and set the X32 state accordingly. When not providing a file as input, one has to type in requests one line at a time. Typing "exit" will terminate the program. For example:

X32SetScene -i 192.168.1.32

With typing in:

/ch/01/mix OFF 0 ON +0 OFF -oo/ch/01/config "MyVox" 1 GN 1exit

will set Channel 1 to: muted, fader to position 0db, pan to center, mono OFF and mono level to -infinity, channel 1 scribble screen will light in green, display "MyVox", with icon 1 selected (i.e. blank), and channel 1 will have "IN 1" as source.

Watch a video of X32SetScene in action.

Record and play back a show

This is work in progress, but you may find it quite useful as it already is.

Start the utility... If record is on, all commands and modifications made on the X32 are time stamped (with a precision close to 10µs) and recorded to a file. if needed, recording can be paused, and started again.

When recording ends, the file is closed.

The file can then be played back, the time stamps associated with each recorded command ensure the commands will be played back at correct times, relative to the start of the play command.

The utility runs in a terminal window (Windows cmd); Example, assuming your X32 is at IP 192.168.1.32:

X32Replay -i 192.168.1.32

Additional option is-v 0/1; Attention, this option will display a lot of additional data and this can impact the responsiveness of the tool.

Usage: X32Replay [-i X32 console ipv4 address] -default: 192.168.0.64 [-v 0/1, verbose option] -default: 0 [-f file name] -default: X32ReplayFile.txt known commands: stop: stops recording or playing and closes file record: reports recording state record off: stops recording record on: starts or resumes recording record pause: pauses recording and keeps file opened pause: pauses recording and keeps file opened play: reports playing state play off: stops playing play on: starts playing # typed line: during recording, records the typed line as a user tag

Sends OSC commands to X32, allows listening to X32 too...

This command line Windows tool enables sending and receiving OSC data in many ways.

usage: X32_command [-i X32 console ipv4 address] [-d 0/1, [0], debug option] [-v 0/1 [1], verbose option] [-k 0/1 [1], keyboard mode on] [-t int [10], delay between batch commands in ms] [-s file, reads X32node (scene, snippet, presets) formatted data lines from 'file'] [-f file, sets batch mode on, getting input data from 'file'] default IP is 192.168.1.62 If option -s file is used, the program reads data from the provided file until EOF has been reached, and exits after that. If option -f file is used, the program runs in batch mode, taking data from the provided file until EOF has been reached, or 'exit' or 'kill' entered.

Note: make sure the batch file is respecting unix standards (i.e. use notepad++ to create the file under Windows so EOL are made of only "\n" and not "\r\n").

While executing, the following commands can be used (without the quotes):

'#line of text.....': will print out the input line as a comment line 'exit' | 'quit': will quit the current mode 'kill': [batch mode only] will exit the program 'time <value>': [batch mode only] will change the delay between batch commands to <value> 'verbose <on|off>': will change the verbose mode 'verbose': will return the current verbose mode 'xremote <on|off>': will change the xremote mode 'xremote': will return the current xremote mode '' (empty line) [standard mode only]: will repeat the last entered command

All other commands are parsed and sent to X32.

Typical X32 OSC command structure:

<command> <format> [<data> [<data> [...]]], where for example: command: /info, /status, /ch/00/mix/fader, ... format: ',' ',i' ',f' ',s' or a combination: ',siss' ',ffiss' ... data: a list of int, float or string types separated by a space char...

Note: Per OSC spec and in the format above OSC Type Tag String is "mandatory", therefore one should always provide at least a ',' to complete the OSC Address Pattern. This is nevertheless not necessary for X32 as the system accepts "older" notations where empty OSC Type Tag Strings are not present (see examples below)

Examples:

/info - "old" notation sending an info request to X32/info , - "correct" (i.e. OSC compliant) notation sending an info request to X32/ch/01/config/name ,s "My Guitar" - set name of channel 01 to My Guitar (note: space in the name)/ch/01/config/name ,s MyGuitar - set name of channel 01 to MyGuitar (note: no space)/ ,s 'ch/01/config "" 1 YE 1' - erase channel 01 name, set icon to index 1, color to Yellow and source to IN01/ch/01/mix/fader ,f 0.5 - set mixing fader of channel 01 to mid-position/node ,s fx/01/par - retrieve the 64 parameters of effect at FX slot 1

Please refer to the unofficial X32 OSC protocol document for a list of commands.

X32 <-> REAPER controls.

The main idea is to use the X32 as a playback unit and a control surface to REAPER. Simultaneously. Digital audio is stored and managed on a computer via REAPER. REAPER controls translate to the X32 and vice-verse, changes made at the X32 deck are reflected in REAPER.

An OSC config file and a daemon program enable Reaper actions to be reflected on the X32. Simultaneously, the daemon program listens to the X32 and translates X32 actions and changes to REAPER changes on the computer. The videos below are showing different situations

Windows Graphical User Interface

I tested this on all 32 channels and no problem!, just be careful in selecting the X32 inputs from the card, and setting up the REAPER routing matrix correctly. It's simple but a little tedious at first: in 1->track 1->out 1, etc... until in 32 -> track 32 -> out 32. Nice diagonals.

Do read the documentation that comes with program, read REAPER documentation on setting up a control surface, this can / will be useful. Cut&paste the OSC config file provided in the X32Reaper documentation to install your config file. Be careful in selecting and matching ports and IP addresses, and you'll be just fine.

Notes:

If you are a user of a previous version, you most likely need to update the REAPER OSC configuration and .X32Reaper.ini resource files to benefit from the new features and avoid errors. Please follow instructions in the documentation for managing this.For the Windows-GUI version, two additional files need to be with the utility. There's a graphics .bmp file of 115x140 pixels you can replace with your preferred design, and a resource file to keep and reuse the panel values from the last run.Starting with version 1.2.1 X32Reaper will automatically select user bank C when the Connect/Run button is clicked.Starting with version 1.2.2 X32Reaper enables a jog-style navigation (forward or backwards by beat, measure, marker or item) from encoders when in "play" mode.Starting with version 1.4, X32Reaper offers a lot more features in its Windows GUI version. Please favor this over older versions.Version 1.5 corrects a mis-ordered set of DCA min and max vs. Bus min and max in the config file.Version 1.8 adds a setting for managing REAPER Track Send Offset; indeed REAPER Track sends are logical values; Physical bus send tracks numbers are offset by the number of HW outputs the track is assigned to.Version 1.9 fixes a weird behavior when selecting several REAPER tracks at once and moving one of the faders (REAPER or X32).Version 2.0 introduces the notion of DCA for REAPER tracks. Of course this is already possible within REAPER, but the idea is to easily control multiple REAPER tracks from an X32 DCA (which can still control its REAPER associated track and X32 internal channels. Setting all associated REAPER tracks volumes to the value set by the respective X32 DCA. Also applies to tracks ON/OFF. REAPER track numbers are set in groups of min-max for each DCA. This is typically useful when controlling REAPER tracks beyond X32 capabilities, routed (withing REAPER) to stereo buses and having the bus pairs controlled by a single X32 DCA fader controlling the overall mix of all associated REAPER tracks, without cannibalizing X32 channels.Version 2.10 provides (virtual) bank selection for REAPER tracks so they can be controlled from your X32, acting as a pure control surface. This is exclusive from the Transport Loop control as two buttons are reserved for bank up/down management. It also covers X32 → REAPER direction, for REAPER tracks, banks are in 32 tracks blocks. Useful for managing large numbers of REAPER tracks using X32 as a surface control, the actual mix being performed by REAPER.Version 2.22 (2.20 & 2.21 had a small bugs) enables switching back and forth between virtual banks, keeping the settings that have been set with the X32 or with REAPER. Also, X32 scribbles icons and colors can be set from REAPER using a specific syntax for REAPER tracks.Version 2.4 enables bank selection capability without having to set transport. When only bank selection is on, the user can choose the two buttons assigned to the bank up and down actions (still user set C only, buttons 5 to 12). When used in conjunctions with transport, the two buttons are 9 and 10 and cannot be changed. No change to the user interface, although I may enable changing buttons assignments from the tool GUI in a near future.Version 2.41 corrects small things in the way channel banks up and down buttons are using internal features.Versions 2.5 & 2.51 enable the user to set the bank up/down buttons from the Windows graphical user interface.Version 2.52 fixes a small rounding function and enables filtering what is actually sent to X32 from REAPER.Version 2.61 offers the possibility to set REAPER markers on the fly directly from the X32 during recording or playback; Bank C color can also be chosen in the resource file.Version 2.63 offers the possibility to set bank size to a value less than 32, and therefore give more flexibility in what part of the X32 is used as a surface control for REAPER while the rest of the desk can manage actual audio.Version 2.66 enables controlling EQ from X32 and from REAPER for Input, Auxin and FxRtn channels or their corresponding REAPER tracks.Version 2.67 introduces a bit mask to enable preventing some X32 data changes to affect REAPER.Version 2.68 fixes an issue where setting a REAPER track name,color, or icon when it belongs to a channel bank other than the lowest one are not immediately reflected onto the X32.Version 2.69: REAPER EQ FX get modified and modifiable only if the "EQ UI Control" flag is set; Requires X32Reaper restart. Also correctly manages the internal bank size default value when UI "Channel Bank select" flag is set to OFF.Version 2.71: Manages REAPER FX EQ and COMP. Effects can also be 'placed' in the effect chain list.

Ready?

... download X32Reaper, unzip, and give it a run!

You can also watch Michael's video, setting up his X32 with X32Reaper; Another video from Michael shows/explains using transport section.

REAPER Template

You'll find here a template I often use to start a project using my X32 and REAPER. This results in the project screen shown here and the routing shown here. It includes all currently available controls, and maps to the default X32Reaper resource file provided with the program. All 16 bus mixes are setup to enable a classical routing of input channels, mapped to the X32 capabilities. Setting up your X-USB card to 32in/32out will provide you with the capability to control REAPER Tracks and use the X32 capabilities to mix your work, listening to the result directly with the X32. A 32 channels sound "card". Make sure you toggle your X32 channel input routing between In and Out in order to mix or record with REAPER, respectively.

I have set all Channel, Aux, Bus[1-12], and DCA to their minimum as a precaution; all SENDs are also set to -oo. Better keep your audio levels safe when you start a new project. REAPER master track is not used; mixing/mastering is done only on the X32 as this is what I use for mixing audio.


The latest X32Reaper for Mac is available as a command line (terminal) application with the X32mac package mentioned at the top of this page, but you can also use Wine. It includes all controls as mentioned in X32Reaper for Windows, reading all needed parameters from a configuration file (.X32Reaper.ini); below is an example of config file. The two first integers are ignored.

A typical resource file for the program (should be placed in the directory where the program is)

400 260 0 0 1 11 32 33 40 41 48 49 64 65 72 1192.168.1.62192.168.1.651002510027

Use ^C to kill the program.

Get/Save on your PC the X32 current show, cues, and all associated scenes and snippets

X32GetShow connects to the X32 (using the IP provided in the dedicated label). Once connected to X32, it reads the current show from X32, and saves the show as a *.shw file on your PC (in a directory you select using the "save To" button); all cues, scenes, and snippets are listed and saved with the show.

There are two options for saving the show: "Save To" and "Save As". Both are quite similar and will use the directory you point at in the opened dialog as destination directory for the saved data (show files). In the first option (Save To), the X32 show and saved files are keeping the name as set in the X32. The second option (Save As) enables renaming the X32 show files to a new show name as data is saved.

For all scenes and snippets listed in the show file, the utility creates the respective files (*.scn or *.snp) and saves all data associated with each scene or snippet. The saved files can then be kept for later or offline use, manual edit, or reload in a X32 from a USB drive.

The different scenes and snippets names will appear under the "GetSHOW" button as the program progresses in saving files. When finished, "Complete" will be displayed. In the event something does not complete as expected; "Error" will be displayed and the log file will have more information.

Example: on a X32 system with show name "show1", containing 2 scenes "scene1" & "scene2" at positions 00 and 01 respectively, a snippet "snippet1" with Parameter Filter "Preamp (HA)", channel "Ch 1", return "Aux 1" and main/matrix/group "Matrix 1" selected,

X32GetShow will connect to the X32 and read data from it. The following files (actual data values may vary) will be created in the specified directory:

c:/test/show1.shw:

#2.1#show "show1" 0 0 0 0 0 0 0 0 0 0 "X32-Edit 2.30"cue/000 100 "cue1" 0 0 0 0 1 0 0cue/001 101 "cue101" 0 1 0 0 1 0 0scene/000 "scene1" "" %000000000 1scene/001 "scene2" "" %000000000 1snippet/000 "snippet1" 1 1 1 1 1

c:/test/show1.000.scn

... a 2000+ lines file

c:/test/show1.001.scn

... a 2000+ lines file

c:/test/show1.000.snp

#2.1# "snippet1" 1 1 1 1 1/ch/01/preamp -0.5 OFF OFF 24 61/ch/01/delay OFF 0.3/auxin/01/preamp +0.0 OFF/mtx/01/preamp OFF

A log file will also be created in a dedicated directory. It enables listing the different actions taken by the program (if the "list of actions" option is checked) and the full set of OSC commands sent and received (if the "Verbose" option is checked).

Additional options enable restoring or not Show Safes after running the program, Use of not the Master Level Safe X32 feature or not when saving scenes, and keeping or not Scene Safes when saving scenes.

Finally, a delay value (in milliseconds) can be adjusted to allow for scenes and snippets to load safely before additional commands are sent to X32 (tested with 0ms delay with a wired 100Mbit/s Ethernet connection is OK)

All options are saved in a file: .X32GetShow.ini which also contains the Width, Height and Window loop Refresh factor as the first 3 parameters to be adjusted to fit your Windows settings, as shown below:

540 200 300 0 1 0 0 0 0 <W> <H> <R> < options >192.168.1.77 < IP >. <log directory>


X32SetShow

X32SetShow connects to the X32 (using the IP provided in the dedicated label). Once connected to X32, enables you to browse (opens a directory browsing window) your PC files for a location where a show file and associated scenes&snippets are located. It reads the show file, and saves all data to your X32 as the current show; all cues, scenes, and snippets are loaded and installed as well.

For all scenes and snippets associated to the show, the utility reads the respective files (*.scn or *.snp) and loads all data from each scene or snippet. The show is then fully available from your X32.

The different scenes and snippets names will appear under the "SetSHOW" button as the program progresses in loading data from files. When finished, "Complete" will be displayed. In the event something does not complete as expected; "Error" will be displayed and the log file will have more information. Note: the scene and snippet files are expected to be in the same directory as the show file they report to.

Example: on a PC with show name "show1", referencing 2 scenes "scene1" & "scene2" files, a snippet "snippet1" file,

X32SetShow will connect to the X32 and read data from it. The following files (actual data values may vary) will be accessed and their respective data loaded to X32:

c:/test/show1.shw:

#2.1#show "show1" 0 0 0 0 0 0 0 0 0 0 "X32-Edit 2.30"cue/000 100 "cue1" 0 0 0 0 1 0 0cue/001 101 "cue101" 0 1 0 0 1 0 0scene/000 "scene1" "" %000000000 1scene/001 "scene2" "" %000000000 1snippet/000 "snippet1" 1 1 1 1 1

c:/test/show1.000.scn

... a 2000+ lines file

c:/test/show1.001.scn

... a 2000+ lines file

c:/test/show1.000.snp

#2.1# "snippet1" 1 1 1 1 1/ch/01/preamp -0.5 OFF OFF 24 61/ch/01/delay OFF 0.3/auxin/01/preamp +0.0 OFF/mtx/01/preamp OFF

A log file will also be created in a dedicated directory. It enables listing the different actions taken by the program (if the "list of actions" option is checked) and the OSC commands sent and received (if the "Verbose" option is checked).

Additional options enable updating or not Show Safes from the show file data after running the program, Set of not the Master Level Safe X32 feature or not when saving scenes, and Update or not Scene Safes when loading scenes. The tool also enables a full erase of the show in the console prior to load a new one or replace some of the scenes/snippets only with the Reset Show Data flag.

Finally, a delay value (in milliseconds) can be adjusted to allow for scenes and snippets to load safely before additional commands are sent to X32 [a value between 1 (verbose on) and 2 (verbose off) a wired 100Mbit/s Ethernet connection is OK].

All options are saved in a file: .X32SetShow.ini which also contains the Width, Height as the first 2 parameters to be adjusted to fit your Windows settings, as shown below:

540 200 1 1 0 0 1 1 4 <W> <H> < 6x options ><delay>192.168.0.64 <X32 IP address>MyShow <Name of last Show>. <Path to log file>C:\test1 <path to last show file

Merging single WAV files into X-Live! compatible multi-channel WAV files.

This X32 utility aims at creating X-Live! compatible files from standard wave files; The typical use would be to enable playback using the X-Live! expansion board SD card(s) of already available multi-channel wave files such as those recorded from the X-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!:

  • Files to merge must all be named ch_1 to ch_32.

  • Files to merge must all have the same structure and size.

  • Files to merge must all be of the same sample rate.

  • Files to merge must all be 24bits

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 X-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 X-Live! directory of an SD card to be used with the expansion board, so you can enjoy your mix using the X32.

Mac users: A command-line version of the tool exists in the X32mac.zip file. Below the -h (help) for the utility, which offers the same options the Windows GUI version does:

pmaillot$ ./X32Wav_Xlive -hX32Wav_Xlive - ver 1.10 - ©2018 - Patrick-Gilles Maillotusage: X32Wav_Xlive [-f Marker file []: file containing markers] [-m marker, [,]: marker time in increasing order values] <Session dir> <Session name> X32Wav_Xlive will take into account all command-line parameter and run its 'magic', generating 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 Example: X32Wav_Xlive -m 1.2 -m 15 ./ "new session" will create a XLive! session directory in ./ based on the date and time, and create a session displayed as <session name> when loaded into 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 sessionpmaillot$Examples:pmaillot$ lsch_1.wav X32Wav_Xlive ch_2.wav markers.txtpmaillot$ ./X32Wav_Xlive -m 1 -m 2 ./ nameDone! - Elapsed time: 181mspmaillot$ ls4C4B5674 X32Wav_Xlive.d ch_1.wav X32Wav_Xlivech_2.wav markers.txtpmaillot$ ls 4C*00000001.wav SE_LOG.BIN

X32Xlive_Wav

X32Xlive_Wav splits / explodes X-Live! multi-channel WAV files from a recorded session into individual, single channel WAV files.

This X32 utility takes multi-channel wave files from a recorded X-Live! session directory and extract an arbitrary amount of channels (user defined names can be assigned) to individual wave files. Audio data can be extracted as 16bit, 24bit [default], or 32 bit samples of data.


X32Xlive_Wav also enables setting/changing the name of sessions displayed on the X32 screen, as shown below:

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 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.wavBB.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 XLive! Session

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

Mac users:

A command-line version of the tool exists in the X32mac.zip file. Below the -h (help) for the utility, which offers the same options the Windows GUI version does:


$ ./X32Xlive_wav -hX32Xlive_Wav - ver 0.37 - ©2018 - Patrick-Gilles Maillotusage: X32Xlive_wav [-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 scene file] [-w #,name, [,]: ch. number ',' followed by respective wave file name] Xlive! Session [-p 0/1 [0]: prepends number in front of the channel name] X32Xlive_wav will take into account all command-line parameter and run its 'magic', generating mono-wave files from the 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 a 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. Example: X32Xlive_wav -n 3 -d ~ -c 16 -s ~/myscene -w 3,new_name ~/4C4B5674 will extract as 16bit samples the first 3 channels contained in XLive! session 4C4B5674 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' X32Xlive_wav -n 8 -d ~ ~/4C4B5690 will extract as 24bit samples the first 8 channels contained in XLive! session 4C4B5690 in the home directory, into 8 separate wave files placed in the home directory with names Xlive_Wav_1.wav to Xlive_Wav_8.wav$

X32Utrack2XLive

Convert your Cymatic™ Utrack recordings to X-Live! Sessions (directly useable/loadable in XLive or WLive cards) to play on yourM32, X32 or WING

This X32 utility takes multi-channel wave files from a recorded Cymatic UTrack card/drive, and makes a multi-channel wave files session for X-Live! , or WLive card. Audio data is automatically found from the default recording naming convention used by Utrack, and conversion to XLive 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.

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

Automatic Mixing Tool for X32 - Up to 32 Channels. X32AutoMix enables automatic action of level Faders based on the actual signal present at X32 Inputs.

Note: this tool/utility does not claim providing professional AutoMixing functions such as found in Dugan Automixing products.

X32AutoMix drives input levels based on the presence of a signal at a given channel. Optionally, the global mix level will also be adjusted automatically based on the number of active inputs, a feature called NOM [Number of Open Mics]: each time the number of active inputs doubles, the global mix drops 3dB, readjusting up 3dB when appropriate.

Global mixing typically takes place at the channel faders, the L/R bus being used (by default) as global mix. This can be inconvenient when other sources (out of the AutoMix feature) are to be used as well, without going through X32AutoMix. This version enables to use a mix bus rather than L/R. In that case you can select a bus number (01...16), and use the bus send rotary button to adjust the minimum/nominal level values. The global mix will take place on the bus you selected, using the bus fader as global mix level.

It is a good idea to unselect L/R from the auto-mixed channels when auto-mixing through a bus, Auto-mixed input signals would otherwise go through both L/R and the bus. Another (important!) benefit of using a mix bus rather than the L/R bus is to avoid unnecessary wear on channel motorized faders.

For all active channels:

No signal:The channel level goes to its minimum position after a predefined delay (Delay to Fader Down).

A signal above a predefined level: The channel level moves to its nominal position, after an adjustable delay (Delay to Fader Up).

For all active channels, the minimum (Default: -oo) and nominal (Default: 0db) channel level positions can be changed at anytime, and will be remembered for the current session.

The Channels controlled by the tools are selected within a range (Channel numbering is from 01 to 32). A single channel can be set by using the same channel number for both values on each side of the "to:" , as in the picture above.

Delay to Fader Up: is set by the frequency at which data is read from X32. Typical values are from 0ms to 1000ms. The value granularity is around 50ms. This is a global value (applies to all channels).

Delay to Fader Down: is controlled by a timer within the utility, and is set in seconds. A channel fader will stay Up if a signal is present, and will go Down as soon as no signal has been sensed on that channel for x seconds.

Sensitivity: is a threshold value above which a signal is considered present. It is based on the X32 preamp input. practical values are above 0.001 and 1.000 is the max value (fully saturated/clipping preamp). This is a global value (applies to all channels).

You can decide to use a mix Bus (check the button to that effect) and set the mix Bus number accordingly. Automixing will go through that bus and make all corrections on that bus rather than the L/R bus (the default).

The NOM feature is optional and can be enabled by pressing the NOM OFF/NOM ON button.

The utility panel values are reloaded from the utility each time the tool is set into a running state by pressing the OFF button (it will then display "ON")

X32AutoMix tool saves the Fader Up and Fader Down values from one session to the next, so you don't have to reset these when starting a new Automix session.

Watch a small video of the tool (then ver 0.10) in action (Sorry for the poor quality).

Save and Restore your X32 Preferences and State, Scene, Routing, Commands

Say you want to be able to save those parameters that are not handled by shows, scenes, snippets, cues, presets, routing, effects or AES/DP48 files... So when you connect to your desk, it is exactly as you want it: screen, light brightness, view, etc.

That's what X32DeskSave supports... but wait! there's more: You can also save scenes, routing, AES/DP48 presets or any type of file or settings based on a pattern file (a scene, any set of commands, etc.); what the "Pattern" option does is read a file you selected by pressing on the "Pat.File" button, extract the X32 commands from this file and send the extracted commands to X32 to retrieve the values from your X32. These are saved in the file you select using the "Save As" button. Of course you don't need to select a pattern file if you choose "Scene", "Routing" or "AES/DP48" options.

Saving a full X32 Scene takes about 3 seconds (over WiFi), saving Routing or State/Preferences takes about 1.5 second.

X32DeskSave and its parameters
X32DeskRestore

X32DeskRestore looks rather similar and enables you to select a file as a source of commands and values to be restored to your X32. It can be any of the files you saved using X32DeskSave, but it can also be an actual X32 Scene or an X32 Snippet file you saved directly on your system and imported you your PC.

For both utilities, you need to connect to your X32, select the files or options you want to use. The status line under the "SaveDeskData" or "RestoreDeskData" buttons will indicate "Ready" meaning the utility has the information it needs to perform an operation. "Complete" will indicate the completion of the save or restore action. Other status lines will indicate actions you should take prior to using the utility.

Versions 1.00 and above of X32DeskSave and X32DeskRestore include a command-line version for Mac users in the X32mac.zip file as mentioned at the top of this page.

Attention! This will not save/restore your current X32 show; for this you will need to use X32GetShow/X32SetShow. This will not save/restore all X32 current libraries types; for this you will need to use X32GetLib/X32SetLib

Manage and re-organize X32 Channel strips!

X32CustomLayer is a simple utility to create and manage custom channel layers easily. Starting from a standard or current X32 setup (that is Input channels 01 to 32 and Aux inputs 01 to 08), X32CustomLayer enables you to reorganize the way “channels” are set (or layered).


Basically this enables you to virtually move a “channel” to a different position, keeping the actual input assigned to that “channel”; For example, say you have your singer microphone set at “channel” 01 and using XLR input 01. For ease of use, you need or would prefer to have this microphone handled by fader 25, and no time to unplug everything, and change all “channel” 25 settings to values that were used for “channel” 01.

You enter 01 in the box under “channel” 25, and voila! the program does the rest in copying config, eq, dyn,…, sends sections and in reassigning the input source, in a snap! X32CustomLayer will manage X32 Input channels 01 to 32, and Aux inputs 01 to 08 as numbers 33 to 40.


Page maintained by Patrick-Gilles Maillot - Aug 2020Rebuilt from Google Classic sites (to Google New sites)