sfs.td¶
Submodules for broadband sound fields.
Compute the sound field generated by a sound source. |
|
Compute WFS driving functions. |
|
Compute NFC-HOA driving functions. |
Functions
|
Apply delays for every channel. |
Create a point source for use in |
|
|
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. ASecondarySourceDistribution
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, **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.
- Returns
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.
- Returns
DelayedSignal
– A tuple containing the delayed signals (in anumpy.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()
.