SimpleFreeFieldHRIR
Description
This conventions essentially defines the setup used to measure HRTFs in free field. The measured HRTFs are represented as FIR filters, with a single HRTF set of a listener per file. We defined this conventions to describe data from databases like ARI, LISTEN, FIU, CIPIC, and others.
In SimpleFreeFieldHRIR version 0.2, we used ListenerRotation to describe the different measurement directions, and the source was assumed to be in the center of the measurement setup. This, however, limited the use of SimpleFreeFieldHRIR, thus, in version 0.4, we use SourcePosition to represent the different HRTF directions. By doing so, more complex data can be described where the tilt of the head is varied, or the listener is not exactly in the center of the measurement setup.
In SimpleFreeFieldHRIR version 0.4, the last version before AES69-2015, we adapted the conventions to SOFA 0.6. The most striking changes are:
- Source has been renamed to Origin (in order to reduce the confusion with the object source)
- SubjectID has been renamed to ListenerShortName (in order to be more consistent with the general naming of the metadata).
SimpleFreeFieldHRIR version 1.0 represents the current standardized convention set from AES69-2015.
Version 1.0
This convention set essentially defines the setup used in the ARI, LISTEN, FIU, CIPIC, and other similar HRTF databases. The measurements are done in free field with a single excitation source assuming an omnidirectional loudspeaker. Human listeners are considered and thus, the number of receivers is usually two. Note that usually, only the apparent azimuth and elevation angles are provided and this information is modeled as the variation of the source position. This convention set can, however, also be used to describe more complex data where the tilt of the head is varied or the listener is not exactly in the center of the measurement setup. The measured HRTFs are represented as FIR filters, with a single HRTF set of a listener per file.
- General attributes: SOFAConventions: SimpleFreeFieldHRIR, Datatype: FIR, RoomType: free field, other general attributes...
- Listener: The listener is in the origin of the setup, facing in the direction of the y-axis. Thus, for default values, ListenerPosition=[0 0 0], ListenerView=[1 0 0], ListenerUp=[0 0 1], all given in cartesian coordinates.
- Receivers: Per default, two Receivers (=ears) are defined on a head with radius H (in meter, default: 0.09), thus, ReceiverPosition=[0 H 0; 0 -H 0]. Note that any positive integer number of Receivers can be used, though.
- Source: Source consists of a single Emitter only. Per default, EmitterPosition=[0 0 0] in cartesian coordinates. SourcePosition (in spherical coordinates!) varies corresponding to the different azimuth and elevation angles of the measurement directions. Per default, SourcePosition=[0 0 1] (azimuth 0°, elevation 0°, distance 1 m). SourceUp and SourceView are not considered and optional.
Name | Default | Flags | Dimensions | Type | Comment |
---|---|---|---|---|---|
GLOBAL:Conventions | SOFA | rm | attribute | ||
GLOBAL:Version | 2.1 | rm | attribute | ||
GLOBAL:SOFAConventions | SimpleFreeFieldHRIR | rm | attribute | This convention set is for HRIRs recorded under free-field conditions or other IRs created under conditions where room information is irrelevant | |
GLOBAL:SOFAConventionsVersion | 1.0 | rm | attribute | ||
GLOBAL:APIName | rm | attribute | |||
GLOBAL:APIVersion | rm | attribute | |||
GLOBAL:ApplicationName | attribute | ||||
GLOBAL:ApplicationVersion | attribute | ||||
GLOBAL:AuthorContact | m | attribute | |||
GLOBAL:Comment | attribute | ||||
GLOBAL:DataType | FIR | rm | attribute | ||
GLOBAL:History | attribute | ||||
GLOBAL:License | No license provided, ask the author for permission | m | attribute | ||
GLOBAL:Organization | m | attribute | |||
GLOBAL:References | attribute | ||||
GLOBAL:RoomType | free field | m | attribute | ||
GLOBAL:Origin | attribute | ||||
GLOBAL:DateCreated | m | attribute | |||
GLOBAL:DateModified | m | attribute | |||
GLOBAL:Title | m | attribute | |||
ListenerPosition | [0 0 0] | m | IC, MC | double | |
ListenerPosition:Type | cartesian | m | attribute | ||
ListenerPosition:Units | metre | m | attribute | ||
ReceiverPosition | [0 0.09 0; 0 -0.09 0] | m | rCI, rCM | double | |
ReceiverPosition:Type | cartesian | m | attribute | ||
ReceiverPosition:Units | metre | m | attribute | ||
SourcePosition | [0 0 1] | m | IC, MC | double | Source position is assumed to vary for different directions/positions around the listener |
SourcePosition:Type | spherical | m | attribute | ||
SourcePosition:Units | degree, degree, metre | m | attribute | ||
EmitterPosition | [0 0 0] | m | eCI, eCM | double | |
EmitterPosition:Type | cartesian | m | attribute | ||
EmitterPosition:Units | metre | m | attribute | ||
GLOBAL:DatabaseName | m | attribute | name of the database to which these data belong | ||
GLOBAL:ListenerShortName | m | attribute | ID of the subject from the database | ||
ListenerUp | [0 0 1] | m | IC, MC | double | |
ListenerView | [1 0 0] | m | IC, MC | double | |
ListenerView:Type | cartesian | m | attribute | ||
ListenerView:Units | metre | m | attribute | ||
Data.IR | [0 0] | m | mRn | double | |
Data.SamplingRate | 48000 | m | I, M | double | |
Data.SamplingRate:Units | hertz | m | attribute | ||
Data.Delay | [0 0] | m | IR, MR | double | |
SourceUp | [0 0 1] | IC, MC | double | ||
SourceView | [1 0 0] | IC, MC | double | ||
SourceView:Type | cartesian | attribute | |||
SourceView:Units | metre | attribute |
Old, deprecated versions
For historical reasons the older versions of the SimpleFreeFieldHRIR Convention are listed below.
Version 0.4 (deprecated)
This conventions essentially defines the setup used in the ARI, LISTEN, FIU, CIPIC, and other similar HRTF databases. The measurements are done in free field with a single excitation source assuming an omnidirectional loudspeaker. Human listeners are considered and thus, the number of receivers is two. Note that usually, only the apparent azimuth and elevation angles are provided and this information is modeled as the variation of the source position. This conventions can, however, also be used to describe more complex data where the tilt of the head is varied or the listener is not exactly in the center of the measurement setup. The measured HRTFs are represented as FIR filters, with a single HRTF set of a listener per file.
- General attributes: SOFAConventions: SimpleFreeFieldHRIR, Datatype: FIR, RoomType: free field, other general attributes...
- Listener: The listener is in the origin of the setup, facing in the direction of the y-axis. Thus, for default values, ListenerPosition=[0 0 0], ListenerView=[1 0 0], ListenerUp=[0 0 1], all given in cartesian coordinates.
- Receivers: Two receivers (=ears) on a head with radius H (in meter, default: 0.09): ReceiverPosition=[0 -H 0; 0 +H 0].
- Source: Source consists of a single emitter. For default values, EmitterPosition=[0 0 0] in cartesian coordinates. SourcePosition (in spherical coordinates!) varies corresponding to the different azimuth and elevation angles of the measurement directions. For default, SourcePosition=[0 0 1] (azimuth 0°, elevation 0°, distance 1 m). SourceUp and SourceView are not considered and optional.
Name | Default | Flags | Dimensions | Type | Comment |
---|---|---|---|---|---|
GLOBAL:Conventions | SOFA | rm | attribute | ||
GLOBAL:Version | 0.6 | rm | attribute | ||
GLOBAL:SOFAConventions | SimpleFreeFieldHRIR | rm | attribute | This convention set is for HRIRs recorded under free-field conditions or other IRs created under conditions where room information is irrelevant | |
GLOBAL:SOFAConventionsVersion | 0.4 | rm | attribute | ||
GLOBAL:APIName | rm | attribute | |||
GLOBAL:APIVersion | rm | attribute | |||
GLOBAL:ApplicationName | attribute | ||||
GLOBAL:ApplicationVersion | attribute | ||||
GLOBAL:AuthorContact | m | attribute | |||
GLOBAL:Comment | attribute | ||||
GLOBAL:DataType | FIR | rm | attribute | ||
GLOBAL:History | attribute | ||||
GLOBAL:License | No license provided, ask the author for permission | m | attribute | ||
GLOBAL:Organization | m | attribute | |||
GLOBAL:References | attribute | ||||
GLOBAL:RoomType | free field | m | attribute | ||
GLOBAL:Origin | attribute | ||||
GLOBAL:DateCreated | m | attribute | |||
GLOBAL:DateModified | m | attribute | |||
GLOBAL:Title | m | attribute | |||
ListenerPosition | [0 0 0] | m | IC, MC | double | |
ListenerPosition:Type | cartesian | m | attribute | ||
ListenerPosition:Units | meter | m | attribute | ||
ReceiverPosition | [0 -0.09 0; 0 0.09 0] | m | rCI, rCM | double | |
ReceiverPosition:Type | cartesian | m | attribute | ||
ReceiverPosition:Units | meter | m | attribute | ||
SourcePosition | [0 0 1] | m | IC, MC | double | Source position is assumed to vary for different directions/positions around the listener |
SourcePosition:Type | spherical | m | attribute | ||
SourcePosition:Units | degree, degree, meter | m | attribute | ||
EmitterPosition | [0 0 0] | m | eCI, eCM | double | |
EmitterPosition:Type | cartesian | m | attribute | ||
EmitterPosition:Units | meter | m | attribute | ||
GLOBAL:DatabaseName | m | attribute | name of the database to which these data belong | ||
GLOBAL:ListenerShortName | m | attribute | ID of the subject from the database | ||
ListenerUp | [0 0 1] | m | IC, MC | double | |
ListenerView | [1 0 0] | m | IC, MC | double | |
ListenerView:Type | cartesian | m | attribute | ||
ListenerView:Units | meter | m | attribute | ||
Data.IR | [1 1] | m | mRn | double | |
Data.SamplingRate | 48000 | m | I | double | |
Data.SamplingRate:Units | hertz | m | attribute | ||
Data.Delay | [0 0] | m | IR, MR | double |
Proposed for version 0.3 (deprecated)
This conventions essentially defines the setup used in the ARI, LISTEN, FIU, CIPIC, and other similar HRTF databases. The measurements are done in free field with a single excitation source assuming an omnidirectional loudspeaker. Human listeners are considered and thus, the number of receivers is two. Note that usually, only the apparent azimuth and elevation angles are provided and this information is modeled as the variation of the source position. This conventions can, however, also be used to describe more complex data where the tilt of the head is varied or the listener is not exactly in the center of the measurement setup. The measured HRTFs are represented as FIR filters, with a single HRTF set of a listener per file.
- General attributes: SOFAConventions: SimpleFreeFieldHRIR, Datatype: FIR, RoomType: free field, other general attributes...
- Listener: The listener is in the origin of the setup, facing in the direction of the y-axis. Thus, for default values, ListenerPosition=[0 0 0], ListenerView=[1 0 0], ListenerUp=[0 0 1], all given in cartesian coordinates.
- Receivers: Two receivers (=ears) on a head with radius H (in meter, default: 0.09): ReceiverPosition=[0 -H 0; 0 +H 0].
- Source: Source consists of a single emitter. For default values, EmitterPosition=[0 0 0] in cartesian coordinates. SourcePosition (in spherical coordinates!) varies corresponding to the different azimuth and elevation angles of the measurement directions. For default, SourcePosition=[0 0 1] (azimuth 0°, elevation 0°, distance 1 m). SourceUp, SourceView, and SourceRotation are not considered and optional.
Name | Default | Flags | Dimensions | Type | Comment |
---|---|---|---|---|---|
GLOBAL:Conventions | SOFA | rm | attribute | ||
GLOBAL:Version | 0.5 | rm | attribute | ||
GLOBAL:SOFAConventions | SimpleFreeFieldHRIR | rm | attribute | This conventions is for HRIRs recorded under free-field conditions or other IRs created under conditions where room information is irrelevant | |
GLOBAL:SOFAConventionsVersion | 0.3 | rm | attribute | ||
GLOBAL:APIName | rm | attribute | |||
GLOBAL:APIVersion | rm | attribute | |||
GLOBAL:ApplicationName | m | attribute | |||
GLOBAL:ApplicationVersion | m | attribute | |||
GLOBAL:AuthorContact | m | attribute | |||
GLOBAL:Comment | m | attribute | |||
GLOBAL:DataType | FIR | rm | attribute | ||
GLOBAL:History | m | attribute | |||
GLOBAL:License | No license provided, ask the author for permission | m | attribute | ||
GLOBAL:Organization | m | attribute | |||
GLOBAL:References | m | attribute | |||
GLOBAL:RoomType | free field | m | attribute | ||
GLOBAL:Source | m | attribute | |||
GLOBAL:TimeCreated | m | attribute | |||
GLOBAL:TimeModified | m | attribute | |||
GLOBAL:Title | m | attribute | |||
ListenerPosition | [0 0 0] | m | IC, MC | double | |
ListenerPosition:Type | cartesian | m | attribute | ||
ListenerPosition:Units | meter | m | attribute | ||
ReceiverPosition | [0 -0.09 0; 0 0.09 0] | m | rCI, rCM | double | |
ReceiverPosition:Type | cartesian | m | attribute | ||
ReceiverPosition:Units | meter | m | attribute | ||
SourcePosition | [0 0 1] | m | IC, MC | double | Source position is assumed to vary for different directions/positions around the listener |
SourcePosition:Type | spherical | m | attribute | ||
SourcePosition:Units | degree, degree, meter | m | attribute | ||
EmitterPosition | [0 0 0] | m | eCI, eCM | double | |
EmitterPosition:Type | cartesian | m | attribute | ||
EmitterPosition:Units | meter | m | attribute | ||
GLOBAL:DatabaseName | m | attribute | name of the database to which these data belong | ||
GLOBAL:SubjectID | m | attribute | ID of the subject from the database | ||
ListenerUp | [0 0 1] | m | IC, MC | double | |
ListenerView | [1 0 0] | m | IC, MC | double | |
Data.IR | [1 1] | m | mRn | double | |
Data.SamplingRate | 48000 | m | I | double | |
Data.SamplingRate:Units | hertz | m | attribute | ||
Data.Delay | [0 0] | m | IR, MR | double |
Version 0.2 (deprecated)
This conventions essentially defines the setup used in the ARI, LISTEN, FIU, CIPIC, and other similar HRTF databases. The measurements are done 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.
- General attributes: SOFAConventions: SimpleFreeFieldHRIR, Datatype: FIR, RoomType: free field, other general attributes...
- Source: Source is in the origin of the setup and consists of a single emitter. For default values, SourcePosition: (0 0 0), and EmitterPosition: (0 0 0). SourceUp, SourceView, and SourceRotation are not considered and optional.
- Listener: The listener is in the measurement distance X (in meter) from the source, facing the source. For default values, we consider a single distance X, thus, 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.
Name | Default | Flags | Dimensions | Type | Comment |
---|---|---|---|---|---|
GLOBAL_Conventions | SOFA | rm | |||
GLOBAL_Version | 0.4 | rm | |||
GLOBAL_SOFAConventions | SimpleFreeFieldHRIR | rm | |||
GLOBAL_SOFAConventionsVersion | 0.2 | rm | |||
GLOBAL_APIName | rm | Insert the API Name here | |||
GLOBAL_APIVersion | rm | Insert the API Version here | |||
GLOBAL_AuthorContact | m | ||||
GLOBAL_License | No license provided, ask the author for permission | m | |||
GLOBAL_Organization | m | ||||
GLOBAL_RoomType | free field | m | |||
GLOBAL_DataType | FIR | rm | |||
GLOBAL_History | m | ||||
GLOBAL_Source | m | ||||
GLOBAL_Title | m | ||||
GLOBAL_References | m | ||||
GLOBAL_Comment | m | ||||
GLOBAL_TimeCreated | m | will be updated when saving and not existing or empty | |||
GLOBAL_TimeModified | m | will be updated each time when saving | |||
GLOBAL_ApplicationName | m | ||||
GLOBAL_ApplicationVersion | m | ||||
GLOBAL_DatabaseName | m | ||||
GLOBAL_SubjectID | m | ||||
ListenerPosition | [1 0 0] | m | IC, MC | double | |
ListenerPosition_Type | cartesian | m | |||
ListenerPosition_Units | meter | m | |||
ListenerUp | [0 0 1] | m | IC, MC | double | |
ListenerView | [-1 0 0] | m | IC, MC | double | |
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 |
Version 0.1 (deprecated)
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 |