# sfs.td¶

Submodules for broadband sound fields.

 source Compute the sound field generated by a sound source. wfs Compute WFS driving functions. nfchoa Compute NFC-HOA driving functions.

Functions

 apply_delays(signal, delays) Apply delays for every channel. secondary_source_point(c) Create a point source for use in sfs.td.synthesize(). synthesize(signals, weights, ssd, …) Compute sound field for an array of secondary sources.
sfs.td.synthesize(signals, weights, ssd, secondary_source_function, **kwargs)[source]

Compute sound field for an array of secondary sources.

Parameters: signals ((N, C) array_like + float) – Driving signals consisting of audio data (C channels) and a sampling rate (in Hertz). A DelayedSignal object can also be used. weights ((C,) array_like) – Additional weights applied during integration, e.g. source selection and tapering. ssd (sequence of between 1 and 3 array_like objects) – Positions (shape (C, 3)), normal vectors (shape (C, 3)) and weights (shape (C,)) of secondary sources. A SecondarySourceDistribution can also be used. secondary_source_function (callable) – A function that generates the sound field of a secondary source. This signature is expected: secondary_source_function( position, normal_vector, weight, driving_signal, **kwargs) -> numpy.ndarray  **kwargs – All keyword arguments are forwarded to secondary_source_function. This is typically used to pass the observation_time and grid arguments. numpy.ndarray – Sound pressure at grid positions.
sfs.td.apply_delays(signal, delays)[source]

Apply delays for every channel.

Parameters: signal ((N,) array_like + float) – Excitation signal consisting of (mono) audio data and a sampling rate (in Hertz). A DelayedSignal object can also be used. delays ((C,) array_like) – Delay in seconds for each channel (C), negative values allowed. DelayedSignal – A tuple containing the delayed signals (in a numpy.ndarray with shape (N, C)), followed by the sampling rate (in Hertz) and a (possibly negative) time offset (in seconds).
sfs.td.secondary_source_point(c)[source]

Create a point source for use in sfs.td.synthesize().