16 Channel Wave Playback
I was recently asked if there is a way to playback 16 channel wave files from a PC. This would allow having material for 2 laser projectors to playback in perfect sync. This page details the steps required to make 16 channel playback possible. You will need the following hardware/software to make this work:

2 MiniDSP USBStreamers
2 EK-DZ ADAT to ILDA Converters
Foobar 2000 or Winamp
CDP Multi-Channel Toolkit


Foobar2000 or Winamp
CDP Multi-Channel Toolkit

The first step is to create the 16 channel wave file. In the image below, you will see a total of 16 tracks. I first opened an 8 channel wave file, then added the additional 8 channels from a second show.
The most important step to this process is converting the newly created 16 channel wave file to an extensible wave format. The extensible wave format ties each of the 16 tracks to a particular output and is required for anything more than 8 tracks. There may be an easier process for converting a standard wave file to extensible, the process here requires the use of command line and requires a couple steps to complete.

  1. First, download the CDP Multi-Channel Toolkit and extract the folder to your desktop. You will have quite a few files within the folder, the only ones we need are <copysfx> and <chxformat>. Place the file you wish to convert in this same folder.
  2. Open a command prompt and "cd" to the toolkit directory on your desktop.
  3. Type the following command to convert the standard wave file to an extensible wave file with a blank channel assignment: copysfx -t1 <file name to convert.wav> <new file name.wav> (exclude <>)
  4. Type the following command to assign a standard channel assignment to the file: chxformat -s122879 <new file name.wav> (exclude <>)
  5. To verify the newly converted file you may run the following command: sfprops <new file name.wav>
The output of the sfprops command should be similar this:

C:Users--DesktopWavEX Converter>sfprops 16channelwavex.wav 
Properties of C:Users--DesktopWavEX Converterchannelwavex.wav: 
File type: soundfile 
SPEAKER CONFIGURATION: Special speaker assignments 
Speaker Mask = 122879 (0x1dfff) 
Channel 1: Front Left 
Channel 2: Front Right 
Channel 3: Front Centre 
Channel 4: Low Frequency 
Channel 5: Back Left 
Channel 6: Back Right 
Channel 7: Front Centre-Left 
Channel 8: Front Centre-Right 
Channel 9: Back Centre 
Channel 10: Side Left 
Channel 11: Side Right 
Channel 12: Top Centre 
Channel 13: Front Top Left 
Channel 14: Front Top Right 
Channel 15: Back Top Left 
Channel 16: Back Top Centre 
Sample Rate : 48000 
Channels : 16 
Sample Frames : 15933750 
sample type: : 16-bit 
duration : 331.9531 secs

Next we will need to prepare the USBStreamers for 16 channel output. By default, the USBStreamers will have a serial number of 1 if in I2S mode or 3 if in ADAT mode. If running in ADAT mode, we want to load new firmware to one of the USBStreamers so it will have a serial number of 4. First go to the firmware update tab and select browse, find the folder containing the firmware updates for the USBStreamer, select the ADAT version and you will find 2 files, one for ID3 and one for ID4. Select ID4 and start the firmware update with only 1 USBStreamer attached.
If using Winamp you will need to make sure you have the ASIO plugin already loaded. Go to Options, then Preferences and select Output. Double click on 'ASIO output (dll version) v0.67' and make sure the device is set to 'ASIO4ALL v2'. That's it, load the file or playlist and click play!
Foobar 2000 has a few additional steps to make it work properly. Despite having the channel assignments in the extensible wave file, you will still need to set the assignments again via the Foobar configuration panel. This will also allow you to reassign channels, if necessary.
Open Foobar 2000, select File then Preferences. Under the output tab you should find 'ASIO' if the plugin was loaded previously, if not you will need to add the ASIO plugin to Foobar.

Select ASIO, under 'Driver' you should see 'ASIO4ALL v2' listed. Select 'Add New' and assign the output channels exactly as listed in the pic. Select 'OK', then 'OK' again. Reopen Preferences and click on 'Output', from the drop down menu select your newly created channel mapping. That should be it!
It is possible to have 8 channel and 16 channel wave files in your playlist. The 8 channel wave files do not need to be converted to the extensible wave format.

With 16 channel wave, latency of the host PC is even more of a concern. There are a couple of tools available to determine if your host PC is capable of handling streaming media. The DPC Latency Checker is a great utility for testing latency issues and is available from Thesycon.de. The USBStreamer also includes a Debug Tool that will show issues with streaming media on a host PC.