Welcome to the Sound Field Synthesis Toolbox

Sound field synthesis (SFS) includes methods that try to generate a defined sound field in an extended area that is surrounded by loudspeakers. This project focuses on those methods that provide analytical solutions to the underlying mathematical problem, namely WFS, NFC-HOA, and the SDM.

The SFS Toolbox project is structured in the following three sub-projects.

Overview and Theory:
https://sfs.readthedocs.io/ (current page)
SFS Toolbox for Matlab/Octave:
https://sfs-matlab.readthedocs.io/
SFS Toolbox for Python:
https://sfs-python.readthedocs.io/

The Toolboxes provide you with the implementation of the underlying mathematics. You can make numerical simulations of the resulting sound fields and can even create binaural simulations of the same sound fields. This enables you to listen to large loudspeaker arrays, even if you don’t have one in your laboratory or at home. In addition, you can easily plug-in your own algorithms in order to test or compare them.

The theory section introduces the underlying physical principles of sound field synthesis and derives all of the so called driving functions that determine the actual loudspeaker signals. Most of them are implemented in the Toolboxes and comments in the code link back to the corresponding equations. A lot of the figures in the theory section are directly created by the SFS Toolbox for Python. All of them display the corresponding code for creating them directly before the actual figure. In order to recreate them, you have to execute the following code first:

import numpy as np
import matplotlib.pyplot as plt
import sfs
plt.rcParams['figure.figsize'] = 8, 4.5  # inch

The image at the top of the page is extracted from [ZS13].