sofar 1.2.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- docs/Makefile +20 -0
- docs/api_reference.rst +20 -0
- docs/conf.py +167 -0
- docs/contributing.rst +1 -0
- docs/history.rst +1 -0
- docs/index.rst +4 -0
- docs/make.bat +36 -0
- docs/readme.rst +1 -0
- docs/resources/conventions.py +162 -0
- docs/resources/working_with_sofa_HRIR_lateral.png +0 -0
- docs/resources/working_with_sofa_source_horizontal.png +0 -0
- docs/resources/working_with_sofa_source_lateral.png +0 -0
- docs/sofar.rst +82 -0
- sofar/__init__.py +28 -0
- sofar/io.py +427 -0
- sofar/sofa.py +1835 -0
- sofar/sofa_conventions/VERSION +1 -0
- sofar/sofa_conventions/conventions/AnnotatedEmitterAudio_0.2.csv +46 -0
- sofar/sofa_conventions/conventions/AnnotatedEmitterAudio_0.2.json +353 -0
- sofar/sofa_conventions/conventions/AnnotatedReceiverAudio_0.2.csv +46 -0
- sofar/sofa_conventions/conventions/AnnotatedReceiverAudio_0.2.json +353 -0
- sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.csv +59 -0
- sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.json +444 -0
- sofar/sofa_conventions/conventions/FreeFieldHRIR_1.0.csv +43 -0
- sofar/sofa_conventions/conventions/FreeFieldHRIR_1.0.json +333 -0
- sofar/sofa_conventions/conventions/FreeFieldHRTF_1.0.csv +44 -0
- sofar/sofa_conventions/conventions/FreeFieldHRTF_1.0.json +340 -0
- sofar/sofa_conventions/conventions/GeneralFIR-E_2.0.csv +37 -0
- sofar/sofa_conventions/conventions/GeneralFIR-E_2.0.json +270 -0
- sofar/sofa_conventions/conventions/GeneralFIR_1.0.csv +40 -0
- sofar/sofa_conventions/conventions/GeneralFIR_1.0.json +295 -0
- sofar/sofa_conventions/conventions/GeneralSOS_1.0.csv +40 -0
- sofar/sofa_conventions/conventions/GeneralSOS_1.0.json +306 -0
- sofar/sofa_conventions/conventions/GeneralTF-E_1.0.csv +38 -0
- sofar/sofa_conventions/conventions/GeneralTF-E_1.0.json +277 -0
- sofar/sofa_conventions/conventions/GeneralTF_1.0.csv +38 -0
- sofar/sofa_conventions/conventions/GeneralTF_1.0.json +277 -0
- sofar/sofa_conventions/conventions/GeneralTF_2.0.csv +38 -0
- sofar/sofa_conventions/conventions/GeneralTF_2.0.json +277 -0
- sofar/sofa_conventions/conventions/SimpleFreeFieldHRIR_1.0.csv +47 -0
- sofar/sofa_conventions/conventions/SimpleFreeFieldHRIR_1.0.json +369 -0
- sofar/sofa_conventions/conventions/SimpleFreeFieldHRSOS_1.0.csv +43 -0
- sofar/sofa_conventions/conventions/SimpleFreeFieldHRSOS_1.0.json +349 -0
- sofar/sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.csv +44 -0
- sofar/sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.json +340 -0
- sofar/sofa_conventions/conventions/SimpleFreeFieldSOS_1.0.csv +43 -0
- sofar/sofa_conventions/conventions/SimpleFreeFieldSOS_1.0.json +349 -0
- sofar/sofa_conventions/conventions/SimpleHeadphoneIR_1.0.csv +51 -0
- sofar/sofa_conventions/conventions/SimpleHeadphoneIR_1.0.json +396 -0
- sofar/sofa_conventions/conventions/SingleRoomMIMOSRIR_1.0.csv +78 -0
- sofar/sofa_conventions/conventions/SingleRoomMIMOSRIR_1.0.json +601 -0
- sofar/sofa_conventions/conventions/SingleRoomSRIR_1.0.csv +78 -0
- sofar/sofa_conventions/conventions/SingleRoomSRIR_1.0.json +601 -0
- sofar/sofa_conventions/conventions/deprecated/AnnotatedEmitterAudio_0.1.csv +46 -0
- sofar/sofa_conventions/conventions/deprecated/AnnotatedEmitterAudio_0.1.json +351 -0
- sofar/sofa_conventions/conventions/deprecated/AnnotatedReceiverAudio_0.1.csv +46 -0
- sofar/sofa_conventions/conventions/deprecated/AnnotatedReceiverAudio_0.1.json +351 -0
- sofar/sofa_conventions/conventions/deprecated/FreeFieldDirectivityTF_1.0.csv +58 -0
- sofar/sofa_conventions/conventions/deprecated/FreeFieldDirectivityTF_1.0.json +437 -0
- sofar/sofa_conventions/conventions/deprecated/GeneralFIRE_1.0.csv +37 -0
- sofar/sofa_conventions/conventions/deprecated/GeneralFIRE_1.0.json +270 -0
- sofar/sofa_conventions/conventions/deprecated/MultiSpeakerBRIR_0.3.csv +48 -0
- sofar/sofa_conventions/conventions/deprecated/MultiSpeakerBRIR_0.3.json +376 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.csv +43 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.json +333 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.csv +44 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.json +340 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.csv +44 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.json +340 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.csv +51 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.json +396 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.csv +51 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.json +396 -0
- sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.csv +47 -0
- sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.json +360 -0
- sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.3.csv +47 -0
- sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.3.json +360 -0
- sofar/sofa_conventions/conventions/deprecated/SingleTrackedAudio_0.1.csv +47 -0
- sofar/sofa_conventions/conventions/deprecated/SingleTrackedAudio_0.1.json +366 -0
- sofar/sofa_conventions/conventions/deprecated/SingleTrackedAudio_0.2.csv +51 -0
- sofar/sofa_conventions/conventions/deprecated/SingleTrackedAudio_0.2.json +397 -0
- sofar/sofa_conventions/rules/deprecations.json +13 -0
- sofar/sofa_conventions/rules/rules.json +819 -0
- sofar/sofa_conventions/rules/unit_aliases.json +11 -0
- sofar/sofa_conventions/rules/upgrade.json +226 -0
- sofar/sofa_conventions/write_upgrade_rules.py +139 -0
- sofar/sofa_conventions/write_verification_data.py +313 -0
- sofar/sofa_conventions/write_verification_rules.py +356 -0
- sofar/sofastream.py +301 -0
- sofar/update_conventions.py +449 -0
- sofar/utils.py +316 -0
- sofar-1.2.1.dist-info/LICENSE +22 -0
- sofar-1.2.1.dist-info/METADATA +136 -0
- sofar-1.2.1.dist-info/RECORD +105 -0
- sofar-1.2.1.dist-info/WHEEL +5 -0
- sofar-1.2.1.dist-info/top_level.txt +3 -0
- tests/__init__.py +0 -0
- tests/conftest.py +27 -0
- tests/test_deprecations.py +19 -0
- tests/test_io.py +349 -0
- tests/test_sofa.py +353 -0
- tests/test_sofa_upgrade_conventions.py +111 -0
- tests/test_sofa_verify.py +480 -0
- tests/test_sofastream.py +127 -0
- tests/test_utils.py +250 -0
@@ -0,0 +1,270 @@
|
|
1
|
+
{
|
2
|
+
"GLOBAL:Conventions": {
|
3
|
+
"default": "SOFA",
|
4
|
+
"flags": "rm",
|
5
|
+
"dimensions": null,
|
6
|
+
"type": "attribute",
|
7
|
+
"comment": ""
|
8
|
+
},
|
9
|
+
"GLOBAL:Version": {
|
10
|
+
"default": "1.0",
|
11
|
+
"flags": "rm",
|
12
|
+
"dimensions": null,
|
13
|
+
"type": "attribute",
|
14
|
+
"comment": ""
|
15
|
+
},
|
16
|
+
"GLOBAL:SOFAConventions": {
|
17
|
+
"default": "GeneralFIRE",
|
18
|
+
"flags": "rm",
|
19
|
+
"dimensions": null,
|
20
|
+
"type": "attribute",
|
21
|
+
"comment": "This conventions stores IRs for general purposes, i.e., only the mandatory, SOFA general metadata are pre-defined"
|
22
|
+
},
|
23
|
+
"GLOBAL:SOFAConventionsVersion": {
|
24
|
+
"default": "1.0",
|
25
|
+
"flags": "rm",
|
26
|
+
"dimensions": null,
|
27
|
+
"type": "attribute",
|
28
|
+
"comment": ""
|
29
|
+
},
|
30
|
+
"GLOBAL:APIName": {
|
31
|
+
"default": "",
|
32
|
+
"flags": "rm",
|
33
|
+
"dimensions": null,
|
34
|
+
"type": "attribute",
|
35
|
+
"comment": ""
|
36
|
+
},
|
37
|
+
"GLOBAL:APIVersion": {
|
38
|
+
"default": "",
|
39
|
+
"flags": "rm",
|
40
|
+
"dimensions": null,
|
41
|
+
"type": "attribute",
|
42
|
+
"comment": ""
|
43
|
+
},
|
44
|
+
"GLOBAL:ApplicationName": {
|
45
|
+
"default": "",
|
46
|
+
"flags": null,
|
47
|
+
"dimensions": null,
|
48
|
+
"type": "attribute",
|
49
|
+
"comment": ""
|
50
|
+
},
|
51
|
+
"GLOBAL:ApplicationVersion": {
|
52
|
+
"default": "",
|
53
|
+
"flags": null,
|
54
|
+
"dimensions": null,
|
55
|
+
"type": "attribute",
|
56
|
+
"comment": ""
|
57
|
+
},
|
58
|
+
"GLOBAL:AuthorContact": {
|
59
|
+
"default": "",
|
60
|
+
"flags": "m",
|
61
|
+
"dimensions": null,
|
62
|
+
"type": "attribute",
|
63
|
+
"comment": ""
|
64
|
+
},
|
65
|
+
"GLOBAL:Comment": {
|
66
|
+
"default": "",
|
67
|
+
"flags": "m",
|
68
|
+
"dimensions": null,
|
69
|
+
"type": "attribute",
|
70
|
+
"comment": ""
|
71
|
+
},
|
72
|
+
"GLOBAL:DataType": {
|
73
|
+
"default": "FIRE",
|
74
|
+
"flags": "rm",
|
75
|
+
"dimensions": null,
|
76
|
+
"type": "attribute",
|
77
|
+
"comment": "We use FIR datatype which in addition depends on Emitters (E)"
|
78
|
+
},
|
79
|
+
"GLOBAL:History": {
|
80
|
+
"default": "",
|
81
|
+
"flags": null,
|
82
|
+
"dimensions": null,
|
83
|
+
"type": "attribute",
|
84
|
+
"comment": ""
|
85
|
+
},
|
86
|
+
"GLOBAL:License": {
|
87
|
+
"default": "No license provided, ask the author for permission",
|
88
|
+
"flags": "m",
|
89
|
+
"dimensions": null,
|
90
|
+
"type": "attribute",
|
91
|
+
"comment": ""
|
92
|
+
},
|
93
|
+
"GLOBAL:Organization": {
|
94
|
+
"default": "",
|
95
|
+
"flags": "m",
|
96
|
+
"dimensions": null,
|
97
|
+
"type": "attribute",
|
98
|
+
"comment": ""
|
99
|
+
},
|
100
|
+
"GLOBAL:References": {
|
101
|
+
"default": "",
|
102
|
+
"flags": null,
|
103
|
+
"dimensions": null,
|
104
|
+
"type": "attribute",
|
105
|
+
"comment": ""
|
106
|
+
},
|
107
|
+
"GLOBAL:RoomType": {
|
108
|
+
"default": "free field",
|
109
|
+
"flags": "m",
|
110
|
+
"dimensions": null,
|
111
|
+
"type": "attribute",
|
112
|
+
"comment": "The room information can be arbitrary"
|
113
|
+
},
|
114
|
+
"GLOBAL:Origin": {
|
115
|
+
"default": "",
|
116
|
+
"flags": null,
|
117
|
+
"dimensions": null,
|
118
|
+
"type": "attribute",
|
119
|
+
"comment": ""
|
120
|
+
},
|
121
|
+
"GLOBAL:DateCreated": {
|
122
|
+
"default": "",
|
123
|
+
"flags": "m",
|
124
|
+
"dimensions": null,
|
125
|
+
"type": "attribute",
|
126
|
+
"comment": ""
|
127
|
+
},
|
128
|
+
"GLOBAL:DateModified": {
|
129
|
+
"default": "",
|
130
|
+
"flags": "m",
|
131
|
+
"dimensions": null,
|
132
|
+
"type": "attribute",
|
133
|
+
"comment": ""
|
134
|
+
},
|
135
|
+
"GLOBAL:Title": {
|
136
|
+
"default": "",
|
137
|
+
"flags": "m",
|
138
|
+
"dimensions": null,
|
139
|
+
"type": "attribute",
|
140
|
+
"comment": ""
|
141
|
+
},
|
142
|
+
"ListenerPosition": {
|
143
|
+
"default": [
|
144
|
+
0,
|
145
|
+
0,
|
146
|
+
0
|
147
|
+
],
|
148
|
+
"flags": "m",
|
149
|
+
"dimensions": "IC, MC",
|
150
|
+
"type": "double",
|
151
|
+
"comment": ""
|
152
|
+
},
|
153
|
+
"ListenerPosition:Type": {
|
154
|
+
"default": "cartesian",
|
155
|
+
"flags": "m",
|
156
|
+
"dimensions": null,
|
157
|
+
"type": "attribute",
|
158
|
+
"comment": ""
|
159
|
+
},
|
160
|
+
"ListenerPosition:Units": {
|
161
|
+
"default": "metre",
|
162
|
+
"flags": "m",
|
163
|
+
"dimensions": null,
|
164
|
+
"type": "attribute",
|
165
|
+
"comment": ""
|
166
|
+
},
|
167
|
+
"ReceiverPosition": {
|
168
|
+
"default": [
|
169
|
+
0,
|
170
|
+
0,
|
171
|
+
0
|
172
|
+
],
|
173
|
+
"flags": "m",
|
174
|
+
"dimensions": "rCI, rCM",
|
175
|
+
"type": "double",
|
176
|
+
"comment": ""
|
177
|
+
},
|
178
|
+
"ReceiverPosition:Type": {
|
179
|
+
"default": "cartesian",
|
180
|
+
"flags": "m",
|
181
|
+
"dimensions": null,
|
182
|
+
"type": "attribute",
|
183
|
+
"comment": ""
|
184
|
+
},
|
185
|
+
"ReceiverPosition:Units": {
|
186
|
+
"default": "metre",
|
187
|
+
"flags": "m",
|
188
|
+
"dimensions": null,
|
189
|
+
"type": "attribute",
|
190
|
+
"comment": ""
|
191
|
+
},
|
192
|
+
"SourcePosition": {
|
193
|
+
"default": [
|
194
|
+
0,
|
195
|
+
0,
|
196
|
+
1
|
197
|
+
],
|
198
|
+
"flags": "m",
|
199
|
+
"dimensions": "IC, MC",
|
200
|
+
"type": "double",
|
201
|
+
"comment": ""
|
202
|
+
},
|
203
|
+
"SourcePosition:Type": {
|
204
|
+
"default": "spherical",
|
205
|
+
"flags": "m",
|
206
|
+
"dimensions": null,
|
207
|
+
"type": "attribute",
|
208
|
+
"comment": ""
|
209
|
+
},
|
210
|
+
"SourcePosition:Units": {
|
211
|
+
"default": "degree, degree, metre",
|
212
|
+
"flags": "m",
|
213
|
+
"dimensions": null,
|
214
|
+
"type": "attribute",
|
215
|
+
"comment": ""
|
216
|
+
},
|
217
|
+
"EmitterPosition": {
|
218
|
+
"default": [
|
219
|
+
0,
|
220
|
+
0,
|
221
|
+
0
|
222
|
+
],
|
223
|
+
"flags": "m",
|
224
|
+
"dimensions": "eCI, eCM",
|
225
|
+
"type": "double",
|
226
|
+
"comment": "Each speaker is represented as an emitter. Use EmitterPosition to represent the position of a particular speaker. Size of EmitterPosition determines E"
|
227
|
+
},
|
228
|
+
"EmitterPosition:Type": {
|
229
|
+
"default": "cartesian",
|
230
|
+
"flags": "m",
|
231
|
+
"dimensions": null,
|
232
|
+
"type": "attribute",
|
233
|
+
"comment": ""
|
234
|
+
},
|
235
|
+
"EmitterPosition:Units": {
|
236
|
+
"default": "metre",
|
237
|
+
"flags": "m",
|
238
|
+
"dimensions": null,
|
239
|
+
"type": "attribute",
|
240
|
+
"comment": ""
|
241
|
+
},
|
242
|
+
"Data.IR": {
|
243
|
+
"default": 0,
|
244
|
+
"flags": "m",
|
245
|
+
"dimensions": "mREn",
|
246
|
+
"type": "double",
|
247
|
+
"comment": "Impulse responses"
|
248
|
+
},
|
249
|
+
"Data.SamplingRate": {
|
250
|
+
"default": 48000,
|
251
|
+
"flags": "m",
|
252
|
+
"dimensions": "I",
|
253
|
+
"type": "double",
|
254
|
+
"comment": "Sampling rate of the samples in Data.IR and Data.Delay"
|
255
|
+
},
|
256
|
+
"Data.SamplingRate:Units": {
|
257
|
+
"default": "hertz",
|
258
|
+
"flags": "m",
|
259
|
+
"dimensions": null,
|
260
|
+
"type": "attribute",
|
261
|
+
"comment": "Unit of the sampling rate"
|
262
|
+
},
|
263
|
+
"Data.Delay": {
|
264
|
+
"default": 0,
|
265
|
+
"flags": "m",
|
266
|
+
"dimensions": "IRE, MRE",
|
267
|
+
"type": "double",
|
268
|
+
"comment": "Additional delay of each IR (in samples)"
|
269
|
+
}
|
270
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
Name Default Flags Dimensions Type Comment
|
2
|
+
GLOBAL:Conventions SOFA rm attribute
|
3
|
+
GLOBAL:Version 1.0 rm attribute
|
4
|
+
GLOBAL:SOFAConventions MultiSpeakerBRIR rm attribute This convention is for BRIRs recorded in reverberant conditions from multiple loudspeaker sources at a number of listener orientations.
|
5
|
+
GLOBAL:SOFAConventionsVersion 0.3 rm attribute
|
6
|
+
GLOBAL:APIName rm attribute
|
7
|
+
GLOBAL:APIVersion rm attribute
|
8
|
+
GLOBAL:ApplicationName attribute
|
9
|
+
GLOBAL:ApplicationVersion attribute
|
10
|
+
GLOBAL:AuthorContact m attribute
|
11
|
+
GLOBAL:Comment m attribute
|
12
|
+
GLOBAL:DataType FIRE rm attribute We use FIR datatype which in addition depends on Emitters (E)
|
13
|
+
GLOBAL:History attribute
|
14
|
+
GLOBAL:License No license provided, ask the author for permission m attribute
|
15
|
+
GLOBAL:Organization m attribute
|
16
|
+
GLOBAL:References attribute
|
17
|
+
GLOBAL:RoomType reverberant m attribute
|
18
|
+
GLOBAL:Origin attribute
|
19
|
+
GLOBAL:DateCreated m attribute
|
20
|
+
GLOBAL:DateModified m attribute
|
21
|
+
GLOBAL:Title m attribute
|
22
|
+
ListenerPosition [0 0 0] m IC, MC double
|
23
|
+
ListenerPosition:Type cartesian m attribute
|
24
|
+
ListenerPosition:Units metre m attribute
|
25
|
+
ReceiverPosition [0 0.09 0; 0 -0.09 0] m rCI, rCM double
|
26
|
+
ReceiverPosition:Type cartesian m attribute
|
27
|
+
ReceiverPosition:Units metre m attribute
|
28
|
+
SourcePosition [0 0 1] m IC, MC double
|
29
|
+
SourcePosition:Type spherical m attribute
|
30
|
+
SourcePosition:Units degree, degree, metre m attribute
|
31
|
+
EmitterPosition [0 0 0] m eCI, eCM double Each speaker is represented as an emitter. Use EmitterPosition to represent the position of a particular speaker. Size of EmitterPosition determines E
|
32
|
+
EmitterPosition:Type cartesian m attribute
|
33
|
+
EmitterPosition:Units metre m attribute
|
34
|
+
GLOBAL:DatabaseName m attribute name of the database to which these data belong
|
35
|
+
GLOBAL:ListenerShortName m attribute ID of the subject from the database
|
36
|
+
GLOBAL:RoomDescription attribute narrative description of the room
|
37
|
+
ListenerUp [0 0 1] m IC, MC double
|
38
|
+
ListenerView [1 0 0] m IC, MC double
|
39
|
+
ListenerView:Type cartesian m attribute
|
40
|
+
ListenerView:Units metre m attribute
|
41
|
+
EmitterUp [0 0 1] ECI, ECM double When EmitterUp provided, EmitterView must be provided as well
|
42
|
+
EmitterView [1 0 0] ECI, ECM double When EmitterView provided, EmitterUp must be provided as well
|
43
|
+
EmitterView:Type cartesian attribute
|
44
|
+
EmitterView:Units metre attribute
|
45
|
+
Data.IR [1 1] m mREn double
|
46
|
+
Data.SamplingRate 48000 m I double
|
47
|
+
Data.SamplingRate:Units hertz m attribute
|
48
|
+
Data.Delay [0 0] m IRE, MRE double
|
@@ -0,0 +1,376 @@
|
|
1
|
+
{
|
2
|
+
"GLOBAL:Conventions": {
|
3
|
+
"default": "SOFA",
|
4
|
+
"flags": "rm",
|
5
|
+
"dimensions": null,
|
6
|
+
"type": "attribute",
|
7
|
+
"comment": ""
|
8
|
+
},
|
9
|
+
"GLOBAL:Version": {
|
10
|
+
"default": "1.0",
|
11
|
+
"flags": "rm",
|
12
|
+
"dimensions": null,
|
13
|
+
"type": "attribute",
|
14
|
+
"comment": ""
|
15
|
+
},
|
16
|
+
"GLOBAL:SOFAConventions": {
|
17
|
+
"default": "MultiSpeakerBRIR",
|
18
|
+
"flags": "rm",
|
19
|
+
"dimensions": null,
|
20
|
+
"type": "attribute",
|
21
|
+
"comment": "This convention is for BRIRs recorded in reverberant conditions from multiple loudspeaker sources at a number of listener orientations."
|
22
|
+
},
|
23
|
+
"GLOBAL:SOFAConventionsVersion": {
|
24
|
+
"default": "0.3",
|
25
|
+
"flags": "rm",
|
26
|
+
"dimensions": null,
|
27
|
+
"type": "attribute",
|
28
|
+
"comment": ""
|
29
|
+
},
|
30
|
+
"GLOBAL:APIName": {
|
31
|
+
"default": "",
|
32
|
+
"flags": "rm",
|
33
|
+
"dimensions": null,
|
34
|
+
"type": "attribute",
|
35
|
+
"comment": ""
|
36
|
+
},
|
37
|
+
"GLOBAL:APIVersion": {
|
38
|
+
"default": "",
|
39
|
+
"flags": "rm",
|
40
|
+
"dimensions": null,
|
41
|
+
"type": "attribute",
|
42
|
+
"comment": ""
|
43
|
+
},
|
44
|
+
"GLOBAL:ApplicationName": {
|
45
|
+
"default": "",
|
46
|
+
"flags": null,
|
47
|
+
"dimensions": null,
|
48
|
+
"type": "attribute",
|
49
|
+
"comment": ""
|
50
|
+
},
|
51
|
+
"GLOBAL:ApplicationVersion": {
|
52
|
+
"default": "",
|
53
|
+
"flags": null,
|
54
|
+
"dimensions": null,
|
55
|
+
"type": "attribute",
|
56
|
+
"comment": ""
|
57
|
+
},
|
58
|
+
"GLOBAL:AuthorContact": {
|
59
|
+
"default": "",
|
60
|
+
"flags": "m",
|
61
|
+
"dimensions": null,
|
62
|
+
"type": "attribute",
|
63
|
+
"comment": ""
|
64
|
+
},
|
65
|
+
"GLOBAL:Comment": {
|
66
|
+
"default": "",
|
67
|
+
"flags": "m",
|
68
|
+
"dimensions": null,
|
69
|
+
"type": "attribute",
|
70
|
+
"comment": ""
|
71
|
+
},
|
72
|
+
"GLOBAL:DataType": {
|
73
|
+
"default": "FIRE",
|
74
|
+
"flags": "rm",
|
75
|
+
"dimensions": null,
|
76
|
+
"type": "attribute",
|
77
|
+
"comment": "We use FIR datatype which in addition depends on Emitters (E)"
|
78
|
+
},
|
79
|
+
"GLOBAL:History": {
|
80
|
+
"default": "",
|
81
|
+
"flags": null,
|
82
|
+
"dimensions": null,
|
83
|
+
"type": "attribute",
|
84
|
+
"comment": ""
|
85
|
+
},
|
86
|
+
"GLOBAL:License": {
|
87
|
+
"default": "No license provided, ask the author for permission",
|
88
|
+
"flags": "m",
|
89
|
+
"dimensions": null,
|
90
|
+
"type": "attribute",
|
91
|
+
"comment": ""
|
92
|
+
},
|
93
|
+
"GLOBAL:Organization": {
|
94
|
+
"default": "",
|
95
|
+
"flags": "m",
|
96
|
+
"dimensions": null,
|
97
|
+
"type": "attribute",
|
98
|
+
"comment": ""
|
99
|
+
},
|
100
|
+
"GLOBAL:References": {
|
101
|
+
"default": "",
|
102
|
+
"flags": null,
|
103
|
+
"dimensions": null,
|
104
|
+
"type": "attribute",
|
105
|
+
"comment": ""
|
106
|
+
},
|
107
|
+
"GLOBAL:RoomType": {
|
108
|
+
"default": "reverberant",
|
109
|
+
"flags": "m",
|
110
|
+
"dimensions": null,
|
111
|
+
"type": "attribute",
|
112
|
+
"comment": ""
|
113
|
+
},
|
114
|
+
"GLOBAL:Origin": {
|
115
|
+
"default": "",
|
116
|
+
"flags": null,
|
117
|
+
"dimensions": null,
|
118
|
+
"type": "attribute",
|
119
|
+
"comment": ""
|
120
|
+
},
|
121
|
+
"GLOBAL:DateCreated": {
|
122
|
+
"default": "",
|
123
|
+
"flags": "m",
|
124
|
+
"dimensions": null,
|
125
|
+
"type": "attribute",
|
126
|
+
"comment": ""
|
127
|
+
},
|
128
|
+
"GLOBAL:DateModified": {
|
129
|
+
"default": "",
|
130
|
+
"flags": "m",
|
131
|
+
"dimensions": null,
|
132
|
+
"type": "attribute",
|
133
|
+
"comment": ""
|
134
|
+
},
|
135
|
+
"GLOBAL:Title": {
|
136
|
+
"default": "",
|
137
|
+
"flags": "m",
|
138
|
+
"dimensions": null,
|
139
|
+
"type": "attribute",
|
140
|
+
"comment": ""
|
141
|
+
},
|
142
|
+
"GLOBAL:DatabaseName": {
|
143
|
+
"default": "",
|
144
|
+
"flags": "m",
|
145
|
+
"dimensions": null,
|
146
|
+
"type": "attribute",
|
147
|
+
"comment": "name of the database to which these data belong"
|
148
|
+
},
|
149
|
+
"GLOBAL:ListenerShortName": {
|
150
|
+
"default": "",
|
151
|
+
"flags": "m",
|
152
|
+
"dimensions": null,
|
153
|
+
"type": "attribute",
|
154
|
+
"comment": "ID of the subject from the database"
|
155
|
+
},
|
156
|
+
"GLOBAL:RoomDescription": {
|
157
|
+
"default": "",
|
158
|
+
"flags": null,
|
159
|
+
"dimensions": null,
|
160
|
+
"type": "attribute",
|
161
|
+
"comment": "narrative description of the room"
|
162
|
+
},
|
163
|
+
"ListenerPosition": {
|
164
|
+
"default": [
|
165
|
+
0,
|
166
|
+
0,
|
167
|
+
0
|
168
|
+
],
|
169
|
+
"flags": "m",
|
170
|
+
"dimensions": "IC, MC",
|
171
|
+
"type": "double",
|
172
|
+
"comment": ""
|
173
|
+
},
|
174
|
+
"ListenerPosition:Type": {
|
175
|
+
"default": "cartesian",
|
176
|
+
"flags": "m",
|
177
|
+
"dimensions": null,
|
178
|
+
"type": "attribute",
|
179
|
+
"comment": ""
|
180
|
+
},
|
181
|
+
"ListenerPosition:Units": {
|
182
|
+
"default": "metre",
|
183
|
+
"flags": "m",
|
184
|
+
"dimensions": null,
|
185
|
+
"type": "attribute",
|
186
|
+
"comment": ""
|
187
|
+
},
|
188
|
+
"ReceiverPosition": {
|
189
|
+
"default": [
|
190
|
+
[
|
191
|
+
0,
|
192
|
+
0.09,
|
193
|
+
0
|
194
|
+
],
|
195
|
+
[
|
196
|
+
0,
|
197
|
+
-0.09,
|
198
|
+
0
|
199
|
+
]
|
200
|
+
],
|
201
|
+
"flags": "m",
|
202
|
+
"dimensions": "rCI, rCM",
|
203
|
+
"type": "double",
|
204
|
+
"comment": ""
|
205
|
+
},
|
206
|
+
"ReceiverPosition:Type": {
|
207
|
+
"default": "cartesian",
|
208
|
+
"flags": "m",
|
209
|
+
"dimensions": null,
|
210
|
+
"type": "attribute",
|
211
|
+
"comment": ""
|
212
|
+
},
|
213
|
+
"ReceiverPosition:Units": {
|
214
|
+
"default": "metre",
|
215
|
+
"flags": "m",
|
216
|
+
"dimensions": null,
|
217
|
+
"type": "attribute",
|
218
|
+
"comment": ""
|
219
|
+
},
|
220
|
+
"SourcePosition": {
|
221
|
+
"default": [
|
222
|
+
0,
|
223
|
+
0,
|
224
|
+
1
|
225
|
+
],
|
226
|
+
"flags": "m",
|
227
|
+
"dimensions": "IC, MC",
|
228
|
+
"type": "double",
|
229
|
+
"comment": ""
|
230
|
+
},
|
231
|
+
"SourcePosition:Type": {
|
232
|
+
"default": "spherical",
|
233
|
+
"flags": "m",
|
234
|
+
"dimensions": null,
|
235
|
+
"type": "attribute",
|
236
|
+
"comment": ""
|
237
|
+
},
|
238
|
+
"SourcePosition:Units": {
|
239
|
+
"default": "degree, degree, metre",
|
240
|
+
"flags": "m",
|
241
|
+
"dimensions": null,
|
242
|
+
"type": "attribute",
|
243
|
+
"comment": ""
|
244
|
+
},
|
245
|
+
"EmitterPosition": {
|
246
|
+
"default": [
|
247
|
+
0,
|
248
|
+
0,
|
249
|
+
0
|
250
|
+
],
|
251
|
+
"flags": "m",
|
252
|
+
"dimensions": "eCI, eCM",
|
253
|
+
"type": "double",
|
254
|
+
"comment": "Each speaker is represented as an emitter. Use EmitterPosition to represent the position of a particular speaker. Size of EmitterPosition determines E"
|
255
|
+
},
|
256
|
+
"EmitterPosition:Type": {
|
257
|
+
"default": "cartesian",
|
258
|
+
"flags": "m",
|
259
|
+
"dimensions": null,
|
260
|
+
"type": "attribute",
|
261
|
+
"comment": ""
|
262
|
+
},
|
263
|
+
"EmitterPosition:Units": {
|
264
|
+
"default": "metre",
|
265
|
+
"flags": "m",
|
266
|
+
"dimensions": null,
|
267
|
+
"type": "attribute",
|
268
|
+
"comment": ""
|
269
|
+
},
|
270
|
+
"ListenerUp": {
|
271
|
+
"default": [
|
272
|
+
0,
|
273
|
+
0,
|
274
|
+
1
|
275
|
+
],
|
276
|
+
"flags": "m",
|
277
|
+
"dimensions": "IC, MC",
|
278
|
+
"type": "double",
|
279
|
+
"comment": ""
|
280
|
+
},
|
281
|
+
"ListenerView": {
|
282
|
+
"default": [
|
283
|
+
1,
|
284
|
+
0,
|
285
|
+
0
|
286
|
+
],
|
287
|
+
"flags": "m",
|
288
|
+
"dimensions": "IC, MC",
|
289
|
+
"type": "double",
|
290
|
+
"comment": ""
|
291
|
+
},
|
292
|
+
"ListenerView:Type": {
|
293
|
+
"default": "cartesian",
|
294
|
+
"flags": "m",
|
295
|
+
"dimensions": null,
|
296
|
+
"type": "attribute",
|
297
|
+
"comment": ""
|
298
|
+
},
|
299
|
+
"ListenerView:Units": {
|
300
|
+
"default": "metre",
|
301
|
+
"flags": "m",
|
302
|
+
"dimensions": null,
|
303
|
+
"type": "attribute",
|
304
|
+
"comment": ""
|
305
|
+
},
|
306
|
+
"EmitterUp": {
|
307
|
+
"default": [
|
308
|
+
0,
|
309
|
+
0,
|
310
|
+
1
|
311
|
+
],
|
312
|
+
"flags": null,
|
313
|
+
"dimensions": "ECI, ECM",
|
314
|
+
"type": "double",
|
315
|
+
"comment": "When EmitterUp provided, EmitterView must be provided as well"
|
316
|
+
},
|
317
|
+
"EmitterView": {
|
318
|
+
"default": [
|
319
|
+
1,
|
320
|
+
0,
|
321
|
+
0
|
322
|
+
],
|
323
|
+
"flags": null,
|
324
|
+
"dimensions": "ECI, ECM",
|
325
|
+
"type": "double",
|
326
|
+
"comment": "When EmitterView provided, EmitterUp must be provided as well"
|
327
|
+
},
|
328
|
+
"EmitterView:Type": {
|
329
|
+
"default": "cartesian",
|
330
|
+
"flags": null,
|
331
|
+
"dimensions": null,
|
332
|
+
"type": "attribute",
|
333
|
+
"comment": ""
|
334
|
+
},
|
335
|
+
"EmitterView:Units": {
|
336
|
+
"default": "metre",
|
337
|
+
"flags": null,
|
338
|
+
"dimensions": null,
|
339
|
+
"type": "attribute",
|
340
|
+
"comment": ""
|
341
|
+
},
|
342
|
+
"Data.IR": {
|
343
|
+
"default": [
|
344
|
+
1,
|
345
|
+
1
|
346
|
+
],
|
347
|
+
"flags": "m",
|
348
|
+
"dimensions": "mREn",
|
349
|
+
"type": "double",
|
350
|
+
"comment": ""
|
351
|
+
},
|
352
|
+
"Data.SamplingRate": {
|
353
|
+
"default": 48000,
|
354
|
+
"flags": "m",
|
355
|
+
"dimensions": "I",
|
356
|
+
"type": "double",
|
357
|
+
"comment": ""
|
358
|
+
},
|
359
|
+
"Data.SamplingRate:Units": {
|
360
|
+
"default": "hertz",
|
361
|
+
"flags": "m",
|
362
|
+
"dimensions": null,
|
363
|
+
"type": "attribute",
|
364
|
+
"comment": ""
|
365
|
+
},
|
366
|
+
"Data.Delay": {
|
367
|
+
"default": [
|
368
|
+
0,
|
369
|
+
0
|
370
|
+
],
|
371
|
+
"flags": "m",
|
372
|
+
"dimensions": "IRE, MRE",
|
373
|
+
"type": "double",
|
374
|
+
"comment": ""
|
375
|
+
}
|
376
|
+
}
|