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,437 @@
|
|
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": "FreeFieldDirectivityTF",
|
18
|
+
"flags": "rm",
|
19
|
+
"dimensions": null,
|
20
|
+
"type": "attribute",
|
21
|
+
"comment": "This conventions stores directivities of acoustic sources (instruments, loudspeakers, singers, talkers, etc) in the frequency domain for multiple musical notes in free field."
|
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": "TF",
|
32
|
+
"flags": "rm",
|
33
|
+
"dimensions": null,
|
34
|
+
"type": "attribute",
|
35
|
+
"comment": "We store frequency-dependent data here"
|
36
|
+
},
|
37
|
+
"GLOBAL:RoomType": {
|
38
|
+
"default": "free field",
|
39
|
+
"flags": "m",
|
40
|
+
"dimensions": null,
|
41
|
+
"type": "attribute",
|
42
|
+
"comment": "The room information can be arbitrary, but the spatial setup assumes free field."
|
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": "m",
|
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:Musician": {
|
150
|
+
"default": "",
|
151
|
+
"flags": null,
|
152
|
+
"dimensions": null,
|
153
|
+
"type": "attribute",
|
154
|
+
"comment": "Narrative description of the musician such as position, behavior, or personal data if not data-protected, e.g., 'Christiane Schmidt sitting on the chair', or 'artificial excitation by R2D2'."
|
155
|
+
},
|
156
|
+
"GLOBAL:Description": {
|
157
|
+
"default": "",
|
158
|
+
"flags": null,
|
159
|
+
"dimensions": null,
|
160
|
+
"type": "attribute",
|
161
|
+
"comment": "Narrative description of a measurement. For musical instruments/singers, the note (C1, D1, etc) or the dynamic (pp., ff., etc), or the string played, the playing style (pizzicato, legato, etc.), or the type of excitation (e.g., hit location of a cymbal). For loudspeakers, the system and driver units."
|
162
|
+
},
|
163
|
+
"GLOBAL:SourceType": {
|
164
|
+
"default": "",
|
165
|
+
"flags": "m",
|
166
|
+
"dimensions": null,
|
167
|
+
"type": "attribute",
|
168
|
+
"comment": "Narrative description of the acoustic source, e.g., 'Violin', 'Female singer', or '2-way loudspeaker'"
|
169
|
+
},
|
170
|
+
"GLOBAL:SourceManufacturer": {
|
171
|
+
"default": "",
|
172
|
+
"flags": "m",
|
173
|
+
"dimensions": null,
|
174
|
+
"type": "attribute",
|
175
|
+
"comment": "Narrative description of the manufacturer of the source, e.g., 'Stradivari, Lady Blunt, 1721' or 'LoudspeakerCompany'"
|
176
|
+
},
|
177
|
+
"ListenerPosition": {
|
178
|
+
"default": [
|
179
|
+
0,
|
180
|
+
0,
|
181
|
+
0
|
182
|
+
],
|
183
|
+
"flags": "m",
|
184
|
+
"dimensions": "IC, MC",
|
185
|
+
"type": "double",
|
186
|
+
"comment": "Position of the microphone array during the measurements."
|
187
|
+
},
|
188
|
+
"ListenerPosition:Type": {
|
189
|
+
"default": "cartesian",
|
190
|
+
"flags": "m",
|
191
|
+
"dimensions": null,
|
192
|
+
"type": "attribute",
|
193
|
+
"comment": ""
|
194
|
+
},
|
195
|
+
"ListenerPosition:Units": {
|
196
|
+
"default": "metre",
|
197
|
+
"flags": "m",
|
198
|
+
"dimensions": null,
|
199
|
+
"type": "attribute",
|
200
|
+
"comment": ""
|
201
|
+
},
|
202
|
+
"ListenerView": {
|
203
|
+
"default": [
|
204
|
+
1,
|
205
|
+
0,
|
206
|
+
0
|
207
|
+
],
|
208
|
+
"flags": "m",
|
209
|
+
"dimensions": "IC, MC",
|
210
|
+
"type": "double",
|
211
|
+
"comment": "Orientation of the microphone array"
|
212
|
+
},
|
213
|
+
"ListenerView:Type": {
|
214
|
+
"default": "cartesian",
|
215
|
+
"flags": "m",
|
216
|
+
"dimensions": null,
|
217
|
+
"type": "attribute",
|
218
|
+
"comment": ""
|
219
|
+
},
|
220
|
+
"ListenerView:Units": {
|
221
|
+
"default": "metre",
|
222
|
+
"flags": "m",
|
223
|
+
"dimensions": null,
|
224
|
+
"type": "attribute",
|
225
|
+
"comment": ""
|
226
|
+
},
|
227
|
+
"ListenerUp": {
|
228
|
+
"default": [
|
229
|
+
0,
|
230
|
+
0,
|
231
|
+
1
|
232
|
+
],
|
233
|
+
"flags": "m",
|
234
|
+
"dimensions": "IC, MC",
|
235
|
+
"type": "double",
|
236
|
+
"comment": "Up vector of the microphone array"
|
237
|
+
},
|
238
|
+
"ReceiverPosition": {
|
239
|
+
"default": [
|
240
|
+
0,
|
241
|
+
0,
|
242
|
+
1
|
243
|
+
],
|
244
|
+
"flags": "m",
|
245
|
+
"dimensions": "IC, RC, RCM",
|
246
|
+
"type": "double",
|
247
|
+
"comment": "Positions of the microphones during the measurements (relative to the Listener)"
|
248
|
+
},
|
249
|
+
"ReceiverPosition:Type": {
|
250
|
+
"default": "spherical",
|
251
|
+
"flags": "m",
|
252
|
+
"dimensions": null,
|
253
|
+
"type": "attribute",
|
254
|
+
"comment": ""
|
255
|
+
},
|
256
|
+
"ReceiverPosition:Units": {
|
257
|
+
"default": "degree, degree, metre",
|
258
|
+
"flags": "m",
|
259
|
+
"dimensions": null,
|
260
|
+
"type": "attribute",
|
261
|
+
"comment": ""
|
262
|
+
},
|
263
|
+
"SourcePosition": {
|
264
|
+
"default": [
|
265
|
+
0,
|
266
|
+
0,
|
267
|
+
0
|
268
|
+
],
|
269
|
+
"flags": "m",
|
270
|
+
"dimensions": "IC, MC",
|
271
|
+
"type": "double",
|
272
|
+
"comment": "Position of the acoustic source (instrument)"
|
273
|
+
},
|
274
|
+
"SourcePosition:Type": {
|
275
|
+
"default": "cartesian",
|
276
|
+
"flags": "m",
|
277
|
+
"dimensions": null,
|
278
|
+
"type": "attribute",
|
279
|
+
"comment": ""
|
280
|
+
},
|
281
|
+
"SourcePosition:Units": {
|
282
|
+
"default": "metre",
|
283
|
+
"flags": "m",
|
284
|
+
"dimensions": null,
|
285
|
+
"type": "attribute",
|
286
|
+
"comment": ""
|
287
|
+
},
|
288
|
+
"SourcePosition:Reference": {
|
289
|
+
"default": "",
|
290
|
+
"flags": "m",
|
291
|
+
"dimensions": null,
|
292
|
+
"type": "attribute",
|
293
|
+
"comment": "Narrative description of the spatial reference of the source position, e.g., for the trumpet, 'The bell'. Mandatory in order to provide a reference across different instruments"
|
294
|
+
},
|
295
|
+
"SourceView": {
|
296
|
+
"default": [
|
297
|
+
1,
|
298
|
+
0,
|
299
|
+
0
|
300
|
+
],
|
301
|
+
"flags": "m",
|
302
|
+
"dimensions": "IC, MC",
|
303
|
+
"type": "double",
|
304
|
+
"comment": "Orientation of the acoustic source (instrument)"
|
305
|
+
},
|
306
|
+
"SourceView:Type": {
|
307
|
+
"default": "cartesian",
|
308
|
+
"flags": "m",
|
309
|
+
"dimensions": null,
|
310
|
+
"type": "attribute",
|
311
|
+
"comment": ""
|
312
|
+
},
|
313
|
+
"SourceView:Units": {
|
314
|
+
"default": "metre",
|
315
|
+
"flags": "m",
|
316
|
+
"dimensions": null,
|
317
|
+
"type": "attribute",
|
318
|
+
"comment": ""
|
319
|
+
},
|
320
|
+
"SourceView:Reference": {
|
321
|
+
"default": "",
|
322
|
+
"flags": "m",
|
323
|
+
"dimensions": null,
|
324
|
+
"type": "attribute",
|
325
|
+
"comment": "Narrative description of the spatial reference of the source view, e.g., for the trumpet, 'Viewing direction of the bell'. Mandatory in order to provide a reference across different instruments"
|
326
|
+
},
|
327
|
+
"SourceUp": {
|
328
|
+
"default": [
|
329
|
+
0,
|
330
|
+
0,
|
331
|
+
1
|
332
|
+
],
|
333
|
+
"flags": "m",
|
334
|
+
"dimensions": "IC, MC",
|
335
|
+
"type": "double",
|
336
|
+
"comment": "Up vector of the acoustic source (instrument)"
|
337
|
+
},
|
338
|
+
"SourceUp:Reference": {
|
339
|
+
"default": "",
|
340
|
+
"flags": "m",
|
341
|
+
"dimensions": null,
|
342
|
+
"type": "attribute",
|
343
|
+
"comment": "Narrative description of the spatial reference of the source up, e.g., for the trumpet, 'Along the keys, keys up'. Mandatory in order to provide a reference across different instruments"
|
344
|
+
},
|
345
|
+
"EmitterPosition": {
|
346
|
+
"default": [
|
347
|
+
0,
|
348
|
+
0,
|
349
|
+
0
|
350
|
+
],
|
351
|
+
"flags": "m",
|
352
|
+
"dimensions": "IC, MC",
|
353
|
+
"type": "double",
|
354
|
+
"comment": "A more detailed structure of the Source. In a simple settings, a single Emitter is considered that is collocated with the source."
|
355
|
+
},
|
356
|
+
"EmitterPosition:Type": {
|
357
|
+
"default": "cartesian",
|
358
|
+
"flags": "m",
|
359
|
+
"dimensions": null,
|
360
|
+
"type": "attribute",
|
361
|
+
"comment": ""
|
362
|
+
},
|
363
|
+
"EmitterPosition:Units": {
|
364
|
+
"default": "metre",
|
365
|
+
"flags": "m",
|
366
|
+
"dimensions": null,
|
367
|
+
"type": "attribute",
|
368
|
+
"comment": ""
|
369
|
+
},
|
370
|
+
"EmitterDescription": {
|
371
|
+
"default": [
|
372
|
+
""
|
373
|
+
],
|
374
|
+
"flags": null,
|
375
|
+
"dimensions": "IS, MS",
|
376
|
+
"type": "string",
|
377
|
+
"comment": "A more detailed structure of the source. In a simple setting, a single Emitter is considered that is collocated with the source. In a more complicated setting, this may be the strings of a violin or the units of a loudspeaker."
|
378
|
+
},
|
379
|
+
"MIDINote": {
|
380
|
+
"default": 0,
|
381
|
+
"flags": null,
|
382
|
+
"dimensions": "I, M",
|
383
|
+
"type": "double",
|
384
|
+
"comment": "Defines the note played by the source during the measurement. The note is specified a MIDI note by the [https://www.midi.org/specifications-old/item/the-midi-1-0-specification MIDI specifications, version 1.0]. Not mandatory, but recommended for tonal instruments."
|
385
|
+
},
|
386
|
+
"Description": {
|
387
|
+
"default": [
|
388
|
+
""
|
389
|
+
],
|
390
|
+
"flags": null,
|
391
|
+
"dimensions": "MS",
|
392
|
+
"type": "string",
|
393
|
+
"comment": "This variable is used when the description varies with M."
|
394
|
+
},
|
395
|
+
"SourceTuningFrequency": {
|
396
|
+
"default": 440,
|
397
|
+
"flags": null,
|
398
|
+
"dimensions": "I, M",
|
399
|
+
"type": "double",
|
400
|
+
"comment": "Frequency (in hertz) to which a musical instrument is tuned to corresponding to the note A4 (MIDINote=69). Recommended for tonal instruments."
|
401
|
+
},
|
402
|
+
"N": {
|
403
|
+
"default": 0,
|
404
|
+
"flags": "m",
|
405
|
+
"dimensions": "N",
|
406
|
+
"type": "double",
|
407
|
+
"comment": "Frequency values"
|
408
|
+
},
|
409
|
+
"N:LongName": {
|
410
|
+
"default": "frequency",
|
411
|
+
"flags": "m",
|
412
|
+
"dimensions": null,
|
413
|
+
"type": "attribute",
|
414
|
+
"comment": ""
|
415
|
+
},
|
416
|
+
"N:Units": {
|
417
|
+
"default": "hertz",
|
418
|
+
"flags": "m",
|
419
|
+
"dimensions": null,
|
420
|
+
"type": "attribute",
|
421
|
+
"comment": "Units used for N"
|
422
|
+
},
|
423
|
+
"Data.Real": {
|
424
|
+
"default": 0,
|
425
|
+
"flags": "m",
|
426
|
+
"dimensions": "mrn",
|
427
|
+
"type": "double",
|
428
|
+
"comment": "Real part of the complex spectrum. The default value 0 indicates that all data fields are initialized with zero values."
|
429
|
+
},
|
430
|
+
"Data.Imag": {
|
431
|
+
"default": 0,
|
432
|
+
"flags": "m",
|
433
|
+
"dimensions": "MRN",
|
434
|
+
"type": "double",
|
435
|
+
"comment": "Imaginary part of the complex spectrum"
|
436
|
+
}
|
437
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
Name Default Flags Dimensions Type Comment
|
2
|
+
GLOBAL:Conventions SOFA rm attribute
|
3
|
+
GLOBAL:Version 1.0 rm attribute
|
4
|
+
GLOBAL:SOFAConventions GeneralFIRE rm attribute This conventions stores IRs for general purposes, i.e., only the mandatory, SOFA general metadata are pre-defined
|
5
|
+
GLOBAL:SOFAConventionsVersion 1.0 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 free field m attribute The room information can be arbitrary
|
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 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
|
+
Data.IR 0 m mREn double Impulse responses
|
35
|
+
Data.SamplingRate 48000 m I double Sampling rate of the samples in Data.IR and Data.Delay
|
36
|
+
Data.SamplingRate:Units hertz m attribute Unit of the sampling rate
|
37
|
+
Data.Delay 0 m IRE, MRE double Additional delay of each IR (in samples)
|