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,601 @@
|
|
1
|
+
{
|
2
|
+
"GLOBAL:Conventions": {
|
3
|
+
"default": "SOFA",
|
4
|
+
"flags": "rm",
|
5
|
+
"dimensions": null,
|
6
|
+
"type": "attribute",
|
7
|
+
"comment": ""
|
8
|
+
},
|
9
|
+
"GLOBAL:Version": {
|
10
|
+
"default": "2.1",
|
11
|
+
"flags": "rm",
|
12
|
+
"dimensions": null,
|
13
|
+
"type": "attribute",
|
14
|
+
"comment": ""
|
15
|
+
},
|
16
|
+
"GLOBAL:SOFAConventions": {
|
17
|
+
"default": "SingleRoomSRIR",
|
18
|
+
"flags": "rm",
|
19
|
+
"dimensions": null,
|
20
|
+
"type": "attribute",
|
21
|
+
"comment": "For measuring SRIRs in a single room with a single excitation source (e.g., a loudspeaker) and a listener containing an arbitrary number of omnidirectional receivers (e.g., a microphone array)."
|
22
|
+
},
|
23
|
+
"GLOBAL:SOFAConventionsVersion": {
|
24
|
+
"default": "1.0",
|
25
|
+
"flags": "rm",
|
26
|
+
"dimensions": null,
|
27
|
+
"type": "attribute",
|
28
|
+
"comment": ""
|
29
|
+
},
|
30
|
+
"GLOBAL:DataType": {
|
31
|
+
"default": "FIR",
|
32
|
+
"flags": "rm",
|
33
|
+
"dimensions": null,
|
34
|
+
"type": "attribute",
|
35
|
+
"comment": "Shall be FIR"
|
36
|
+
},
|
37
|
+
"GLOBAL:RoomType": {
|
38
|
+
"default": "shoebox",
|
39
|
+
"flags": "m",
|
40
|
+
"dimensions": null,
|
41
|
+
"type": "attribute",
|
42
|
+
"comment": "Shall be 'shoebox' or 'dae'"
|
43
|
+
},
|
44
|
+
"GLOBAL:Title": {
|
45
|
+
"default": "",
|
46
|
+
"flags": "m",
|
47
|
+
"dimensions": null,
|
48
|
+
"type": "attribute",
|
49
|
+
"comment": ""
|
50
|
+
},
|
51
|
+
"GLOBAL:DateCreated": {
|
52
|
+
"default": "",
|
53
|
+
"flags": "m",
|
54
|
+
"dimensions": null,
|
55
|
+
"type": "attribute",
|
56
|
+
"comment": ""
|
57
|
+
},
|
58
|
+
"GLOBAL:DateModified": {
|
59
|
+
"default": "",
|
60
|
+
"flags": "m",
|
61
|
+
"dimensions": null,
|
62
|
+
"type": "attribute",
|
63
|
+
"comment": ""
|
64
|
+
},
|
65
|
+
"GLOBAL:APIName": {
|
66
|
+
"default": "",
|
67
|
+
"flags": "rm",
|
68
|
+
"dimensions": null,
|
69
|
+
"type": "attribute",
|
70
|
+
"comment": ""
|
71
|
+
},
|
72
|
+
"GLOBAL:APIVersion": {
|
73
|
+
"default": "",
|
74
|
+
"flags": "rm",
|
75
|
+
"dimensions": null,
|
76
|
+
"type": "attribute",
|
77
|
+
"comment": ""
|
78
|
+
},
|
79
|
+
"GLOBAL:AuthorContact": {
|
80
|
+
"default": "",
|
81
|
+
"flags": "m",
|
82
|
+
"dimensions": null,
|
83
|
+
"type": "attribute",
|
84
|
+
"comment": ""
|
85
|
+
},
|
86
|
+
"GLOBAL:Organization": {
|
87
|
+
"default": "",
|
88
|
+
"flags": "m",
|
89
|
+
"dimensions": null,
|
90
|
+
"type": "attribute",
|
91
|
+
"comment": ""
|
92
|
+
},
|
93
|
+
"GLOBAL:License": {
|
94
|
+
"default": "No license provided, ask the author for permission",
|
95
|
+
"flags": "m",
|
96
|
+
"dimensions": null,
|
97
|
+
"type": "attribute",
|
98
|
+
"comment": ""
|
99
|
+
},
|
100
|
+
"GLOBAL:ApplicationName": {
|
101
|
+
"default": "",
|
102
|
+
"flags": null,
|
103
|
+
"dimensions": null,
|
104
|
+
"type": "attribute",
|
105
|
+
"comment": ""
|
106
|
+
},
|
107
|
+
"GLOBAL:ApplicationVersion": {
|
108
|
+
"default": "",
|
109
|
+
"flags": null,
|
110
|
+
"dimensions": null,
|
111
|
+
"type": "attribute",
|
112
|
+
"comment": ""
|
113
|
+
},
|
114
|
+
"GLOBAL:Comment": {
|
115
|
+
"default": "",
|
116
|
+
"flags": null,
|
117
|
+
"dimensions": null,
|
118
|
+
"type": "attribute",
|
119
|
+
"comment": ""
|
120
|
+
},
|
121
|
+
"GLOBAL:History": {
|
122
|
+
"default": "",
|
123
|
+
"flags": null,
|
124
|
+
"dimensions": null,
|
125
|
+
"type": "attribute",
|
126
|
+
"comment": ""
|
127
|
+
},
|
128
|
+
"GLOBAL:References": {
|
129
|
+
"default": "",
|
130
|
+
"flags": null,
|
131
|
+
"dimensions": null,
|
132
|
+
"type": "attribute",
|
133
|
+
"comment": ""
|
134
|
+
},
|
135
|
+
"GLOBAL:Origin": {
|
136
|
+
"default": "",
|
137
|
+
"flags": null,
|
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. Used for classification of the data."
|
148
|
+
},
|
149
|
+
"GLOBAL:RoomShortName": {
|
150
|
+
"default": "",
|
151
|
+
"flags": null,
|
152
|
+
"dimensions": null,
|
153
|
+
"type": "attribute",
|
154
|
+
"comment": "Short name of the Room"
|
155
|
+
},
|
156
|
+
"GLOBAL:RoomDescription": {
|
157
|
+
"default": "",
|
158
|
+
"flags": null,
|
159
|
+
"dimensions": null,
|
160
|
+
"type": "attribute",
|
161
|
+
"comment": "Informal verbal description of the room"
|
162
|
+
},
|
163
|
+
"GLOBAL:RoomLocation": {
|
164
|
+
"default": "",
|
165
|
+
"flags": null,
|
166
|
+
"dimensions": null,
|
167
|
+
"type": "attribute",
|
168
|
+
"comment": "Location of the room"
|
169
|
+
},
|
170
|
+
"GLOBAL:RoomGeometry": {
|
171
|
+
"default": "",
|
172
|
+
"flags": null,
|
173
|
+
"dimensions": null,
|
174
|
+
"type": "attribute",
|
175
|
+
"comment": "URI to a file describing the room geometry."
|
176
|
+
},
|
177
|
+
"GLOBAL:ListenerShortName": {
|
178
|
+
"default": "",
|
179
|
+
"flags": null,
|
180
|
+
"dimensions": null,
|
181
|
+
"type": "attribute",
|
182
|
+
"comment": ""
|
183
|
+
},
|
184
|
+
"GLOBAL:ListenerDescription": {
|
185
|
+
"default": "",
|
186
|
+
"flags": null,
|
187
|
+
"dimensions": null,
|
188
|
+
"type": "attribute",
|
189
|
+
"comment": ""
|
190
|
+
},
|
191
|
+
"GLOBAL:ReceiverShortName": {
|
192
|
+
"default": "",
|
193
|
+
"flags": null,
|
194
|
+
"dimensions": null,
|
195
|
+
"type": "attribute",
|
196
|
+
"comment": ""
|
197
|
+
},
|
198
|
+
"GLOBAL:ReceiverDescription": {
|
199
|
+
"default": "",
|
200
|
+
"flags": null,
|
201
|
+
"dimensions": null,
|
202
|
+
"type": "attribute",
|
203
|
+
"comment": ""
|
204
|
+
},
|
205
|
+
"GLOBAL:SourceShortName": {
|
206
|
+
"default": "",
|
207
|
+
"flags": null,
|
208
|
+
"dimensions": null,
|
209
|
+
"type": "attribute",
|
210
|
+
"comment": ""
|
211
|
+
},
|
212
|
+
"GLOBAL:SourceDescription": {
|
213
|
+
"default": "",
|
214
|
+
"flags": null,
|
215
|
+
"dimensions": null,
|
216
|
+
"type": "attribute",
|
217
|
+
"comment": ""
|
218
|
+
},
|
219
|
+
"GLOBAL:EmitterShortName": {
|
220
|
+
"default": "",
|
221
|
+
"flags": null,
|
222
|
+
"dimensions": null,
|
223
|
+
"type": "attribute",
|
224
|
+
"comment": ""
|
225
|
+
},
|
226
|
+
"GLOBAL:EmitterDescription": {
|
227
|
+
"default": "",
|
228
|
+
"flags": null,
|
229
|
+
"dimensions": null,
|
230
|
+
"type": "attribute",
|
231
|
+
"comment": ""
|
232
|
+
},
|
233
|
+
"RoomTemperature": {
|
234
|
+
"default": 0,
|
235
|
+
"flags": null,
|
236
|
+
"dimensions": "I, M",
|
237
|
+
"type": "double",
|
238
|
+
"comment": "Temperature during measurements, given in Kelvin."
|
239
|
+
},
|
240
|
+
"RoomTemperature:Units": {
|
241
|
+
"default": "kelvin",
|
242
|
+
"flags": null,
|
243
|
+
"dimensions": null,
|
244
|
+
"type": "attribute",
|
245
|
+
"comment": "Units of the room temperature."
|
246
|
+
},
|
247
|
+
"RoomVolume": {
|
248
|
+
"default": 0,
|
249
|
+
"flags": null,
|
250
|
+
"dimensions": "I, M",
|
251
|
+
"type": "double",
|
252
|
+
"comment": "Volume of the room."
|
253
|
+
},
|
254
|
+
"RoomVolume:Units": {
|
255
|
+
"default": "cubic metre",
|
256
|
+
"flags": null,
|
257
|
+
"dimensions": null,
|
258
|
+
"type": "attribute",
|
259
|
+
"comment": "Units of the room volume."
|
260
|
+
},
|
261
|
+
"RoomCornerA": {
|
262
|
+
"default": [
|
263
|
+
0,
|
264
|
+
0,
|
265
|
+
0
|
266
|
+
],
|
267
|
+
"flags": null,
|
268
|
+
"dimensions": "IC, MC",
|
269
|
+
"type": "double",
|
270
|
+
"comment": ""
|
271
|
+
},
|
272
|
+
"RoomCornerB": {
|
273
|
+
"default": [
|
274
|
+
1,
|
275
|
+
2,
|
276
|
+
3
|
277
|
+
],
|
278
|
+
"flags": null,
|
279
|
+
"dimensions": "IC, MC",
|
280
|
+
"type": "double",
|
281
|
+
"comment": ""
|
282
|
+
},
|
283
|
+
"RoomCorners": {
|
284
|
+
"default": 0,
|
285
|
+
"flags": null,
|
286
|
+
"dimensions": "II",
|
287
|
+
"type": "double",
|
288
|
+
"comment": "The value of this attribute is to be ignored. It only exist to for RoomCorners:Type and RoomCorners:Units"
|
289
|
+
},
|
290
|
+
"RoomCorners:Type": {
|
291
|
+
"default": "cartesian",
|
292
|
+
"flags": null,
|
293
|
+
"dimensions": null,
|
294
|
+
"type": "attribute",
|
295
|
+
"comment": ""
|
296
|
+
},
|
297
|
+
"RoomCorners:Units": {
|
298
|
+
"default": "metre",
|
299
|
+
"flags": null,
|
300
|
+
"dimensions": null,
|
301
|
+
"type": "attribute",
|
302
|
+
"comment": ""
|
303
|
+
},
|
304
|
+
"ListenerPosition": {
|
305
|
+
"default": [
|
306
|
+
0,
|
307
|
+
0,
|
308
|
+
0
|
309
|
+
],
|
310
|
+
"flags": "m",
|
311
|
+
"dimensions": "MC",
|
312
|
+
"type": "double",
|
313
|
+
"comment": ""
|
314
|
+
},
|
315
|
+
"ListenerPosition:Type": {
|
316
|
+
"default": "cartesian",
|
317
|
+
"flags": "m",
|
318
|
+
"dimensions": null,
|
319
|
+
"type": "attribute",
|
320
|
+
"comment": ""
|
321
|
+
},
|
322
|
+
"ListenerPosition:Units": {
|
323
|
+
"default": "metre",
|
324
|
+
"flags": "m",
|
325
|
+
"dimensions": null,
|
326
|
+
"type": "attribute",
|
327
|
+
"comment": ""
|
328
|
+
},
|
329
|
+
"ListenerView": {
|
330
|
+
"default": [
|
331
|
+
1,
|
332
|
+
0,
|
333
|
+
0
|
334
|
+
],
|
335
|
+
"flags": "m",
|
336
|
+
"dimensions": "IC, MC",
|
337
|
+
"type": "double",
|
338
|
+
"comment": ""
|
339
|
+
},
|
340
|
+
"ListenerUp": {
|
341
|
+
"default": [
|
342
|
+
0,
|
343
|
+
0,
|
344
|
+
1
|
345
|
+
],
|
346
|
+
"flags": "m",
|
347
|
+
"dimensions": "IC, MC",
|
348
|
+
"type": "double",
|
349
|
+
"comment": ""
|
350
|
+
},
|
351
|
+
"ListenerView:Type": {
|
352
|
+
"default": "cartesian",
|
353
|
+
"flags": "m",
|
354
|
+
"dimensions": null,
|
355
|
+
"type": "attribute",
|
356
|
+
"comment": ""
|
357
|
+
},
|
358
|
+
"ListenerView:Units": {
|
359
|
+
"default": "metre",
|
360
|
+
"flags": "m",
|
361
|
+
"dimensions": null,
|
362
|
+
"type": "attribute",
|
363
|
+
"comment": ""
|
364
|
+
},
|
365
|
+
"ReceiverDescriptions": {
|
366
|
+
"default": [
|
367
|
+
""
|
368
|
+
],
|
369
|
+
"flags": null,
|
370
|
+
"dimensions": "RS, RSM",
|
371
|
+
"type": "string",
|
372
|
+
"comment": "R-dependent version of the attribute ReceiverDescription"
|
373
|
+
},
|
374
|
+
"ReceiverPosition": {
|
375
|
+
"default": [
|
376
|
+
0,
|
377
|
+
0,
|
378
|
+
0
|
379
|
+
],
|
380
|
+
"flags": "m",
|
381
|
+
"dimensions": "IC, RCI, RCM",
|
382
|
+
"type": "double",
|
383
|
+
"comment": ""
|
384
|
+
},
|
385
|
+
"ReceiverPosition:Type": {
|
386
|
+
"default": "spherical",
|
387
|
+
"flags": "m",
|
388
|
+
"dimensions": null,
|
389
|
+
"type": "attribute",
|
390
|
+
"comment": "Can be of any type enabling both spatially discrete and spatially continuous representations."
|
391
|
+
},
|
392
|
+
"ReceiverPosition:Units": {
|
393
|
+
"default": "degree, degree, metre",
|
394
|
+
"flags": "m",
|
395
|
+
"dimensions": null,
|
396
|
+
"type": "attribute",
|
397
|
+
"comment": ""
|
398
|
+
},
|
399
|
+
"ReceiverView": {
|
400
|
+
"default": [
|
401
|
+
1,
|
402
|
+
0,
|
403
|
+
0
|
404
|
+
],
|
405
|
+
"flags": null,
|
406
|
+
"dimensions": "RCI, RCM",
|
407
|
+
"type": "double",
|
408
|
+
"comment": ""
|
409
|
+
},
|
410
|
+
"ReceiverUp": {
|
411
|
+
"default": [
|
412
|
+
0,
|
413
|
+
0,
|
414
|
+
1
|
415
|
+
],
|
416
|
+
"flags": null,
|
417
|
+
"dimensions": "RCI, RCM",
|
418
|
+
"type": "double",
|
419
|
+
"comment": ""
|
420
|
+
},
|
421
|
+
"ReceiverView:Type": {
|
422
|
+
"default": "cartesian",
|
423
|
+
"flags": null,
|
424
|
+
"dimensions": null,
|
425
|
+
"type": "attribute",
|
426
|
+
"comment": ""
|
427
|
+
},
|
428
|
+
"ReceiverView:Units": {
|
429
|
+
"default": "metre",
|
430
|
+
"flags": null,
|
431
|
+
"dimensions": null,
|
432
|
+
"type": "attribute",
|
433
|
+
"comment": ""
|
434
|
+
},
|
435
|
+
"SourcePosition": {
|
436
|
+
"default": [
|
437
|
+
0,
|
438
|
+
0,
|
439
|
+
1
|
440
|
+
],
|
441
|
+
"flags": "m",
|
442
|
+
"dimensions": "MC",
|
443
|
+
"type": "double",
|
444
|
+
"comment": ""
|
445
|
+
},
|
446
|
+
"SourcePosition:Type": {
|
447
|
+
"default": "cartesian",
|
448
|
+
"flags": "m",
|
449
|
+
"dimensions": null,
|
450
|
+
"type": "attribute",
|
451
|
+
"comment": ""
|
452
|
+
},
|
453
|
+
"SourcePosition:Units": {
|
454
|
+
"default": "metre",
|
455
|
+
"flags": "m",
|
456
|
+
"dimensions": null,
|
457
|
+
"type": "attribute",
|
458
|
+
"comment": ""
|
459
|
+
},
|
460
|
+
"SourceView": {
|
461
|
+
"default": [
|
462
|
+
1,
|
463
|
+
0,
|
464
|
+
0
|
465
|
+
],
|
466
|
+
"flags": "m",
|
467
|
+
"dimensions": "IC, MC",
|
468
|
+
"type": "double",
|
469
|
+
"comment": ""
|
470
|
+
},
|
471
|
+
"SourceUp": {
|
472
|
+
"default": [
|
473
|
+
0,
|
474
|
+
0,
|
475
|
+
1
|
476
|
+
],
|
477
|
+
"flags": "m",
|
478
|
+
"dimensions": "IC, MC",
|
479
|
+
"type": "double",
|
480
|
+
"comment": ""
|
481
|
+
},
|
482
|
+
"SourceView:Type": {
|
483
|
+
"default": "cartesian",
|
484
|
+
"flags": "m",
|
485
|
+
"dimensions": null,
|
486
|
+
"type": "attribute",
|
487
|
+
"comment": ""
|
488
|
+
},
|
489
|
+
"SourceView:Units": {
|
490
|
+
"default": "metre",
|
491
|
+
"flags": "m",
|
492
|
+
"dimensions": null,
|
493
|
+
"type": "attribute",
|
494
|
+
"comment": ""
|
495
|
+
},
|
496
|
+
"EmitterDescriptions": {
|
497
|
+
"default": [
|
498
|
+
""
|
499
|
+
],
|
500
|
+
"flags": null,
|
501
|
+
"dimensions": "ES, ESM",
|
502
|
+
"type": "string",
|
503
|
+
"comment": "E-dependent version of the attribute EmitterDescription"
|
504
|
+
},
|
505
|
+
"EmitterPosition": {
|
506
|
+
"default": [
|
507
|
+
0,
|
508
|
+
0,
|
509
|
+
0
|
510
|
+
],
|
511
|
+
"flags": "m",
|
512
|
+
"dimensions": "eCI, eCM",
|
513
|
+
"type": "double",
|
514
|
+
"comment": ""
|
515
|
+
},
|
516
|
+
"EmitterPosition:Type": {
|
517
|
+
"default": "spherical",
|
518
|
+
"flags": "m",
|
519
|
+
"dimensions": null,
|
520
|
+
"type": "attribute",
|
521
|
+
"comment": "Shall be 'cartesian' or 'spherical', restricting to spatially discrete emitters."
|
522
|
+
},
|
523
|
+
"EmitterPosition:Units": {
|
524
|
+
"default": "degree, degree, metre",
|
525
|
+
"flags": "m",
|
526
|
+
"dimensions": null,
|
527
|
+
"type": "attribute",
|
528
|
+
"comment": ""
|
529
|
+
},
|
530
|
+
"EmitterView": {
|
531
|
+
"default": [
|
532
|
+
1,
|
533
|
+
0,
|
534
|
+
0
|
535
|
+
],
|
536
|
+
"flags": null,
|
537
|
+
"dimensions": "ECI, ECM",
|
538
|
+
"type": "double",
|
539
|
+
"comment": ""
|
540
|
+
},
|
541
|
+
"EmitterUp": {
|
542
|
+
"default": [
|
543
|
+
0,
|
544
|
+
0,
|
545
|
+
1
|
546
|
+
],
|
547
|
+
"flags": null,
|
548
|
+
"dimensions": "ECI, ECM",
|
549
|
+
"type": "double",
|
550
|
+
"comment": ""
|
551
|
+
},
|
552
|
+
"EmitterView:Type": {
|
553
|
+
"default": "cartesian",
|
554
|
+
"flags": null,
|
555
|
+
"dimensions": null,
|
556
|
+
"type": "attribute",
|
557
|
+
"comment": "Shall be 'cartesian' or 'spherical', restricting to spatially discrete emitters."
|
558
|
+
},
|
559
|
+
"EmitterView:Units": {
|
560
|
+
"default": "metre",
|
561
|
+
"flags": null,
|
562
|
+
"dimensions": null,
|
563
|
+
"type": "attribute",
|
564
|
+
"comment": ""
|
565
|
+
},
|
566
|
+
"MeasurementDate": {
|
567
|
+
"default": 0,
|
568
|
+
"flags": null,
|
569
|
+
"dimensions": "M",
|
570
|
+
"type": "double",
|
571
|
+
"comment": "Optional M-dependent date and time of the measurement"
|
572
|
+
},
|
573
|
+
"Data.IR": {
|
574
|
+
"default": 0,
|
575
|
+
"flags": "m",
|
576
|
+
"dimensions": "mrn",
|
577
|
+
"type": "double",
|
578
|
+
"comment": "Impulse responses"
|
579
|
+
},
|
580
|
+
"Data.SamplingRate": {
|
581
|
+
"default": 48000,
|
582
|
+
"flags": "m",
|
583
|
+
"dimensions": "I, M",
|
584
|
+
"type": "double",
|
585
|
+
"comment": "Sampling rate of the samples in Data.IR and Data.Delay"
|
586
|
+
},
|
587
|
+
"Data.SamplingRate:Units": {
|
588
|
+
"default": "hertz",
|
589
|
+
"flags": "m",
|
590
|
+
"dimensions": null,
|
591
|
+
"type": "attribute",
|
592
|
+
"comment": "Unit of the sampling rate"
|
593
|
+
},
|
594
|
+
"Data.Delay": {
|
595
|
+
"default": 0,
|
596
|
+
"flags": "m",
|
597
|
+
"dimensions": "IR, MR",
|
598
|
+
"type": "double",
|
599
|
+
"comment": "Additional delay of each IR (in samples)"
|
600
|
+
}
|
601
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
Name Default Flags Dimensions Type Comment
|
2
|
+
GLOBAL:Conventions SOFA rm attribute
|
3
|
+
GLOBAL:Version 2.1 rm attribute
|
4
|
+
GLOBAL:SOFAConventions AnnotatedEmitterAudio rm attribute
|
5
|
+
GLOBAL:SOFAConventionsVersion 0.1 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 attribute
|
12
|
+
GLOBAL:DataType Audio rm attribute
|
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 free field 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 Position of the head. IC if not tracked, MC if tracked.
|
23
|
+
ListenerPosition:Type cartesian m attribute
|
24
|
+
ListenerPosition:Units metre m attribute
|
25
|
+
ReceiverPosition [0 0.09 0; 0 -0.09 0] m rC, rCM double Position of the ears. RC if not tracked, RCM if tracked.
|
26
|
+
ReceiverPosition:Type cartesian m attribute
|
27
|
+
ReceiverPosition:Units metre m attribute
|
28
|
+
SourcePosition [0 0 0] m IC, MC double Position of the virtual ensemble. IC if not tracked, MC if tracked.
|
29
|
+
SourcePosition:Type cartesian m attribute
|
30
|
+
SourcePosition:Units metre m attribute
|
31
|
+
EmitterPosition [0 0 0] m eC, eCM double Position of the virtual source(s). eC if not tracked, eCM if tracked.
|
32
|
+
EmitterPosition:Type cartesian m attribute
|
33
|
+
EmitterPosition:Units metre m attribute
|
34
|
+
ListenerUp [0 0 1] m IC, MC double Must be of the same dimensionality as ListenerView.
|
35
|
+
ListenerView [1 0 0] m IC, MC double Orientation of the head. IC if not tracked, MC if tracked.
|
36
|
+
ListenerView:Type cartesian m attribute
|
37
|
+
ListenerView:Units metre m attribute
|
38
|
+
Data.Emitter [0 0] m In, En double audio data at the emitter(s); n=number of audio samples
|
39
|
+
Data.SamplingRate 44100 m I double
|
40
|
+
Data.SamplingRate:Units hertz m attribute
|
41
|
+
M 0 m m double Time stamp of the measurements in M, defines the size of M.
|
42
|
+
M:LongName time m attribute Narrative name for M
|
43
|
+
M:Units second m attribute Units used for M
|
44
|
+
Response I, C, S attribute the subject’s response
|
45
|
+
Response:Type I, C, S attribute type depends on the dimension
|
46
|
+
Response:LongName S attribute narrative description of the response type
|