sofar 0.3.1__py2.py3-none-any.whl → 1.1.0__py2.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.
Files changed (79) hide show
  1. sofar/__init__.py +13 -7
  2. sofar/io.py +423 -0
  3. sofar/sofa.py +1795 -0
  4. sofar/sofa_conventions/VERSION +1 -0
  5. sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.csv +59 -0
  6. sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.json +444 -0
  7. sofar/{conventions/source → sofa_conventions/conventions}/FreeFieldHRIR_1.0.csv +3 -3
  8. sofar/{conventions → sofa_conventions/conventions}/FreeFieldHRIR_1.0.json +3 -3
  9. sofar/{conventions/source → sofa_conventions/conventions}/FreeFieldHRTF_1.0.csv +2 -2
  10. sofar/{conventions → sofa_conventions/conventions}/FreeFieldHRTF_1.0.json +3 -3
  11. sofar/{conventions/source → sofa_conventions/conventions}/GeneralFIR-E_2.0.csv +2 -2
  12. sofar/{conventions → sofa_conventions/conventions}/GeneralFIR-E_2.0.json +2 -2
  13. sofar/{conventions/source/GeneralFIR_2.0.csv → sofa_conventions/conventions/GeneralFIR_1.0.csv} +2 -2
  14. sofar/{conventions/GeneralFIR_2.0.json → sofa_conventions/conventions/GeneralFIR_1.0.json} +2 -2
  15. sofar/{conventions/source/GeneralFIR_1.0.csv → sofa_conventions/conventions/GeneralSOS_1.0.csv} +11 -11
  16. sofar/{conventions/GeneralFIR_1.0.json → sofa_conventions/conventions/GeneralSOS_1.0.json} +48 -37
  17. sofar/{conventions/source → sofa_conventions/conventions}/GeneralTF-E_1.0.csv +3 -3
  18. sofar/{conventions → sofa_conventions/conventions}/GeneralTF-E_1.0.json +4 -4
  19. sofar/{conventions/source → sofa_conventions/conventions}/GeneralTF_1.0.csv +1 -1
  20. sofar/{conventions → sofa_conventions/conventions}/GeneralTF_1.0.json +1 -1
  21. sofar/{conventions/source → sofa_conventions/conventions}/GeneralTF_2.0.csv +4 -4
  22. sofar/{conventions → sofa_conventions/conventions}/GeneralTF_2.0.json +4 -4
  23. sofar/sofa_conventions/conventions/SimpleFreeFieldHRIR_1.0.csv +47 -0
  24. sofar/{conventions → sofa_conventions/conventions}/SimpleFreeFieldHRIR_1.0.json +1 -1
  25. sofar/{conventions/source → sofa_conventions/conventions}/SimpleFreeFieldHRSOS_1.0.csv +1 -1
  26. sofar/{conventions → sofa_conventions/conventions}/SimpleFreeFieldHRSOS_1.0.json +1 -1
  27. sofar/{conventions/source/SimpleFreeFieldHRTF_2.0.csv → sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.csv} +3 -3
  28. sofar/{conventions/SimpleFreeFieldHRTF_2.0.json → sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.json} +4 -4
  29. sofar/{conventions/source → sofa_conventions/conventions}/SimpleHeadphoneIR_1.0.csv +9 -9
  30. sofar/sofa_conventions/conventions/SimpleHeadphoneIR_1.0.json +396 -0
  31. sofar/{conventions/source → sofa_conventions/conventions}/SingleRoomMIMOSRIR_1.0.csv +18 -8
  32. sofar/{conventions → sofa_conventions/conventions}/SingleRoomMIMOSRIR_1.0.json +124 -50
  33. sofar/{conventions/source → sofa_conventions/conventions}/SingleRoomSRIR_1.0.csv +18 -8
  34. sofar/{conventions → sofa_conventions/conventions}/SingleRoomSRIR_1.0.json +124 -50
  35. sofar/{conventions/source → sofa_conventions/conventions/deprecated}/FreeFieldDirectivityTF_1.0.csv +2 -2
  36. sofar/{conventions → sofa_conventions/conventions/deprecated}/FreeFieldDirectivityTF_1.0.json +2 -2
  37. sofar/sofa_conventions/conventions/deprecated/MultiSpeakerBRIR_0.3.csv +48 -0
  38. sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.csv +43 -0
  39. sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.json +333 -0
  40. sofar/{conventions/source/SimpleFreeFieldHRIR_1.0.csv → sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.csv} +15 -18
  41. sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.json +340 -0
  42. sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.csv +44 -0
  43. sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.json +340 -0
  44. sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.csv +51 -0
  45. sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.json +396 -0
  46. sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.csv +51 -0
  47. sofar/{conventions/SimpleHeadphoneIR_1.0.json → sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.json} +3 -3
  48. sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.csv +47 -0
  49. sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.json +360 -0
  50. sofar/sofa_conventions/rules/deprecations.json +12 -0
  51. sofar/sofa_conventions/rules/rules.json +800 -0
  52. sofar/sofa_conventions/rules/unit_aliases.json +11 -0
  53. sofar/sofa_conventions/rules/upgrade.json +190 -0
  54. sofar/update_conventions.py +427 -0
  55. sofar/utils.py +315 -0
  56. {sofar-0.3.1.dist-info → sofar-1.1.0.dist-info}/AUTHORS.rst +1 -0
  57. sofar-1.1.0.dist-info/METADATA +89 -0
  58. sofar-1.1.0.dist-info/RECORD +75 -0
  59. {sofar-0.3.1.dist-info → sofar-1.1.0.dist-info}/WHEEL +1 -1
  60. {sofar-0.3.1.dist-info → sofar-1.1.0.dist-info}/top_level.txt +1 -0
  61. tests/__init__.py +0 -0
  62. tests/test_deprecations.py +19 -0
  63. tests/test_io.py +344 -0
  64. tests/test_sofa.py +354 -0
  65. tests/test_sofa_upgrade_conventions.py +102 -0
  66. tests/test_sofa_verify.py +472 -0
  67. tests/test_utils.py +241 -0
  68. sofar/conventions/source/MultiSpeakerBRIR_0.3.csv +0 -48
  69. sofar/sofar.py +0 -2531
  70. sofar-0.3.1.dist-info/METADATA +0 -69
  71. sofar-0.3.1.dist-info/RECORD +0 -46
  72. /sofar/{conventions/source → sofa_conventions/conventions}/SimpleFreeFieldSOS_1.0.csv +0 -0
  73. /sofar/{conventions → sofa_conventions/conventions}/SimpleFreeFieldSOS_1.0.json +0 -0
  74. /sofar/{conventions/source → sofa_conventions/conventions/deprecated}/GeneralFIRE_1.0.csv +0 -0
  75. /sofar/{conventions → sofa_conventions/conventions/deprecated}/GeneralFIRE_1.0.json +0 -0
  76. /sofar/{conventions → sofa_conventions/conventions/deprecated}/MultiSpeakerBRIR_0.3.json +0 -0
  77. /sofar/{conventions/source → sofa_conventions/conventions/deprecated}/SingleRoomDRIR_0.3.csv +0 -0
  78. /sofar/{conventions → sofa_conventions/conventions/deprecated}/SingleRoomDRIR_0.3.json +0 -0
  79. {sofar-0.3.1.dist-info → sofar-1.1.0.dist-info}/LICENSE +0 -0
@@ -0,0 +1,396 @@
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": "SimpleHeadphoneIR",
18
+ "flags": "rm",
19
+ "dimensions": null,
20
+ "type": "attribute",
21
+ "comment": "Conventions for IRs with a 1-to-1 correspondence between emitter and receiver. The main application for this convention is to store headphone IRs recorded for each emitter and each ear."
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": null,
68
+ "dimensions": null,
69
+ "type": "attribute",
70
+ "comment": ""
71
+ },
72
+ "GLOBAL:DataType": {
73
+ "default": "FIR",
74
+ "flags": "rm",
75
+ "dimensions": null,
76
+ "type": "attribute",
77
+ "comment": "We will store IRs here"
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": "Room type is not relevant here"
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": "Correspondence to a database"
148
+ },
149
+ "GLOBAL:ListenerShortName": {
150
+ "default": "",
151
+ "flags": "m",
152
+ "dimensions": null,
153
+ "type": "attribute",
154
+ "comment": "Correspondence to a subject from the database"
155
+ },
156
+ "GLOBAL:ListenerDescription": {
157
+ "default": "",
158
+ "flags": null,
159
+ "dimensions": null,
160
+ "type": "attribute",
161
+ "comment": "Narrative description of the listener (or mannequin)"
162
+ },
163
+ "GLOBAL:SourceDescription": {
164
+ "default": "",
165
+ "flags": null,
166
+ "dimensions": null,
167
+ "type": "attribute",
168
+ "comment": "Narrative description of the headphones"
169
+ },
170
+ "GLOBAL:SourceManufacturer": {
171
+ "default": "",
172
+ "flags": null,
173
+ "dimensions": null,
174
+ "type": "attribute",
175
+ "comment": "Name of the headphones manufacturer"
176
+ },
177
+ "GLOBAL:SourceModel": {
178
+ "default": "",
179
+ "flags": null,
180
+ "dimensions": null,
181
+ "type": "attribute",
182
+ "comment": "Name of the headphone model. Must uniquely describe the headphones of the manufacturer"
183
+ },
184
+ "GLOBAL:SourceURI": {
185
+ "default": "",
186
+ "flags": null,
187
+ "dimensions": null,
188
+ "type": "attribute",
189
+ "comment": "URI of the headphone specifications"
190
+ },
191
+ "GLOBAL:ReceiverDescription": {
192
+ "default": "",
193
+ "flags": "m",
194
+ "dimensions": null,
195
+ "type": "attribute",
196
+ "comment": "Narrative description of the microphones"
197
+ },
198
+ "GLOBAL:EmitterDescription": {
199
+ "default": "",
200
+ "flags": "m",
201
+ "dimensions": null,
202
+ "type": "attribute",
203
+ "comment": "Narrative description of the headphone drivers"
204
+ },
205
+ "ListenerPosition": {
206
+ "default": [
207
+ 0,
208
+ 0,
209
+ 0
210
+ ],
211
+ "flags": "m",
212
+ "dimensions": "IC, MC",
213
+ "type": "double",
214
+ "comment": ""
215
+ },
216
+ "ListenerPosition:Type": {
217
+ "default": "cartesian",
218
+ "flags": "m",
219
+ "dimensions": null,
220
+ "type": "attribute",
221
+ "comment": ""
222
+ },
223
+ "ListenerPosition:Units": {
224
+ "default": "metre",
225
+ "flags": "m",
226
+ "dimensions": null,
227
+ "type": "attribute",
228
+ "comment": ""
229
+ },
230
+ "ReceiverPosition": {
231
+ "default": [
232
+ [
233
+ 0,
234
+ 0.09,
235
+ 0
236
+ ],
237
+ [
238
+ 0,
239
+ -0.09,
240
+ 0
241
+ ]
242
+ ],
243
+ "flags": "m",
244
+ "dimensions": "rCI, rCM",
245
+ "type": "double",
246
+ "comment": ""
247
+ },
248
+ "ReceiverPosition:Type": {
249
+ "default": "cartesian",
250
+ "flags": "m",
251
+ "dimensions": null,
252
+ "type": "attribute",
253
+ "comment": ""
254
+ },
255
+ "ReceiverPosition:Units": {
256
+ "default": "metre",
257
+ "flags": "m",
258
+ "dimensions": null,
259
+ "type": "attribute",
260
+ "comment": ""
261
+ },
262
+ "SourcePosition": {
263
+ "default": [
264
+ 0,
265
+ 0,
266
+ 0
267
+ ],
268
+ "flags": "m",
269
+ "dimensions": "IC, MC",
270
+ "type": "double",
271
+ "comment": "Default: Headphones are located at the position of the listener"
272
+ },
273
+ "SourcePosition:Type": {
274
+ "default": "spherical",
275
+ "flags": "m",
276
+ "dimensions": null,
277
+ "type": "attribute",
278
+ "comment": ""
279
+ },
280
+ "SourcePosition:Units": {
281
+ "default": "degree, degree, metre",
282
+ "flags": "m",
283
+ "dimensions": null,
284
+ "type": "attribute",
285
+ "comment": ""
286
+ },
287
+ "EmitterPosition": {
288
+ "default": [
289
+ [
290
+ 0,
291
+ 0.09,
292
+ 0
293
+ ],
294
+ [
295
+ 0,
296
+ -0.09,
297
+ 0
298
+ ]
299
+ ],
300
+ "flags": "m",
301
+ "dimensions": "eCI, eCM",
302
+ "type": "double",
303
+ "comment": "Default: Reflects the correspondence of each emitter to each receiver"
304
+ },
305
+ "EmitterPosition:Type": {
306
+ "default": "cartesian",
307
+ "flags": "m",
308
+ "dimensions": null,
309
+ "type": "attribute",
310
+ "comment": ""
311
+ },
312
+ "EmitterPosition:Units": {
313
+ "default": "metre",
314
+ "flags": "m",
315
+ "dimensions": null,
316
+ "type": "attribute",
317
+ "comment": ""
318
+ },
319
+ "SourceManufacturer": {
320
+ "default": [
321
+ ""
322
+ ],
323
+ "flags": null,
324
+ "dimensions": "MS",
325
+ "type": "string",
326
+ "comment": "Optional M-dependent version of the attribute SourceManufucturer"
327
+ },
328
+ "SourceModel": {
329
+ "default": [
330
+ ""
331
+ ],
332
+ "flags": null,
333
+ "dimensions": "MS",
334
+ "type": "string",
335
+ "comment": "Optional M-dependent version of the attribute SourceModel"
336
+ },
337
+ "ReceiverDescriptions": {
338
+ "default": [
339
+ ""
340
+ ],
341
+ "flags": null,
342
+ "dimensions": "MS",
343
+ "type": "string",
344
+ "comment": "R-dependent version of the attribute ReceiverDescription"
345
+ },
346
+ "EmitterDescriptions": {
347
+ "default": [
348
+ ""
349
+ ],
350
+ "flags": null,
351
+ "dimensions": "MS",
352
+ "type": "string",
353
+ "comment": "E-dependent version of the attribute EmitterDescription"
354
+ },
355
+ "MeasurementDate": {
356
+ "default": 0,
357
+ "flags": null,
358
+ "dimensions": "M",
359
+ "type": "double",
360
+ "comment": "Optional M-dependent date and time of the measurement"
361
+ },
362
+ "Data.IR": {
363
+ "default": [
364
+ 0,
365
+ 0
366
+ ],
367
+ "flags": "m",
368
+ "dimensions": "mRn",
369
+ "type": "double",
370
+ "comment": ""
371
+ },
372
+ "Data.SamplingRate": {
373
+ "default": 48000,
374
+ "flags": "m",
375
+ "dimensions": "I, M",
376
+ "type": "double",
377
+ "comment": ""
378
+ },
379
+ "Data.SamplingRate:Units": {
380
+ "default": "hertz",
381
+ "flags": "m",
382
+ "dimensions": null,
383
+ "type": "attribute",
384
+ "comment": ""
385
+ },
386
+ "Data.Delay": {
387
+ "default": [
388
+ 0,
389
+ 0
390
+ ],
391
+ "flags": "m",
392
+ "dimensions": "IR, MR",
393
+ "type": "double",
394
+ "comment": ""
395
+ }
396
+ }
@@ -1,6 +1,6 @@
1
1
  Name Default Flags Dimensions Type Comment
2
2
  GLOBAL:Conventions SOFA rm attribute
3
- GLOBAL:Version 2.0 rm attribute
3
+ GLOBAL:Version 2.1 rm attribute
4
4
  GLOBAL:SOFAConventions SingleRoomMIMOSRIR rm attribute Single-room multiple-input multiple-output spatial room impulse responses, depending on Emitters
5
5
  GLOBAL:SOFAConventionsVersion 1.0 rm attribute
6
6
  GLOBAL:DataType FIR-E rm attribute Shall be FIR-E
@@ -16,10 +16,23 @@ GLOBAL:License No license provided, ask the author for permission m attribute
16
16
  GLOBAL:ApplicationName attribute
17
17
  GLOBAL:ApplicationVersion attribute
18
18
  GLOBAL:Comment attribute
19
- GLOBAL:RoomDescription attribute narrative description of the room
20
19
  GLOBAL:History attribute
21
20
  GLOBAL:References attribute
22
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, MI 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
23
36
  GLOBAL:ListenerShortName attribute
24
37
  GLOBAL:ListenerDescription attribute
25
38
  ListenerPosition [0 0 0] m MC double
@@ -31,6 +44,7 @@ ListenerView:Type cartesian m attribute
31
44
  ListenerView:Units metre m attribute
32
45
  GLOBAL:ReceiverShortName attribute
33
46
  GLOBAL:ReceiverDescription attribute
47
+ ReceiverDescriptions {''} RS, RSM string R-dependent version of the attribute ReceiverDescription
34
48
  ReceiverPosition [0 0 0] m IC, RCI, RCM double
35
49
  ReceiverPosition:Type spherical m attribute Can be of any type enabling both spatially discrete and spatially continuous representations.
36
50
  ReceiverPosition:Units degree, degree, metre m attribute
@@ -49,6 +63,7 @@ SourceView:Type cartesian m attribute
49
63
  SourceView:Units metre m attribute
50
64
  GLOBAL:EmitterShortName attribute
51
65
  GLOBAL:EmitterDescription attribute
66
+ EmitterDescriptions {''} ES, ESM string E-dependent version of the attribute EmitterDescription
52
67
  EmitterPosition [0 0 0] m IC, ECI, ECM double Can be of any type enabling both spatially discrete and spatially continuous representations.
53
68
  EmitterPosition:Type spherical m attribute
54
69
  EmitterPosition:Units degree, degree, metre m attribute
@@ -60,9 +75,4 @@ Data.IR 0 m mrne double Impulse responses
60
75
  Data.SamplingRate 48000 m I, M double Sampling rate of the samples in Data.IR and Data.Delay
61
76
  Data.SamplingRate:Units hertz m attribute Unit of the sampling rate
62
77
  Data.Delay 0 m IRI, MRI, MRE double Additional delay of each IR (in samples)
63
- RoomCornerA [0 0 0] m IC, MC double
64
- RoomCornerB [1 2 3] m IC, MC double
65
- RoomCorners 0 II double The value of this attribute is to be ignored. It only exist to for RoomCorners:Type and RoomCorners:Units
66
- RoomCorners:Type cartesian m attribute
67
- RoomCorners:Units metre m attribute
68
- GLOBAL:DatabaseName m attribute Name of the database. Used for classification of the data.
78
+ MeasurementDate 0 M double Optional M-dependent date and time of the measurement.
@@ -7,7 +7,7 @@
7
7
  "comment": ""
8
8
  },
9
9
  "GLOBAL:Version": {
10
- "default": "2.0",
10
+ "default": "2.1",
11
11
  "flags": "rm",
12
12
  "dimensions": null,
13
13
  "type": "attribute",
@@ -118,33 +118,61 @@
118
118
  "type": "attribute",
119
119
  "comment": ""
120
120
  },
121
- "GLOBAL:RoomDescription": {
121
+ "GLOBAL:History": {
122
122
  "default": "",
123
123
  "flags": null,
124
124
  "dimensions": null,
125
125
  "type": "attribute",
126
- "comment": "narrative description of the room"
126
+ "comment": ""
127
127
  },
128
- "GLOBAL:History": {
128
+ "GLOBAL:References": {
129
129
  "default": "",
130
130
  "flags": null,
131
131
  "dimensions": null,
132
132
  "type": "attribute",
133
133
  "comment": ""
134
134
  },
135
- "GLOBAL:References": {
135
+ "GLOBAL:Origin": {
136
136
  "default": "",
137
137
  "flags": null,
138
138
  "dimensions": null,
139
139
  "type": "attribute",
140
140
  "comment": ""
141
141
  },
142
- "GLOBAL:Origin": {
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": {
143
150
  "default": "",
144
151
  "flags": null,
145
152
  "dimensions": null,
146
153
  "type": "attribute",
147
- "comment": ""
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."
148
176
  },
149
177
  "GLOBAL:ListenerShortName": {
150
178
  "default": "",
@@ -202,12 +230,76 @@
202
230
  "type": "attribute",
203
231
  "comment": ""
204
232
  },
205
- "GLOBAL:DatabaseName": {
206
- "default": "",
207
- "flags": "m",
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,
208
243
  "dimensions": null,
209
244
  "type": "attribute",
210
- "comment": "Name of the database. Used for classification of the data."
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": ""
211
303
  },
212
304
  "ListenerPosition": {
213
305
  "default": [
@@ -270,6 +362,15 @@
270
362
  "type": "attribute",
271
363
  "comment": ""
272
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
+ },
273
374
  "ReceiverPosition": {
274
375
  "default": [
275
376
  0,
@@ -392,6 +493,15 @@
392
493
  "type": "attribute",
393
494
  "comment": ""
394
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
+ },
395
505
  "EmitterPosition": {
396
506
  "default": [
397
507
  0,
@@ -453,48 +563,12 @@
453
563
  "type": "attribute",
454
564
  "comment": ""
455
565
  },
456
- "RoomCornerA": {
457
- "default": [
458
- 0,
459
- 0,
460
- 0
461
- ],
462
- "flags": "m",
463
- "dimensions": "IC, MC",
464
- "type": "double",
465
- "comment": ""
466
- },
467
- "RoomCornerB": {
468
- "default": [
469
- 1,
470
- 2,
471
- 3
472
- ],
473
- "flags": "m",
474
- "dimensions": "IC, MC",
475
- "type": "double",
476
- "comment": ""
477
- },
478
- "RoomCorners": {
566
+ "MeasurementDate": {
479
567
  "default": 0,
480
568
  "flags": null,
481
- "dimensions": "II",
569
+ "dimensions": "M",
482
570
  "type": "double",
483
- "comment": "The value of this attribute is to be ignored. It only exist to for RoomCorners:Type and RoomCorners:Units"
484
- },
485
- "RoomCorners:Type": {
486
- "default": "cartesian",
487
- "flags": "m",
488
- "dimensions": null,
489
- "type": "attribute",
490
- "comment": ""
491
- },
492
- "RoomCorners:Units": {
493
- "default": "metre",
494
- "flags": "m",
495
- "dimensions": null,
496
- "type": "attribute",
497
- "comment": ""
571
+ "comment": "Optional M-dependent date and time of the measurement."
498
572
  },
499
573
  "Data.IR": {
500
574
  "default": 0,