sofa#

Impulse response datasets in SOFA format.

irdl.sofa.get_fabian(kind: str = 'measured', hato: int = 0, path: str = PosixPath('/home/runner/.cache/irdl'), output_format: str = 'pyfar')#

Download and extract the FABIAN HRTF Database v4 from DepositOnce.

DOI: 10.14279/depositonce-5718.5

Parameters:
kindstr

Type of HRTF to download. Either 'measured' or 'modeled'.

hatoint

Head-above-torso-rotation of HRTFs in degrees. Either 0, 10, 20, 30, 40, 50, 310, 320, 330, 340 or 350.

pathstr or pathlib.Path

Path to the directory where the data should be stored. Will be overwritten, if the environment variable IRDL_DATA_DIR is set. Default is the user cache directory.

output_formatstr

Output format of the returned data. Either 'pyfar' (default), 'hdf5', or 'numpy'.

Returns:
datadict or pathlib.Path

Returned data depends on output_format:

irdl.sofa.load_sofa(file)#

Load raw arrays from a SOFA file.

Parameters:
filepathlib.Path or str

Path to the SOFA file.

Returns:
datadict

Dictionary with the following keys:

  • 'impulse_response' : numpy.ndarray — Impulse response data.

  • 'source_coordinates' : numpy.ndarray — Source positions as cartesian coordinates.

  • 'receiver_coordinates' : numpy.ndarray — Receiver positions as cartesian coordinates.

  • 'sampling_rate' : float — Sampling rate in Hz.

irdl.sofa.sofa_to_h5(file, extracted_already)#

Convert a SOFA file to HDF5 format and return the path.

Parameters:
filepathlib.Path or str

Path to the SOFA file.

extracted_alreadybool

Check whether the SOFA file existed before extraction. If False, the SOFA file is deleted after conversion.

Returns:
h5_pathpathlib.Path

Path to the converted HDF5 file.

irdl.sofa.sofa_to_pyfar(file)#

Load data from a SOFA file and return as dictionary of pyfar objects.

Parameters:
filepathlib.Path or str

Path to the SOFA file.

Returns:
datadict

Dictionary with the following keys: