Last week, I posted my first blog post on the Behringer X-Live expansion card. This is a dual SD and USB input/output card which you can record to both the USB side AND the SD side at the same time.
Since posting, I have been getting a common question over the last week, “how does the X-Live card record the audio?” or “how does the X-Live card handle the files?” So I wanted to put all of my thoughts and data about that here.
X-Live Records 32-Bit PCM multi-channel WAV
The Behringer X-Live card records a 32-Bit PCM multi-channel WAV file. AKA 32 channels within one .WAV file. If you are wondering what PCM stands for, it stands for Pulse-Code Modulation.
The maximum possible size for a file in a FAT32 format is 4 GiB minus 1 byte or 4,294,967,295 bytes. This is also the same for the WAV format itself. This is because of its use of a 32-bit unsigned integer to record the file size header. Due to this limitation, at 11.7 minutes it will create an additional file. The X-Live card will then add data into a log to swap over to the additional file at the right time and does this seamlessly during playback.
The 32-bit PCM multi-channel wav file is encoded as it was a surround sound file, however instead of a 6 channel 5.1 surround sound audio stream, the X-Live has a 32 channel audio stream.
If you want to learn some really interesting information about the Wave Format, there is an amazing page that you can read about it! Check it out here: LINK.
An interesting tidbit that I found on the page linked above, was how the samples are saved with a multi-channel file:
Samples in a multi-channel PCM wave file are interleaved. That is, in a stereo file, one sample for the left channel will be followed by one sample for the right channel, followed by another sample for the left channel, then right channel, and so forth.
The samples for all channels at a moment in time are called a sample frame (also called a block). That is, a sample frame will contain one sample for each channel. In a monophonic file, a sample frame will consist on 1 sample. In a stereo file, a sample frame has 2 samples (one for the left channel, one for the right channel). In a 5-channel file, a sample frame has 5 samples. The block align field in the format chunk gives the size in bytes of each sample frame. This can be useful when seeking to a particular sample frame in the file.
Why a single file with 32 channels?
I have already heard this question, “Why a single file with 32 channels, it would be so much easier to be 32 different channels.”
SD cards are limited to a 4-wire data bus, so the amount of read/writes that can happen at any given moment are limited. Because of this, it is better to write a single stream of data to the card rather than 32 streams of data to 32 different wave files.
I don’t work for Behringer, so this is speculation. However, my guess is that Behringer wanted to ensure dropout free, error free recording, so one data stream into a 32 channel wave file wins.
X-Live SD/SDHC Card Speed
The Behringer X-Live is ‘optimized for write speed ensuring long 32 channel recordings of 48 kHz / 32-bit PCM data, with minimal risk for audio drop-outs on a large variety of SD or SDHC cards.’ With that being said, Recording 32 tracks of 48kHz uncompressed 32-bit audio requires about 340 MB of memory per minute. This makes out to be around 6MB/sec, and while this is less speed than a Class 10, it is recommended and only officially supported by an SD or SDHC card with a Class 10 or higher speed rating. Class 10 has a minimum write speed of 10MB/sec.
While you could get away with using a Class 6 or possibly a Class 4, I would NOT recommend trying.
X-Live Max SD/SDHC Card Size
The Behringer X-Live card uses a FAT32 formatting on the SD or SDHC card. There is a file restriction inside of FAT32 that makes the maximum file size limited to 4GiB and makes the maximum officially supported size to 32GB.
What about SDXC?
To get larger than 32GB you would need to move to an SDXC card which is officially not supported by the Behringer X-Live. SDXC cards use exFAT formatting to allow the much larger capacity as well as an additional row of pins to allow for faster speeds. The X-Live does not support exFAT formatting, only FAT32. So, to get an SDXC card to unofficially work with the X-Live, you would need to format the SDXC card to FAT32.
So what does the file structure look like?
When you start recording a session, a folder will be created and will be named by the 32-bit timestamp of the recording start as an 8 character hex-string. In this example, we have “4B5C62B0.”
We can see that we have a session log file “SE_LOG.bin”. Because of the 4GiB max file size, when the X-Live records longer than 11.7 minutes, it will create an additional .WAV file. As these new .WAV files are created, the log file will keep track of where all of these wave files go.
The .WAV files are 32-bit multichannel PCM wave files, they are recorded at either 44.1kHz or 48kHz depending on what the board is set to for sample rate. (see Setup>Global) Depending on what you have your channel count set to (under Setup>Card) it will record 8 channels, 16 channels, or 32 channels in each .wav file.
As you can see the wave file is titled “00000001.WAV”, when a second wave file is created it will be titled “00000002.WAV”, then “00000003.WAV” and so on and so forth.
X-Live on Playback
The X-Live takes care of lining up all of the files seamlessly, so there is no drop in audio at all when moving between all of these files!
Working inside of Reaper
If you wanted to drop these files into Reaper to edit them, you would need to import the multiple wav files and line them up 00000001.wav, 00000002.wav, 00000003.wav, etc. Then you can Right click on the files, ‘Item Processing’, then clicking on ‘Explode Multichannel Audio or MIDI items to new one-channel items’
Hopefully, this helps clear up a lot of questions regarding how the X-Live works with files. This is still the easiest setup that I have ever done for any DAW and I am excited to see how churches, venues, and sound techs use it in the future!