Wave Field Synthesis (WFS) Bus

Wave Field Synthesis is a technique that aims at recreating exactly the wave front a sound source would have created at its specified position. It relies on delay and level differences. As such, it has the advantage that the localization of sounds will be correctly perceived at any position in the audience area.

Understanding WFS#

Wave Field Synthesis is based on Huygens’s principle, formulated in 1690 in his Treatise on Light.

It states that every point in a wavefront created by a primary source (for us, a virtual source) can be considered as a secondary source (for us, a speaker), radiating a spherical wavelet. All these secondary sources thus generate, all together, a secondary wavefront identical to the primary wavefront.

Theoretically, all the secondary sources (i.e. the loudspeakers) must be arranged in a continuous and infinite distribution. In practice, it is possible to use a discrete (i.e. not continuous) and finite number of loudspeakers. But this sampling of the wave field will have several consequences, one of which being that the perfect wave field reconstruction will only be achievable for frequencies under a specific value, dependent of the spacing between the loudspeakers.

However, the perception of the source localization is still excellent over the whole listening area, thus offering the same quality for all audience members.

WFS

Speaker Layout Requierements#

WFS works on 2D immersive setups. Make sure that all the loudspeakers are configured to the same z Coordinate.

If all your speakers are not on the same plane, then use the Speakers Parameters to edit the positionning of your speakers on the WFS busses.

WFS Parameters#

Default parameters were chosen to ensure optimal results for sources with a fixed position or with slow movements.

SDIF File (Legacy)#

info

Starting with HOLOPHONIX 1.7.0, SDIF files are no longer necessary to run WFS busses. The grid of gains and delay values will be automatically computed when loading your preset.

However, SDIF files can still be loaded for legacy support. When an SDIF file is selected, its gains and delay value will be used. When no SDIF File is selected, the gains and delay are computed automatically.

SDIF file setup (Legacy) (click to expand)

The drop-down menu displays all the SDIF files that were imported to HOLOPHONIX. Select the ‘SDIF’ file corresponding to your WFS array. The SDIF file contains, for all the loudspeaker, a pre-computed set of gain and delay values associated to every position on the grid.

Create an SDIF file (Legacy) (click to expand)

Launch the “HOLOPHONIX WFS CONFIG” software, supplied with your processor. This software runs under Windows and macOS. Enter the characteristics of your WFS array:

  • ‘NUMBER OF SPEAKERS’ of your WFS array,
  • ‘SPACING BETWEEN SPEAKERS’: distance between speaker centers (interacoustic distance),
  • ‘LISTENING DISTANCE’: distance between the WFS array and the reference point,
  • ‘SAMPLE RATE’: sample rate you use for your projects. You can generate a file for each frequency if necessary.

Click on ‘DISPLAY’ to show the WFS grid, generated in .sdif format.

To generate the file in the .sdif format, click either on ‘EXPORT TO DOCUMENT FOLDER’ or on ‘EXPORT TO HOME FOLDER’ , according to your preferences. Open the relevant folder, and you’ll find the .sdif file you created. The other files (.txt and .coll) are not needed.

If your system is made of several WFS array, don’t forget to rename the file before generating new ones, to identify them more easily.

Import an SDIF file to the processor (Legacy) (click to expand)

SDIF File import is no longer supported. Contact HOLOPHONIX Support to learn how to add SDIF Files to your project.

Files imported with a previous version of HOLOPHONIX are still available.

Delay Mode#

When a source is moved from one position to an other, the delay value has to change continuously. Changing a delay continuously creates artifacts, no matter what method is used. But depending on your audio signal (voice, rythmic or melodic instrument, etc.), and the type of movements, you might prefer one method over an other.

VDELAY method will apply a variable delay, causing a doppler-like effect (pitch variation).

XDELAY method applies a crossfade between signals, causing comb-filtering (coloration).

Interpolation Mode#

Theoretically, in digital audio, a delay value can only be a multiple of the sample rate. To allow a smooth delay transition when a source is moved, it is necessary to apply delay values in between samples. Several methods allow to do that, each with its pros and cons. The recommended method is All Pass.

Lagrange 3 mode computes more precise delays values, but introduces delay-dependent filtering and phase delay in the audible spectrum, unless it is used at an oversampling frequency (i.e. at a sample rate ≥ 88.2 kHz or 96 kHz).

All Pass mode has the advantage to offer an excellent tone fidelity, as it does not introduce filtering. Delay values are not as precise as Lagrange 3, but are, but at the cost of less precise delay values. However, this method is more CPU-Intensive.

tip

We recommend using All Pass as it offers excellent results and does not require oversampling.

Interpolation Time#

The interpolation time corresponds to the time it will take to shift from one set of delay values to another. If you need to change this parameter, take into account the audio characteristics of your source (tone, sustained or percussive, ...), as well as the speed of its movements. You can also try changing this parameter along with Interpolation Mode.

Ramp Time#

The ramp time is the time it will take to shift from one set of gain values to another.

Delay Scaling#

This setting allows the user to modify proportionally the delay values, by decreasing the delay differences (under 100%) or increasing them (over 100%).

The chosen percentage will act as a multiplication factor for the set of delay values applied. When the delay scaling is set to 200%, all delays will have double the value they had at 100%, while at 50% they will have half the value. Setting the delay scaling at 0% will set all delays to 0 ms, only the level differences will remain.

The delay scaling has a direct impact on the filtering effects (coloration) that are caused by the delays when moving a source. Depending on the audio signal, this comb filtering-like sensation can be more or less disturbing.

tip

In most cases, a Delay Scaling value around 90% preserves a natural timbre, while maintaining a good spatial accuracy when changing grid position.

Delay Scaling can be used to modify the shape of the wave front, making it closer to a plane wave for values under 100%, or to increase the delays between the speakers for values over 100%, thus relying more on the precedence effect for the perception of sound localization.

Gain Scaling#

This setting allows to modify the differences between the gain values by decreasing them (under 100%), or increasing them (over 100%).

tip

Use this setting when sources are positionned close to the WFS speaker array. With a setting a little bit lower than 100%, you will start using more loudspeakers, and enhance the perception for listeners closer to the array.