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
ASIO4ALL
CDP Multi-Channel Toolkit
or
2 WAVE-USB
Foobar2000 or Winamp
ASIO4ALL
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.
- 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.
- Open a command prompt and "cd" to the toolkit directory on your desktop.
- 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 <>)
- Type the following command to assign a standard channel assignment to the file: chxformat -s122879 <new file name.wav> (exclude <>)
- 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
Format : MS WAVE-FORMAT-EXTENSIBLE
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.