SimpleHeadphoneIR

From Sofaconventions
Jump to: navigation, search

Description

Conventions for IRs with a 1-to-1 correspondence between emitter and receiver. The main application for this convention is to store headphone IRs recorded for each emitter and each ear.

SimpleHeadphoneIR-0.1.png

In conventions SimpleHeadphoneIR we store IRs of the system headphone-ear, i.e. headphone IRs. The most important properties of SimpleHeadphoneIR are:

  • One-to-one correspondence between emitters and receivers: When measuring headphones, we usually have two headphones (=two emitters, E1 and E2) and we have two mics places in the ears (=two receivers, R1 and R2). In the first measurement we measure E1-->R1,R2; in the second one we measure: E2-->R1, R2. Usually, IRs E1-->R1 and E2-->R2 are the interesting IRs and are further processed. Note the correspondence of the emitter and receiver indices: This one-to-one correspondence of emitters and receivers is a strict property of SimpleHeadphoneIR. (If you also need the crosstalk IRs, i.e., E1-->R2 and E2-->R1, GeneralFIR is recommended).
  • Single listener: in a single file, IRs of a single listener are stored. Note that multiple measurements of the same listener can still be stored in a single file. Note the correspondence to SimpleFreeFieldHRIR, in which the HRTFs are also restricted to those of a single listener. To this end:
    • DatabaseName: represents the name of the database, ideally corresponding to an existing HRTF database
    • ListenerShortName: represents the ID of the subject from the DatabaseName, ideally corresponding to the same subject on the corresponding HRTF database
  • Multiple measurements (of the single listener): multiple measurements are described as repeated measurements of the same listener. The repetition might have various reasons:
    • No modifications at all, i.e., simple re-measuring the IRs. It that case, the measurement time/date has changed, which will be captured by MeasurementDate for each M.
    • Position of the headphones change: It that case, the measurement time/date and the source/emitter position/orientation have changed, which will be captured by the corresponding variables for each M.
    • The headphones might change, e.g. by measuring IRs of different headphones. In that case, the metadata describing the headphones are a function of M and are represented as string variables. Note that these metadata, when being not M-dependent are represented as mandatory global attributes. At the moment, we consider the following metadata as being potentially a function of M:
      • SourceManufacturer: name of the headphones manufacturer (global attribute: mandatory; M-dependent variable: optional)
      • SourceModel: name of the headphone model. Must uniquely describe the headphones of a manufacturer (global attribute: mandatory; M-dependent variable: optional).
      • SourceURI: URI to the specs of the headphones (global attribute: mandatory; M-dependent variable: optional).
      • ReceiverDescription: stores narrative information about the microphones (global attribute: mandatory; M-dependent variable: optional).
      • EmitterDescription: stores narrative information about the headphones emitter (global attribute: mandatory; M-dependent variable: optional).

Version 0.2

This version uses SOFA 1.0 which reflects the AES69-2015 standard.


Name Default Flags Dimensions Type Comment
GLOBAL:Conventions SOFA rm attribute
GLOBAL:Version 1.0 rm attribute
GLOBAL:SOFAConventions SimpleHeadphoneIR rm attribute Conventions for IRs with a 1-to-1 correspondence between emitter and receiver. The main application for this convention is to store headphone IRs recorded for each emitter and each ear.
GLOBAL:SOFAConventionsVersion 0.2 rm attribute
GLOBAL:APIName rm attribute
GLOBAL:APIVersion rm attribute
GLOBAL:ApplicationName attribute
GLOBAL:ApplicationVersion attribute
GLOBAL:AuthorContact m attribute
GLOBAL:Comment m attribute
GLOBAL:DataType FIR rm attribute We will store IRs here
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 Room type is not relevant here
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 0] m IC, MC double Default: Headphones are located at the position of the listener
SourcePosition:Type spherical m attribute
SourcePosition:Units degree, degree, metre m attribute
EmitterPosition [0 0.09 0; 0 -0.09 0] m eCI, eCM double Default: Reflects the correspondence of each emitter to each receiver
EmitterPosition:Type cartesian m attribute
EmitterPosition:Units metre m attribute
Data.IR [0 0] m mRn double
Data.SamplingRate 48000 m I double
Data.SamplingRate:Units hertz m attribute
Data.Delay [0 0] m IR, MR double
GLOBAL:DatabaseName m attribute Correspondence to a database
GLOBAL:ListenerShortName m attribute Correspondence to a subject from the database
GLOBAL:ListenerDescription m attribute Narrative description of the listener (or mannequin)
GLOBAL:SourceDescription m attribute Narrative description of the headphones
GLOBAL:SourceManufacturer m attribute Name of the headphones manufacturer
SourceManufacturer {''} MS string Optional M-dependent version of the attribute SourceManufucturer
GLOBAL:SourceModel m attribute Name of the headphone model. Must uniquely describe the headphones of the manufacturer
SourceModel {''} MS string Optional M-dependent version of the attribute SourceModel
GLOBAL:SourceURI m attribute URI of the headphone specifications
GLOBAL:ReceiverDescription m attribute Narrative description of the microphones
ReceiverDescription {''} MS string Optional M-dependent version of the attribute ReceiverDescription
GLOBAL:EmitterDescription m attribute Narrative description of the headphone drivers
EmitterDescription {''} MS string Optional M-dependent version of the attribute EmitterDescription
MeasurementDate 0 M double Optional M-dependent date and time of the measurement

Old, deprecated versions

For historical reasons the older versions of the SimpleHeadphoneIR (or HeadphoneIR) Convention are listed below.


Version 0.1, previously proposed as HeadphoneIR (deprecated)

Name Default Flags Dimensions Type Comment
GLOBAL:Conventions SOFA rm attribute
GLOBAL:Version 0.5 rm attribute
GLOBAL:SOFAConventions SimpleHeadphoneIR rm attribute Conventions for IRs with a 1-to-1 correspondence between emitter and receiver. The main application for this convention is to store headphone IRs recorded for each emitter and each ear.
GLOBAL:SOFAConventionsVersion 0.1 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 We will store IRs here
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 Room type is not relevant here
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 0] m IC, MC double Headphones are located at the position of the listener
SourcePosition:Type spherical m attribute
SourcePosition:Units degree, degree, meter m attribute
EmitterPosition [0 -0.09 0; 0 0.09 0] m eCI, eCM double Reflects the correspondence of each emitter to each receiver
EmitterPosition:Type cartesian m attribute
EmitterPosition:Units meter m attribute
GLOBAL:DatabaseName m attribute to which HRTF database these data correspond?
GLOBAL:SubjectID m attribute to which subject from the database these data correspond?
GLOBAL:SourceProducer attribute who produced the headphones?
GLOBAL:SourceModel attribute how is this headphone called?
GLOBAL:ProcessingState attribute how are the IRs processed (raw, equalized, etc)?
GLOBAL:ListenerDescription attribute describe the listener here (human, dummy head, etc)
GLOBAL:SourceDescription attribute describe the headphones here
GLOBAL:ReceiverDescription attribute describe the microphones here
GLOBAL:EmitterDescription attribute describe the drivers of the headphones here
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 version 0.1

Name Default Flags Dimensions Type Comment
GLOBAL:Conventions SOFA rm attribute
GLOBAL:Version 0.6 rm attribute
GLOBAL:SOFAConventions SimpleHeadphoneIR rm attribute Conventions for IRs with a 1-to-1 correspondence between emitter and receiver. The main application for this convention is to store headphone IRs recorded for each emitter and each ear.
GLOBAL:SOFAConventionsVersion 0.1 rm attribute
GLOBAL:APIName rm attribute
GLOBAL:APIVersion rm attribute
GLOBAL:ApplicationName attribute
GLOBAL:ApplicationVersion attribute
GLOBAL:AuthorContact m attribute
GLOBAL:Comment m attribute
GLOBAL:DataType FIR rm attribute We will store IRs here
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 Room type is not relevant here
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 0] m IC, MC double Default: Headphones are located at the position of the listener
SourcePosition:Type spherical m attribute
SourcePosition:Units degree, degree, meter m attribute
EmitterPosition [0 0.09 0; 0 -0.09 0] m eCI, eCM double Default: Reflects the correspondence of each emitter to each receiver
EmitterPosition:Type cartesian m attribute
EmitterPosition: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
GLOBAL:DatabaseName m attribute Correspondence to a database
GLOBAL:ListenerShortName m attribute Correspondence to a subject from the database
GLOBAL:ListenerDescription m attribute Narrative description of the listener (or mannequin)
GLOBAL:SourceDescription m attribute Narrative description of the headphones
GLOBAL:SourceManufacturer m attribute Name of the headphones manufacturer
SourceManufacturer {''} MS string Optional M-dependent version of the attribute SourceManufucturer
GLOBAL:SourceModel m attribute Name of the headphone model. Must uniquely describe the headphones of the manufacturer
SourceModel {''} MS string Optional M-dependent version of the attribute SourceModel
GLOBAL:SourceURI m attribute URI of the headphone specifications
GLOBAL:ReceiverDescription m attribute Narrative description of the microphones
ReceiverDescription {''} MS string Optional M-dependent version of the attribute ReceiverDescription
GLOBAL:EmitterDescription m attribute Narrative description of the headphone drivers
EmitterDescription {''} MS string Optional M-dependent version of the attribute EmitterDescription
MeasurementDate 0 M double Optional M-dependent date and time of the measurement