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": "SingleRoomMIMOSRIR",
|
18
|
+
"flags": "rm",
|
19
|
+
"dimensions": null,
|
20
|
+
"type": "attribute",
|
21
|
+
"comment": "Single-room multiple-input multiple-output spatial room impulse responses, depending on Emitters"
|
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-E",
|
32
|
+
"flags": "rm",
|
33
|
+
"dimensions": null,
|
34
|
+
"type": "attribute",
|
35
|
+
"comment": "Shall be FIR-E"
|
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, MI",
|
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": "IC, ECI, ECM",
|
513
|
+
"type": "double",
|
514
|
+
"comment": "Can be of any type enabling both spatially discrete and spatially continuous representations."
|
515
|
+
},
|
516
|
+
"EmitterPosition:Type": {
|
517
|
+
"default": "spherical",
|
518
|
+
"flags": "m",
|
519
|
+
"dimensions": null,
|
520
|
+
"type": "attribute",
|
521
|
+
"comment": ""
|
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": ""
|
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": "mrne",
|
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": "IRI, MRI, MRE",
|
598
|
+
"type": "double",
|
599
|
+
"comment": "Additional delay of each IR (in samples)"
|
600
|
+
}
|
601
|
+
}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
Name Default Flags Dimensions Type Comment
|
2
|
+
GLOBAL:Conventions SOFA rm attribute
|
3
|
+
GLOBAL:Version 2.1 rm attribute
|
4
|
+
GLOBAL:SOFAConventions SingleRoomSRIR rm attribute 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).
|
5
|
+
GLOBAL:SOFAConventionsVersion 1.0 rm attribute
|
6
|
+
GLOBAL:DataType FIR rm attribute Shall be FIR
|
7
|
+
GLOBAL:RoomType shoebox m attribute Shall be 'shoebox' or 'dae'
|
8
|
+
GLOBAL:Title m attribute
|
9
|
+
GLOBAL:DateCreated m attribute
|
10
|
+
GLOBAL:DateModified m attribute
|
11
|
+
GLOBAL:APIName rm attribute
|
12
|
+
GLOBAL:APIVersion rm attribute
|
13
|
+
GLOBAL:AuthorContact m attribute
|
14
|
+
GLOBAL:Organization m attribute
|
15
|
+
GLOBAL:License No license provided, ask the author for permission m attribute
|
16
|
+
GLOBAL:ApplicationName attribute
|
17
|
+
GLOBAL:ApplicationVersion attribute
|
18
|
+
GLOBAL:Comment attribute
|
19
|
+
GLOBAL:History attribute
|
20
|
+
GLOBAL:References attribute
|
21
|
+
GLOBAL:Origin attribute
|
22
|
+
GLOBAL:DatabaseName m attribute Name of the database. Used for classification of the data.
|
23
|
+
GLOBAL:RoomShortName attribute Short name of the Room
|
24
|
+
GLOBAL:RoomDescription attribute Informal verbal description of the room
|
25
|
+
GLOBAL:RoomLocation attribute Location of the room
|
26
|
+
GLOBAL:RoomGeometry attribute URI to a file describing the room geometry.
|
27
|
+
RoomTemperature 0 I, M double Temperature during measurements, given in Kelvin.
|
28
|
+
RoomTemperature:Units kelvin attribute Units of the room temperature.
|
29
|
+
RoomVolume 0 I, M double Volume of the room.
|
30
|
+
RoomVolume:Units cubic metre attribute Units of the room volume.
|
31
|
+
RoomCornerA [0 0 0] IC, MC double
|
32
|
+
RoomCornerB [1 2 3] IC, MC double
|
33
|
+
RoomCorners 0 II double The value of this attribute is to be ignored. It only exist to for RoomCorners:Type and RoomCorners:Units
|
34
|
+
RoomCorners:Type cartesian attribute
|
35
|
+
RoomCorners:Units metre attribute
|
36
|
+
GLOBAL:ListenerShortName attribute
|
37
|
+
GLOBAL:ListenerDescription attribute
|
38
|
+
ListenerPosition [0 0 0] m MC double
|
39
|
+
ListenerPosition:Type cartesian m attribute
|
40
|
+
ListenerPosition:Units metre m attribute
|
41
|
+
ListenerView [1 0 0] m IC, MC double
|
42
|
+
ListenerUp [0 0 1] m IC, MC double
|
43
|
+
ListenerView:Type cartesian m attribute
|
44
|
+
ListenerView:Units metre m attribute
|
45
|
+
GLOBAL:ReceiverShortName attribute
|
46
|
+
GLOBAL:ReceiverDescription attribute
|
47
|
+
ReceiverDescriptions {''} RS, RSM string R-dependent version of the attribute ReceiverDescription
|
48
|
+
ReceiverPosition [0 0 0] m IC, RCI, RCM double
|
49
|
+
ReceiverPosition:Type spherical m attribute Can be of any type enabling both spatially discrete and spatially continuous representations.
|
50
|
+
ReceiverPosition:Units degree, degree, metre m attribute
|
51
|
+
ReceiverView [1 0 0] RCI, RCM double
|
52
|
+
ReceiverUp [0 0 1] RCI, RCM double
|
53
|
+
ReceiverView:Type cartesian attribute
|
54
|
+
ReceiverView:Units metre attribute
|
55
|
+
GLOBAL:SourceShortName attribute
|
56
|
+
GLOBAL:SourceDescription attribute
|
57
|
+
SourcePosition [0 0 1] m MC double
|
58
|
+
SourcePosition:Type cartesian m attribute
|
59
|
+
SourcePosition:Units metre m attribute
|
60
|
+
SourceView [1 0 0] m IC, MC double
|
61
|
+
SourceUp [0 0 1] m IC, MC double
|
62
|
+
SourceView:Type cartesian m attribute
|
63
|
+
SourceView:Units metre m attribute
|
64
|
+
GLOBAL:EmitterShortName attribute
|
65
|
+
GLOBAL:EmitterDescription attribute
|
66
|
+
EmitterDescriptions {''} ES, ESM string E-dependent version of the attribute EmitterDescription
|
67
|
+
EmitterPosition [0 0 0] m eCI, eCM double
|
68
|
+
EmitterPosition:Type spherical m attribute Shall be 'cartesian' or 'spherical', restricting to spatially discrete emitters.
|
69
|
+
EmitterPosition:Units degree, degree, metre m attribute
|
70
|
+
EmitterView [1 0 0] ECI, ECM double
|
71
|
+
EmitterUp [0 0 1] ECI, ECM double
|
72
|
+
EmitterView:Type cartesian attribute Shall be 'cartesian' or 'spherical', restricting to spatially discrete emitters.
|
73
|
+
EmitterView:Units metre attribute
|
74
|
+
Data.IR 0 m mrn double Impulse responses
|
75
|
+
Data.SamplingRate 48000 m I, M double Sampling rate of the samples in Data.IR and Data.Delay
|
76
|
+
Data.SamplingRate:Units hertz m attribute Unit of the sampling rate
|
77
|
+
Data.Delay 0 m IR, MR double Additional delay of each IR (in samples)
|
78
|
+
MeasurementDate 0 M double Optional M-dependent date and time of the measurement
|