SimpleFreeFieldHRIR

From Sofaconventions
Jump to navigation Jump to search

Description

File:SimpleFreeFieldHRTF.png

This conventions essentially defines the setup used in the ARI, LISTEN, FIU, CIPIC, and other similar HRTF databases. The measurements are done at a constant distance in free field with a single excitation source assuming an omnidirectional loudspeaker. Human listeners are considered and thus, the number of receivers is two. Azimuth and elevation angles are varied and the tilt of the head is not considered during the measurement. The measured HRTFs are represented as FIR filters, with a single HRTF set of a listener per file. The SOFA conventions SimpleFreeFieldHRIR defines such a setup. It requires: General attributes: SOFAConventions: SimpleFreeFieldHRIR, Datatype: FIR, RoomType: free field, other general attributes... Data: The number of receivers is two, thus, the size of Data.IR is [M 2 N]. Only a single sampling rate for the file is allowed, thus SamplingRate is a scalar. Source: Source is in the origin of the setup and consists of a single emitter. SourcePosition: (0 0 0), SourceUp: (0 0 1), SourceView: (1 0 0), SourceRotation, and EmitterPosition: (0 0 0).

  • Listener: The listener is in the measurement distance X (in meter) from the source, facing the source. ListenerPosition: (X 0 0), ListenerView: (0 0 0), ListenerUp: (X 0 1).
  • Receivers: Two receivers (=ears) on a head with radius H (in meter): ReceiverPosition: (0 -H 0; 0 +H 0).
  • The different azimuth and elevation angles of the measurement are described by the ListenerRotation as [M 3] matrix (in degrees). The coordinate type is DIN 9300.

Proposed (for SOFA 0.4)

Name Default Flags Dimensions Type Comment
GLOBAL_Conventions SOFA rm
GLOBAL_Version 0.3 rm
GLOBAL_SOFAConventions SimpleFreeFieldHRIR rm
GLOBAL_SOFAConventionsVersion 0.1 rm
GLOBAL_APIName rm Insert the API Name here
GLOBAL_APIVersion rm Insert the API Version here
GLOBAL_ApplicationName m
GLOBAL_ApplicationVersion m
GLOBAL_AuthorContact m
GLOBAL_License No license provided, ask the author for permission m
GLOBAL_Organization m
GLOBAL_DatabaseName m
GLOBAL_SubjectID m
GLOBAL_RoomType free field m
GLOBAL_DataType FIR rm
GLOBAL_History
GLOBAL_Comment
GLOBAL_DatabaseTimeCreated m will be updated when saving and not existing or empty
GLOBAL_DatabaseTimeModified m will be updated each time when saving
ListenerPosition [1 0 0] m IC, MC double
ListenerPosition_Type cartesian m
ListenerPosition_Units meter m
ListenerUp [1.2 0 1] m IC, MC double
ListenerUp_Type cartesian m
ListenerUp_Units meter m
ListenerView [0 0 0] m IC, MC double
ListenerView_Type cartesian m
ListenerView_Units meter m
ListenerRotation [0 0 0] m IC, MC double
ListenerRotation_Type din9300 m
ListenerRotation_Units degrees m
ReceiverPosition [0 -0.09 0; 0 0.09 0] m rCI, rCM double
ReceiverPosition_Type cartesian m
ReceiverPosition_Units meter m
SourcePosition [0 0 0] m IC, MC double
SourcePosition_Type cartesian m
SourcePosition_Units meter m
EmitterPosition [0 0 0] m eCI, eCM double
EmitterPosition_Type cartesian m
EmitterPosition_Units meter m
Data.IR [1 1] m mRn double
Data.SamplingRate 48000 m I double
Data.SamplingRate_Units hertz m
Data.Delay [0 0] m IR, MR double

Legend:

  • Name: the name of the metadata
    • An underscore (_): the metadata is an attribute
      • GLOBAL_: the metadata is a global attribute
      • X_Y: the metadata is an attribute Y of the variable X
    • No underscore: the metadata is a variable
    • Data.X: the metadata is structured within the data
  • Default: default value for the metadata
    • An asterisk (*): special handling required, mentioned in the column Comment
  • Flags:
    • r: read-only, must be the default value
    • m: mandatory, must be saved in the file
  • Dimensions: dimensions of the metadata (see SOFA specifications for more explanations)
    • lower case: the variable size in that dimension determines the dimension size in the file
    • upper case: variable must be of that dimension (or one of these dimensions)

Stable (used in SOFA 0.3)

Name Default Flags Dimensions Comment
GLOBAL_Conventions SOFA rm
GLOBAL_Version 0.3 rm
GLOBAL_SOFAConventions SimpleFreeFieldHRIR rm
GLOBAL_SOFAConventionsVersion 0.1 m
GLOBAL_APIName * rm Insert the API Name here
GLOBAL_APIVersion * rm Insert the API Version here
GLOBAL_ApplicationName m
GLOBAL_ApplicationVersion m
GLOBAL_AuthorContact m
GLOBAL_License No license provided, ask the author for permission m
GLOBAL_Organization m
GLOBAL_DatabaseName m
GLOBAL_SubjectID m
GLOBAL_RoomType free field m
GLOBAL_DataType FIR m
GLOBAL_History
GLOBAL_Comment
GLOBAL_DatabaseTimeCreated * m will be updated when saving and not existing or empty
GLOBAL_DatabaseTimeModified * m will be updated each time when saving
I 1 rm I
I_LongName singleton dimension rm
R 2 rm R
R_LongName number of receivers rm
E 1 rm E
E_LongName number of emitters rm
N - m N
N_LongName time m
N_Units samples m
M - m M
M_LongName number of measurements rm
C 3 rm C
C_LongName coordinate triplet rm
ListenerPosition [1 0 0] m IC, MC
ListenerPosition_Type cartesian m
ListenerPosition_Unitsmeter m
ListenerUp [1.2 0 1] m IC, MC
ListenerUp_Type cartesian m
ListenerUp_Units meter m
ListenerView [0 0 0] m IC, MC
ListenerView_Type cartesian m
ListenerView_Units meter m
ListenerRotation [0 0 0] m IC, MC
ListenerRotation_Type din9300 m
ListenerRotation_Units degrees m
ReceiverPosition [0 -0.09 0; 0 0.09 0] m rCI, rCM
ReceiverPosition_Type cartesian m
ReceiverPosition_Units meter m
SourcePosition [0 0 0] m IC, MC
SourcePosition_Type cartesian m
SourcePosition_Units meter m
SourceUp [0 0 1] m IC, MC
SourceUp_Type cartesian m
SourceUp_Units meter m
SourceView [1 0 0] m IC, MC
SourceView_Type cartesian m
SourceView_Units meter m
EmitterPosition [0 0 0] m eCI, eCM
EmitterPosition_Type cartesian m
EmitterPosition_Units meter m
Data.IR [1 1] m mRn
Data.SamplingRate 48000 m I
Data.SamplingRate_Units hertz m

Legend:

  • Name: the name of the metadata
    • An underscore (_): the metadata is an attribute
      • GLOBAL_: the metadata is a global attribute
      • X_Y: the metadata is an attribute Y of the variable X
    • No underscore: the metadata is a variable
    • Data.X: the metadata is structured within the data
  • Default: default value for the metadata
    • An asterisk (*): special handling required, mentioned in the column Comment
  • Flags:
    • r: read-only, must be the default value
    • m: mandatory, must be saved in the file
  • Dimensions: dimensions of the metadata (see SOFA specifications for more explanations)
    • lower case: the variable size in that dimension determines the dimension size in the file
    • upper case: variable must be of that dimension (or one of these dimensions)