SingleRoomDRIR: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
| (6 intermediate revisions by 2 users not shown) | |||
| Line 2: | Line 2: | ||
[[File:SingleRoomDRIR.png|right|thumb|225px]] |
[[File:SingleRoomDRIR.png|right|thumb|225px]] |
||
This |
This convention set defines a setup used for measuring DRIRs in a single room with a single excitation source and a microphone array containing an arbitrary number of omnidirectional microphones (i.e., receivers). The positions of both the source and the listener are considered as variant. The DRIRs are represented as FIR filters for a single room per file. SingleRoomDRIR consists of: |
||
* General metadata: RoomType: revereberant with a mandatory global attribute RoomDescription. |
* General metadata: RoomType: revereberant with a mandatory global attribute RoomDescription. |
||
* Data: Datatype: FIR, the amount of the receivers varies, thus, the size of Data.IR is [M R N]. |
* Data: Datatype: FIR, the amount of the receivers varies, thus, the size of Data.IR is [M R N]. |
||
| Line 11: | Line 11: | ||
== |
== Version 0.3 == |
||
This version uses SOFA 1.0 which reflects the standard AES69-2015. |
|||
{| border="1" |
{| border="1" |
||
!Name |
!Name |
||
!Default |
!Default |
||
![[SOFA_conventions#AnchorFlags|Flags]] |
|||
!Flags |
|||
!Dimensions |
![[SOFA_conventions#AnchorDimensions|Dimensions]] |
||
!Type |
!Type |
||
!Comment |
!Comment |
||
|- |
|- |
||
| |
|GLOBAL:Conventions||<nowiki>SOFA</nowiki>||rm||||attribute|| |
||
|- |
|- |
||
| |
|GLOBAL:Version||<nowiki>1.0</nowiki>||rm||||attribute|| |
||
|- |
|- |
||
|GLOBAL:SOFAConventions||<nowiki>SingleRoomDRIR</nowiki>||rm||||attribute||This convention stores arbitrary number of receivers while providing an information about the room. The main application is to store DRIRs for a single room. |
|||
|GLOBAL_SOFAConventions||SingleRoomDRIR||rm|||||| |
|||
|- |
|- |
||
| |
|GLOBAL:SOFAConventionsVersion||<nowiki>0.3</nowiki>||rm||||attribute|| |
||
|- |
|- |
||
|GLOBAL:APIName||<nowiki></nowiki>||rm||||attribute|| |
|||
|GLOBAL_APIName||||rm||||||Insert the API Name here |
|||
|- |
|- |
||
|GLOBAL:APIVersion||<nowiki></nowiki>||rm||||attribute|| |
|||
|GLOBAL_APIVersion||||rm||||||Insert the API Version here |
|||
|- |
|- |
||
|GLOBAL:ApplicationName||<nowiki></nowiki>||||||attribute|| |
|||
|GLOBAL_AuthorContact||||m|||||| |
|||
|- |
|- |
||
|GLOBAL:ApplicationVersion||<nowiki></nowiki>||||||attribute|| |
|||
|GLOBAL_License||No license provided, ask the author for permission||m|||||| |
|||
|- |
|- |
||
| |
|GLOBAL:AuthorContact||<nowiki></nowiki>||m||||attribute|| |
||
|- |
|- |
||
| |
|GLOBAL:Comment||<nowiki></nowiki>||m||||attribute|| |
||
|- |
|- |
||
| |
|GLOBAL:DataType||<nowiki>FIR</nowiki>||rm||||attribute|| |
||
|- |
|- |
||
| |
|GLOBAL:History||<nowiki></nowiki>||||||attribute|| |
||
|- |
|- |
||
|GLOBAL:License||<nowiki>No license provided, ask the author for permission</nowiki>||m||||attribute|| |
|||
|GLOBAL_Source||||m|||||| |
|||
|- |
|- |
||
| |
|GLOBAL:Organization||<nowiki></nowiki>||m||||attribute|| |
||
|- |
|- |
||
|GLOBAL:References||<nowiki></nowiki>||||||attribute|| |
|||
|GLOBAL_References||||m|||||| |
|||
|- |
|- |
||
|GLOBAL:RoomType||<nowiki>reverberant</nowiki>||m||||attribute|| |
|||
|GLOBAL_Comment||||m|||||| |
|||
|- |
|- |
||
|GLOBAL:Origin||<nowiki></nowiki>||||||attribute|| |
|||
|GLOBAL_TimeCreated||||m||||||will be updated when saving and not existing or empty |
|||
|- |
|- |
||
|GLOBAL:DateCreated||<nowiki></nowiki>||m||||attribute|| |
|||
|GLOBAL_TimeModified||||m||||||will be updated each time when saving |
|||
|- |
|- |
||
|GLOBAL:DateModified||<nowiki></nowiki>||m||||attribute|| |
|||
|GLOBAL_ApplicationName||||m|||||| |
|||
|- |
|- |
||
|GLOBAL:Title||<nowiki></nowiki>||m||||attribute|| |
|||
|GLOBAL_ApplicationVersion||||m|||||| |
|||
|- |
|- |
||
|ListenerPosition||<nowiki>[0 0 0] </nowiki>||m||IC, MC||double|| |
|||
|GLOBAL_DatabaseName||||m|||||| |
|||
|- |
|- |
||
|ListenerPosition:Type||<nowiki>cartesian</nowiki>||m||||attribute|| |
|||
|GLOBAL_RoomDescription||||m|||||| |
|||
|- |
|- |
||
|ListenerPosition|| |
|ListenerPosition:Units||<nowiki>metre</nowiki>||m||||attribute|| |
||
|- |
|- |
||
|ReceiverPosition||<nowiki>[0 0 0]</nowiki>||m||RCI, RCM||double|| |
|||
|ListenerPosition_Type||cartesian||m|||||| |
|||
|- |
|- |
||
|ReceiverPosition:Type||<nowiki>cartesian</nowiki>||m||||attribute|| |
|||
|ListenerPosition_Units||meter||m|||||| |
|||
|- |
|- |
||
|ReceiverPosition:Units||<nowiki>metre</nowiki>||m||||attribute|| |
|||
|ListenerUp||[1 0 1]||m||IC, MC||double|| |
|||
|- |
|- |
||
|SourcePosition||<nowiki>[0 0 0]</nowiki>||m||IC, MC||double|| |
|||
|ListenerUp_Type||cartesian||m|||||| |
|||
|- |
|- |
||
|SourcePosition:Type||<nowiki>cartesian</nowiki>||m||||attribute|| |
|||
|ListenerUp_Units||meter||m|||||| |
|||
|- |
|- |
||
|SourcePosition:Units||<nowiki>metre</nowiki>||m||||attribute|| |
|||
|ListenerView||[0 0 0]||m||IC, MC||double|| |
|||
|- |
|- |
||
|EmitterPosition||<nowiki>[0 0 0]</nowiki>||m||eCI, eCM||double|| |
|||
|ListenerView_Type||cartesian||m|||||| |
|||
|- |
|- |
||
|EmitterPosition:Type||<nowiki>cartesian</nowiki>||m||||attribute|| |
|||
|ListenerView_Units||meter||m|||||| |
|||
|- |
|- |
||
|EmitterPosition:Units||<nowiki>metre</nowiki>||m||||attribute|| |
|||
|ListenerRotation||[0 0 0]||||IC, MC||double|| |
|||
|- |
|- |
||
|GLOBAL:DatabaseName||<nowiki></nowiki>||m||||attribute|| |
|||
|ListenerRotation_Type||din9300|||||||| |
|||
|- |
|- |
||
|GLOBAL:RoomDescription||<nowiki></nowiki>||m||||attribute|| |
|||
|ListenerRotation_Units||degrees|||||||| |
|||
|- |
|||
|ListenerUp||<nowiki>[0 0 1]</nowiki>||m||IC, MC||double|| |
|||
|- |
|||
|ListenerView||<nowiki>[1 0 0]</nowiki>||m||IC, MC||double|| |
|||
|- |
|||
|ListenerView:Type||<nowiki>cartesian</nowiki>||m||||attribute|| |
|||
|- |
|||
|ListenerView:Units||<nowiki>metre</nowiki>||m||||attribute|| |
|||
|- |
|||
|SourceUp||<nowiki>[0 0 1]</nowiki>||m||IC, MC||double|| |
|||
|- |
|||
|SourceView||<nowiki>[-1 0 0]</nowiki>||m||IC, MC||double|| |
|||
|- |
|||
|SourceView:Type||<nowiki>cartesian</nowiki>||m||||attribute|| |
|||
|- |
|||
|SourceView:Units||<nowiki>metre</nowiki>||m||||attribute|| |
|||
|- |
|||
|Data.IR||<nowiki>[0]</nowiki>||m||mrn||double|| |
|||
|- |
|||
|Data.SamplingRate||<nowiki>48000</nowiki>||m||I||double|| |
|||
|- |
|||
|Data.SamplingRate:Units||<nowiki>hertz</nowiki>||m||||attribute|| |
|||
|- |
|||
|Data.Delay||<nowiki>[0]</nowiki>||m||IR, MR||double|| |
|||
|} |
|||
== Old deprecated versions == |
|||
=== Version 0.1 === |
|||
{| border="1" |
|||
!Name |
|||
!Default |
|||
!Flags |
|||
!Dimensions |
|||
!Type |
|||
!Comment |
|||
|- |
|||
|GLOBAL:Conventions||SOFA||rm||||attribute|| |
|||
|- |
|||
|GLOBAL:Version||0.5||rm||||attribute|| |
|||
|- |
|||
|GLOBAL:SOFAConventions||SingleRoomDRIR||rm||||attribute||This convention stores arbitrary number of receivers while providing an information about the room. The main application is to store DRIRs for a single room. |
|||
|- |
|||
|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|| |
|||
|- |
|||
|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||reverberant||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 0]||m||rCI, rCM||double|| |
|ReceiverPosition||[0 0 0]||m||rCI, rCM||double|| |
||
|- |
|- |
||
| |
|ReceiverPosition:Type||cartesian||m||||attribute|| |
||
|- |
|- |
||
| |
|ReceiverPosition:Units||meter||m||||attribute|| |
||
|- |
|- |
||
|SourcePosition||[0 0 0]||m||IC, MC||double|| |
|SourcePosition||[0 0 0]||m||IC, MC||double|| |
||
|- |
|- |
||
| |
|SourcePosition:Type||cartesian||m||||attribute|| |
||
|- |
|- |
||
| |
|SourcePosition:Units||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|| |
||
|- |
|- |
||
| |
|GLOBAL:RoomDescription||||m||||attribute|| |
||
|- |
|- |
||
| |
|ListenerUp||[0 0 1]||m||IC, MC||double|| |
||
|- |
|- |
||
| |
|ListenerView||[1 0 0]||m||IC, MC||double|| |
||
|- |
|- |
||
| |
|SourceUp||[0 0 1]||m||IC, MC||double|| |
||
|- |
|- |
||
| |
|SourceView||[-1 0 0]||m||IC, MC||double|| |
||
|- |
|- |
||
|Data.IR||[1]||m||mRn||double|| |
|Data.IR||[1 1]||m||mRn||double|| |
||
|- |
|- |
||
|Data.SamplingRate||48000||m||I||double|| |
|Data.SamplingRate||48000||m||I||double|| |
||
|- |
|- |
||
|Data. |
|Data.SamplingRate:Units||hertz||m||||attribute|| |
||
|- |
|- |
||
|Data.Delay||[0]||m||IR, MR||double|| |
|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) |
|||
Latest revision as of 10:20, 5 October 2021
Description

This convention set defines a setup used for measuring DRIRs in a single room with a single excitation source and a microphone array containing an arbitrary number of omnidirectional microphones (i.e., receivers). The positions of both the source and the listener are considered as variant. The DRIRs are represented as FIR filters for a single room per file. SingleRoomDRIR consists of:
- General metadata: RoomType: revereberant with a mandatory global attribute RoomDescription.
- Data: Datatype: FIR, the amount of the receivers varies, thus, the size of Data.IR is [M R N].
- Source: The position and the orientation of the source may vary and is given by SourcePosition, SourceUp, and SourceView. The coordinate type is cartesian and unit is meter.
- Emitters: Source consists of a single omnidirectional emitter, which position is fixed, EmitterPosition: (0 0 0). EmitterUp and EmitterView are optional.
- Listener: Position and the orientation of the listener vary and thus ListenerPosition, ListenerView, and ListenerUp are mandatory. The coordinate type is cartesian and unit is meter. An additional rotation of the listener is can be considered, thus, ListenerRotation is optional.
- Receivers: the position of all receivers via ReceiverPosition is provided. The coordinate type is cartesian and unit is meter. The receivers are considered to be omnidirectional, thus, ReceiverUp and ReceiverView are omitted.
Version 0.3
This version uses SOFA 1.0 which reflects the standard AES69-2015.
| Name | Default | Flags | Dimensions | Type | Comment |
|---|---|---|---|---|---|
| GLOBAL:Conventions | SOFA | rm | attribute | ||
| GLOBAL:Version | 1.0 | rm | attribute | ||
| GLOBAL:SOFAConventions | SingleRoomDRIR | rm | attribute | This convention stores arbitrary number of receivers while providing an information about the room. The main application is to store DRIRs for a single room. | |
| GLOBAL:SOFAConventionsVersion | 0.3 | 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 | ||
| GLOBAL:History | attribute | ||||
| GLOBAL:License | No license provided, ask the author for permission | m | attribute | ||
| GLOBAL:Organization | m | attribute | |||
| GLOBAL:References | attribute | ||||
| GLOBAL:RoomType | reverberant | 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 0] | m | RCI, RCM | double | |
| ReceiverPosition:Type | cartesian | m | attribute | ||
| ReceiverPosition:Units | metre | m | attribute | ||
| SourcePosition | [0 0 0] | m | IC, MC | double | |
| SourcePosition:Type | cartesian | m | attribute | ||
| SourcePosition:Units | 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 | |||
| GLOBAL:RoomDescription | m | attribute | |||
| 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 | ||
| SourceUp | [0 0 1] | m | IC, MC | double | |
| SourceView | [-1 0 0] | m | IC, MC | double | |
| SourceView:Type | cartesian | m | attribute | ||
| SourceView:Units | metre | m | attribute | ||
| Data.IR | [0] | m | mrn | double | |
| Data.SamplingRate | 48000 | m | I | double | |
| Data.SamplingRate:Units | hertz | m | attribute | ||
| Data.Delay | [0] | m | IR, MR | double |
Old deprecated versions
Version 0.1
| Name | Default | Flags | Dimensions | Type | Comment |
|---|---|---|---|---|---|
| GLOBAL:Conventions | SOFA | rm | attribute | ||
| GLOBAL:Version | 0.5 | rm | attribute | ||
| GLOBAL:SOFAConventions | SingleRoomDRIR | rm | attribute | This convention stores arbitrary number of receivers while providing an information about the room. The main application is to store DRIRs for a single room. | |
| 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 | ||
| 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 | reverberant | 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 0] | m | rCI, rCM | double | |
| ReceiverPosition:Type | cartesian | m | attribute | ||
| ReceiverPosition:Units | meter | m | attribute | ||
| SourcePosition | [0 0 0] | m | IC, MC | double | |
| SourcePosition:Type | cartesian | m | attribute | ||
| SourcePosition:Units | 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 | |||
| GLOBAL:RoomDescription | m | attribute | |||
| ListenerUp | [0 0 1] | m | IC, MC | double | |
| ListenerView | [1 0 0] | m | IC, MC | double | |
| SourceUp | [0 0 1] | m | IC, MC | double | |
| SourceView | [-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 |