In this directory the excellent Ambisonics decoder by Richard Furse is stored (AmbisonicPlayer.exe). It is a good idea to check if a newer version is available on the original web site: http://www.muse.demon.co.uk/mn_index.html This decoder requires as input a single, 4-channels WAV file. Most B-format recordings are instead saved as two separate stereo files. So I have created a small Fortran program which packs together two stereo WAV files into a single 4-channels WAV file. The new version works both with 16-bit and with 32-bit waveforms (but be aware that actually the R.Furse's decoder cannot process 32-bits waveforms). The fortran program can be freely downloaded from here (pack2x2to4.exe). The usage is very simple, directly from the DOS prompt: C:\>pack2x2to4.exe WXfile.wav YZfile.wav BFORMfile.wav *** New! New! New! *** In this directory I also make it available another Fortran program, which allows for computation of B-format signals starting from a multi-mike recording. This is usually useful for impulse responses, which are measured with the same microphone, placed subsequently in 7 close positions: a central one, plus three pairs dislocated along the three Cartesian axes with o positive or negative displacement d (usually 15 or 20 mm). The 7 input files must be saved as 7 mono WAV files (16 or 32 bits). The resulting B-format signals are saved as 4 mono 32-bits WAV files. The file names are to be prepared written in a small TXT file (task file), which contains the file names (in order) followed by the microphone displacement d (in m). The usage of the program is very simple. At the DOS prompt type: C:\>Crux7toBform taskfile.txt An example of a task file is saved in this directory (task_example.txt). It contains the name of the 7 input files, the name of the 4 output files, and the last line contains the microphone displacement from the central position d. *** New! New! New! *** My program for Virtual Microphone Synthesis is available for download from here. The program is called VirtualMike.exe, and is a Fortran-32 executable which can be run in a DOS console. The software asks for the name of the input file (a 4-channel B-format signal in WAV style) and of the output file (a mono wav file). Then You need to set the Directivity factor, which ranges between 0 (omnidirectional) to 2 (figure of eight). 1 means a cardioid, and all intermediate values are allowed (it is the same as the corresponding knob of the Soundfield microphone). Then You need to select the reference system (Angular or Cartesian). In the first case, the direction where Your virtual microphone is pointing is specified by the Azimut and Elevation angle (as it is common in binaural technology with HRTFs); azimut = 0 means in front (along the X axis of the Bformat), Azimut = 90 means on the left (Y axis), and so on. The angles are in degrees. The second choice is Cartesian, in which case You need to introduce the three cartesian coords of the direction where Your mike is pointing. For example, 1 0 0 is in front, and 0 0 1 is above. Don't worry about normalizing the vector modulus to unity, this is done by the program. This software can also be used as a Bformat decoder: suppose that You have 6 loudspeakers, placed around Your listening position. Measure the XYZ coordinates of each loudspeaker with respect to the listening position. Then synthesize for each loudspeaker a signal by pointing a virtual microphone in its direction. Play all these synthesized signals simultaneously (CoolEditPro is fine for this), and You will get Your original B-format signal decoded on Your loudspeaker array. This is not exactly Ambisonics. But this is what is being done within the forthcoming Soundfield SP451 Surround Sound Processor. Furthermore, this is done in digital domain, floating point, there is no limit on the number of channels, their position, and the choice of the directivity pattern for each of them. Thus, this is great for creating 5.1 mixes from a B-format signal. And it is free! If You want a deeper look at theory employed for extracting the virtual directivity patterns from the B-format, please download the WinWord file called VirtualTheory.doc The program can also be called directly from the command line, which makes it easy to create a BAT file (oh, good, old DOS!) for automatically creating a complete surround mix or decoding. The command-line syntax is as follows: C:\>VirtualMike BformatFile.wav VirtualMikeOut.wav DirectivityFactor A Azimut Elevation or C:\>VirtualMike BformatFile.wav VirtualMikeOut.wav DirectivityFactor C Xpointer Ypointer Zpointer An example for extracting a 5-channels mix from a B-format file is included (VmikeDemo.bat) Enjoy it! *** Other contributions *** Functionality similar to pack2x2to4 is available in the Windows program A_TOOLS.EXE which was kindly made available by Christian (www.thisplay.com) It also contains other functionality tailored to the usage of R.Furse's decoder. Angelo Farina P.S.: a new, faster version of MirtualMike has been uploaded, called VirtualMike2. This processes the B-format signal stored in two separate stereo files (WX and YZ), and automatically computes a stereo virtual microphone output, by taking the simmetric direction of the one indicated. You have to specify the orientation of the Left virtual microphone, the Right one is assumed automatically. This version is much faster, because the I/O is now bufferized in blocks of 16384 samples each. Each BAT file has now its counterpart (i.e. SCALA2.BAT) containing the proper syntax for invoking VirtualMike2. Finally, now the values of the angles or coordinates can also be written as integers (without the dot), which instead caused errors in the original virtualmike.exe.