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.
- sofar/__init__.py +13 -7
- sofar/io.py +423 -0
- sofar/sofa.py +1795 -0
- sofar/sofa_conventions/VERSION +1 -0
- sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.csv +59 -0
- sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.json +444 -0
- sofar/{conventions/source → sofa_conventions/conventions}/FreeFieldHRIR_1.0.csv +3 -3
- sofar/{conventions → sofa_conventions/conventions}/FreeFieldHRIR_1.0.json +3 -3
- sofar/{conventions/source → sofa_conventions/conventions}/FreeFieldHRTF_1.0.csv +2 -2
- sofar/{conventions → sofa_conventions/conventions}/FreeFieldHRTF_1.0.json +3 -3
- sofar/{conventions/source → sofa_conventions/conventions}/GeneralFIR-E_2.0.csv +2 -2
- sofar/{conventions → sofa_conventions/conventions}/GeneralFIR-E_2.0.json +2 -2
- sofar/{conventions/source/GeneralFIR_2.0.csv → sofa_conventions/conventions/GeneralFIR_1.0.csv} +2 -2
- sofar/{conventions/GeneralFIR_2.0.json → sofa_conventions/conventions/GeneralFIR_1.0.json} +2 -2
- sofar/{conventions/source/GeneralFIR_1.0.csv → sofa_conventions/conventions/GeneralSOS_1.0.csv} +11 -11
- sofar/{conventions/GeneralFIR_1.0.json → sofa_conventions/conventions/GeneralSOS_1.0.json} +48 -37
- sofar/{conventions/source → sofa_conventions/conventions}/GeneralTF-E_1.0.csv +3 -3
- sofar/{conventions → sofa_conventions/conventions}/GeneralTF-E_1.0.json +4 -4
- sofar/{conventions/source → sofa_conventions/conventions}/GeneralTF_1.0.csv +1 -1
- sofar/{conventions → sofa_conventions/conventions}/GeneralTF_1.0.json +1 -1
- sofar/{conventions/source → sofa_conventions/conventions}/GeneralTF_2.0.csv +4 -4
- sofar/{conventions → sofa_conventions/conventions}/GeneralTF_2.0.json +4 -4
- sofar/sofa_conventions/conventions/SimpleFreeFieldHRIR_1.0.csv +47 -0
- sofar/{conventions → sofa_conventions/conventions}/SimpleFreeFieldHRIR_1.0.json +1 -1
- sofar/{conventions/source → sofa_conventions/conventions}/SimpleFreeFieldHRSOS_1.0.csv +1 -1
- sofar/{conventions → sofa_conventions/conventions}/SimpleFreeFieldHRSOS_1.0.json +1 -1
- sofar/{conventions/source/SimpleFreeFieldHRTF_2.0.csv → sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.csv} +3 -3
- sofar/{conventions/SimpleFreeFieldHRTF_2.0.json → sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.json} +4 -4
- sofar/{conventions/source → sofa_conventions/conventions}/SimpleHeadphoneIR_1.0.csv +9 -9
- sofar/sofa_conventions/conventions/SimpleHeadphoneIR_1.0.json +396 -0
- sofar/{conventions/source → sofa_conventions/conventions}/SingleRoomMIMOSRIR_1.0.csv +18 -8
- sofar/{conventions → sofa_conventions/conventions}/SingleRoomMIMOSRIR_1.0.json +124 -50
- sofar/{conventions/source → sofa_conventions/conventions}/SingleRoomSRIR_1.0.csv +18 -8
- sofar/{conventions → sofa_conventions/conventions}/SingleRoomSRIR_1.0.json +124 -50
- sofar/{conventions/source → sofa_conventions/conventions/deprecated}/FreeFieldDirectivityTF_1.0.csv +2 -2
- sofar/{conventions → sofa_conventions/conventions/deprecated}/FreeFieldDirectivityTF_1.0.json +2 -2
- sofar/sofa_conventions/conventions/deprecated/MultiSpeakerBRIR_0.3.csv +48 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.csv +43 -0
- sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.json +333 -0
- sofar/{conventions/source/SimpleFreeFieldHRIR_1.0.csv → sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.csv} +15 -18
- 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/{conventions/SimpleHeadphoneIR_1.0.json → sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.json} +3 -3
- 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/rules/deprecations.json +12 -0
- sofar/sofa_conventions/rules/rules.json +800 -0
- sofar/sofa_conventions/rules/unit_aliases.json +11 -0
- sofar/sofa_conventions/rules/upgrade.json +190 -0
- sofar/update_conventions.py +427 -0
- sofar/utils.py +315 -0
- {sofar-0.3.1.dist-info → sofar-1.1.0.dist-info}/AUTHORS.rst +1 -0
- sofar-1.1.0.dist-info/METADATA +89 -0
- sofar-1.1.0.dist-info/RECORD +75 -0
- {sofar-0.3.1.dist-info → sofar-1.1.0.dist-info}/WHEEL +1 -1
- {sofar-0.3.1.dist-info → sofar-1.1.0.dist-info}/top_level.txt +1 -0
- tests/__init__.py +0 -0
- tests/test_deprecations.py +19 -0
- tests/test_io.py +344 -0
- tests/test_sofa.py +354 -0
- tests/test_sofa_upgrade_conventions.py +102 -0
- tests/test_sofa_verify.py +472 -0
- tests/test_utils.py +241 -0
- sofar/conventions/source/MultiSpeakerBRIR_0.3.csv +0 -48
- sofar/sofar.py +0 -2531
- sofar-0.3.1.dist-info/METADATA +0 -69
- sofar-0.3.1.dist-info/RECORD +0 -46
- /sofar/{conventions/source → sofa_conventions/conventions}/SimpleFreeFieldSOS_1.0.csv +0 -0
- /sofar/{conventions → sofa_conventions/conventions}/SimpleFreeFieldSOS_1.0.json +0 -0
- /sofar/{conventions/source → sofa_conventions/conventions/deprecated}/GeneralFIRE_1.0.csv +0 -0
- /sofar/{conventions → sofa_conventions/conventions/deprecated}/GeneralFIRE_1.0.json +0 -0
- /sofar/{conventions → sofa_conventions/conventions/deprecated}/MultiSpeakerBRIR_0.3.json +0 -0
- /sofar/{conventions/source → sofa_conventions/conventions/deprecated}/SingleRoomDRIR_0.3.csv +0 -0
- /sofar/{conventions → sofa_conventions/conventions/deprecated}/SingleRoomDRIR_0.3.json +0 -0
- {sofar-0.3.1.dist-info → sofar-1.1.0.dist-info}/LICENSE +0 -0
sofar/{conventions/source/GeneralFIR_1.0.csv → sofa_conventions/conventions/GeneralSOS_1.0.csv}
RENAMED
@@ -1,15 +1,15 @@
|
|
1
1
|
Name Default Flags Dimensions Type Comment
|
2
2
|
GLOBAL:Conventions SOFA rm attribute
|
3
|
-
GLOBAL:Version 1
|
4
|
-
GLOBAL:SOFAConventions
|
3
|
+
GLOBAL:Version 2.1 rm attribute
|
4
|
+
GLOBAL:SOFAConventions GeneralSOS rm attribute This conventions follows GeneralFIR but the data is stored as second-order section (SOS) coefficients.
|
5
5
|
GLOBAL:SOFAConventionsVersion 1.0 rm attribute
|
6
6
|
GLOBAL:APIName rm attribute
|
7
7
|
GLOBAL:APIVersion rm attribute
|
8
8
|
GLOBAL:ApplicationName attribute
|
9
9
|
GLOBAL:ApplicationVersion attribute
|
10
10
|
GLOBAL:AuthorContact m attribute
|
11
|
-
GLOBAL:Comment
|
12
|
-
GLOBAL:DataType
|
11
|
+
GLOBAL:Comment attribute
|
12
|
+
GLOBAL:DataType SOS rm attribute Filters described as second-order section (SOS) coefficients
|
13
13
|
GLOBAL:History attribute
|
14
14
|
GLOBAL:License No license provided, ask the author for permission m attribute
|
15
15
|
GLOBAL:Organization m attribute
|
@@ -22,7 +22,10 @@ GLOBAL:Title m attribute
|
|
22
22
|
ListenerPosition [0 0 0] m IC, MC double
|
23
23
|
ListenerPosition:Type cartesian m attribute
|
24
24
|
ListenerPosition:Units metre m attribute
|
25
|
-
|
25
|
+
ListenerView [1 0 0] IC, MC double
|
26
|
+
ListenerView:Type cartesian attribute
|
27
|
+
ListenerView:Units metre attribute
|
28
|
+
ReceiverPosition [0 0 0] m IC, RC, RCM double
|
26
29
|
ReceiverPosition:Type cartesian m attribute
|
27
30
|
ReceiverPosition:Units metre m attribute
|
28
31
|
SourcePosition [0 0 1] m IC, MC double In order to store different directions/positions around the listener, SourcePosition is assumed to vary
|
@@ -31,10 +34,7 @@ SourcePosition:Units degree, degree, metre m attribute
|
|
31
34
|
EmitterPosition [0 0 0] m eCI, eCM double
|
32
35
|
EmitterPosition:Type cartesian m attribute
|
33
36
|
EmitterPosition:Units metre m attribute
|
34
|
-
Data.
|
35
|
-
Data.SamplingRate 48000 m I double Sampling rate of the
|
37
|
+
Data.SOS permute([0 0 0 1 0 0], [3 1 2]); m mrn double Filter coefficients as SOS coefficients.
|
38
|
+
Data.SamplingRate 48000 m I, M double Sampling rate of the coefficients in Data.SOS and the delay in Data.Delay
|
36
39
|
Data.SamplingRate:Units hertz m attribute Unit of the sampling rate
|
37
|
-
Data.Delay 0 m IR, MR double
|
38
|
-
ListenerView [1 0 0] IC, MC double
|
39
|
-
ListenerView:Type cartesian attribute
|
40
|
-
ListenerView:Units metre attribute
|
40
|
+
Data.Delay 0 m IR, MR double Broadband delay (in samples resulting from SamplingRate)
|
@@ -7,18 +7,18 @@
|
|
7
7
|
"comment": ""
|
8
8
|
},
|
9
9
|
"GLOBAL:Version": {
|
10
|
-
"default": "1
|
10
|
+
"default": "2.1",
|
11
11
|
"flags": "rm",
|
12
12
|
"dimensions": null,
|
13
13
|
"type": "attribute",
|
14
14
|
"comment": ""
|
15
15
|
},
|
16
16
|
"GLOBAL:SOFAConventions": {
|
17
|
-
"default": "
|
17
|
+
"default": "GeneralSOS",
|
18
18
|
"flags": "rm",
|
19
19
|
"dimensions": null,
|
20
20
|
"type": "attribute",
|
21
|
-
"comment": "This conventions
|
21
|
+
"comment": "This conventions follows GeneralFIR but the data is stored as second-order section (SOS) coefficients."
|
22
22
|
},
|
23
23
|
"GLOBAL:SOFAConventionsVersion": {
|
24
24
|
"default": "1.0",
|
@@ -64,17 +64,17 @@
|
|
64
64
|
},
|
65
65
|
"GLOBAL:Comment": {
|
66
66
|
"default": "",
|
67
|
-
"flags":
|
67
|
+
"flags": null,
|
68
68
|
"dimensions": null,
|
69
69
|
"type": "attribute",
|
70
70
|
"comment": ""
|
71
71
|
},
|
72
72
|
"GLOBAL:DataType": {
|
73
|
-
"default": "
|
73
|
+
"default": "SOS",
|
74
74
|
"flags": "rm",
|
75
75
|
"dimensions": null,
|
76
76
|
"type": "attribute",
|
77
|
-
"comment": "
|
77
|
+
"comment": "Filters described as second-order section (SOS) coefficients"
|
78
78
|
},
|
79
79
|
"GLOBAL:History": {
|
80
80
|
"default": "",
|
@@ -164,6 +164,31 @@
|
|
164
164
|
"type": "attribute",
|
165
165
|
"comment": ""
|
166
166
|
},
|
167
|
+
"ListenerView": {
|
168
|
+
"default": [
|
169
|
+
1,
|
170
|
+
0,
|
171
|
+
0
|
172
|
+
],
|
173
|
+
"flags": null,
|
174
|
+
"dimensions": "IC, MC",
|
175
|
+
"type": "double",
|
176
|
+
"comment": ""
|
177
|
+
},
|
178
|
+
"ListenerView:Type": {
|
179
|
+
"default": "cartesian",
|
180
|
+
"flags": null,
|
181
|
+
"dimensions": null,
|
182
|
+
"type": "attribute",
|
183
|
+
"comment": ""
|
184
|
+
},
|
185
|
+
"ListenerView:Units": {
|
186
|
+
"default": "metre",
|
187
|
+
"flags": null,
|
188
|
+
"dimensions": null,
|
189
|
+
"type": "attribute",
|
190
|
+
"comment": ""
|
191
|
+
},
|
167
192
|
"ReceiverPosition": {
|
168
193
|
"default": [
|
169
194
|
0,
|
@@ -171,7 +196,7 @@
|
|
171
196
|
0
|
172
197
|
],
|
173
198
|
"flags": "m",
|
174
|
-
"dimensions": "
|
199
|
+
"dimensions": "IC, RC, RCM",
|
175
200
|
"type": "double",
|
176
201
|
"comment": ""
|
177
202
|
},
|
@@ -239,44 +264,30 @@
|
|
239
264
|
"type": "attribute",
|
240
265
|
"comment": ""
|
241
266
|
},
|
242
|
-
"
|
267
|
+
"Data.SOS": {
|
243
268
|
"default": [
|
244
|
-
|
245
|
-
|
246
|
-
|
269
|
+
[
|
270
|
+
[
|
271
|
+
0,
|
272
|
+
0,
|
273
|
+
0,
|
274
|
+
1,
|
275
|
+
0,
|
276
|
+
0
|
277
|
+
]
|
278
|
+
]
|
247
279
|
],
|
248
|
-
"flags": null,
|
249
|
-
"dimensions": "IC, MC",
|
250
|
-
"type": "double",
|
251
|
-
"comment": ""
|
252
|
-
},
|
253
|
-
"ListenerView:Type": {
|
254
|
-
"default": "cartesian",
|
255
|
-
"flags": null,
|
256
|
-
"dimensions": null,
|
257
|
-
"type": "attribute",
|
258
|
-
"comment": ""
|
259
|
-
},
|
260
|
-
"ListenerView:Units": {
|
261
|
-
"default": "metre",
|
262
|
-
"flags": null,
|
263
|
-
"dimensions": null,
|
264
|
-
"type": "attribute",
|
265
|
-
"comment": ""
|
266
|
-
},
|
267
|
-
"Data.IR": {
|
268
|
-
"default": 0,
|
269
280
|
"flags": "m",
|
270
|
-
"dimensions": "
|
281
|
+
"dimensions": "mrn",
|
271
282
|
"type": "double",
|
272
|
-
"comment": "
|
283
|
+
"comment": "Filter coefficients as SOS coefficients."
|
273
284
|
},
|
274
285
|
"Data.SamplingRate": {
|
275
286
|
"default": 48000,
|
276
287
|
"flags": "m",
|
277
|
-
"dimensions": "I",
|
288
|
+
"dimensions": "I, M",
|
278
289
|
"type": "double",
|
279
|
-
"comment": "Sampling rate of the
|
290
|
+
"comment": "Sampling rate of the coefficients in Data.SOS and the delay in Data.Delay"
|
280
291
|
},
|
281
292
|
"Data.SamplingRate:Units": {
|
282
293
|
"default": "hertz",
|
@@ -290,6 +301,6 @@
|
|
290
301
|
"flags": "m",
|
291
302
|
"dimensions": "IR, MR",
|
292
303
|
"type": "double",
|
293
|
-
"comment": "
|
304
|
+
"comment": "Broadband delay (in samples resulting from SamplingRate)"
|
294
305
|
}
|
295
306
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Name Default Flags Dimensions Type Comment
|
2
2
|
GLOBAL:Conventions SOFA rm attribute
|
3
|
-
GLOBAL:Version 2.
|
3
|
+
GLOBAL:Version 2.1 rm attribute
|
4
4
|
GLOBAL:SOFAConventions GeneralTF-E rm attribute This conventions stores TFs depending in the Emiiter for general purposes, i.e., only the mandatory, SOFA general metadata are pre-defined. This convention is based on GeneralTF
|
5
5
|
GLOBAL:SOFAConventionsVersion 1.0 rm attribute
|
6
6
|
GLOBAL:APIName rm attribute
|
@@ -8,7 +8,7 @@ GLOBAL:APIVersion rm attribute
|
|
8
8
|
GLOBAL:ApplicationName attribute
|
9
9
|
GLOBAL:ApplicationVersion attribute
|
10
10
|
GLOBAL:AuthorContact m attribute
|
11
|
-
GLOBAL:Comment
|
11
|
+
GLOBAL:Comment attribute
|
12
12
|
GLOBAL:DataType TF-E rm attribute We store frequency-dependent data depending on the emitter here
|
13
13
|
GLOBAL:History attribute
|
14
14
|
GLOBAL:License No license provided, ask the author for permission m attribute
|
@@ -34,5 +34,5 @@ EmitterPosition:Units metre m attribute
|
|
34
34
|
Data.Real 0 m mrne double The real part of the complex spectrum
|
35
35
|
Data.Imag 0 m MRNE double The imaginary part of the complex spectrum
|
36
36
|
N 0 m N double Frequency values
|
37
|
-
N:LongName frequency
|
37
|
+
N:LongName frequency m attribute narrative name of N
|
38
38
|
N:Units hertz m attribute Unit of the values given in N
|
@@ -7,7 +7,7 @@
|
|
7
7
|
"comment": ""
|
8
8
|
},
|
9
9
|
"GLOBAL:Version": {
|
10
|
-
"default": "2.
|
10
|
+
"default": "2.1",
|
11
11
|
"flags": "rm",
|
12
12
|
"dimensions": null,
|
13
13
|
"type": "attribute",
|
@@ -64,7 +64,7 @@
|
|
64
64
|
},
|
65
65
|
"GLOBAL:Comment": {
|
66
66
|
"default": "",
|
67
|
-
"flags":
|
67
|
+
"flags": null,
|
68
68
|
"dimensions": null,
|
69
69
|
"type": "attribute",
|
70
70
|
"comment": ""
|
@@ -248,10 +248,10 @@
|
|
248
248
|
},
|
249
249
|
"N:LongName": {
|
250
250
|
"default": "frequency",
|
251
|
-
"flags":
|
251
|
+
"flags": "m",
|
252
252
|
"dimensions": null,
|
253
253
|
"type": "attribute",
|
254
|
-
"comment": ""
|
254
|
+
"comment": "narrative name of N"
|
255
255
|
},
|
256
256
|
"N:Units": {
|
257
257
|
"default": "hertz",
|
@@ -34,5 +34,5 @@ EmitterPosition:Units metre m attribute
|
|
34
34
|
Data.Real 0 m mRn double The real part of the complex spectrum
|
35
35
|
Data.Imag 0 m MRN double The imaginary part of the complex spectrum
|
36
36
|
N 0 m N double Frequency values
|
37
|
-
N:LongName frequency m attribute
|
37
|
+
N:LongName frequency m attribute narrative name of N
|
38
38
|
N:Units hertz m attribute Unit of the values given in N
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Name Default Flags Dimensions Type Comment
|
2
2
|
GLOBAL:Conventions SOFA rm attribute
|
3
|
-
GLOBAL:Version 1
|
3
|
+
GLOBAL:Version 2.1 rm attribute
|
4
4
|
GLOBAL:SOFAConventions GeneralTF rm attribute This conventions stores TFs for general purposes, i.e., only the mandatory, SOFA general metadata are pre-defined. This convention is based on GeneralFIR.
|
5
5
|
GLOBAL:SOFAConventionsVersion 2.0 rm attribute
|
6
6
|
GLOBAL:APIName rm attribute
|
@@ -8,7 +8,7 @@ GLOBAL:APIVersion rm attribute
|
|
8
8
|
GLOBAL:ApplicationName attribute
|
9
9
|
GLOBAL:ApplicationVersion attribute
|
10
10
|
GLOBAL:AuthorContact m attribute
|
11
|
-
GLOBAL:Comment
|
11
|
+
GLOBAL:Comment attribute
|
12
12
|
GLOBAL:DataType TF rm attribute We store frequency-dependent data here
|
13
13
|
GLOBAL:History attribute
|
14
14
|
GLOBAL:License No license provided, ask the author for permission m attribute
|
@@ -28,11 +28,11 @@ ReceiverPosition:Units metre m attribute
|
|
28
28
|
SourcePosition [0 0 1] m IC, MC double In order to store different directions/positions around the listener, SourcePosition is assumed to vary
|
29
29
|
SourcePosition:Type spherical m attribute
|
30
30
|
SourcePosition:Units degree, degree, metre m attribute
|
31
|
-
EmitterPosition [0 0 0] m
|
31
|
+
EmitterPosition [0 0 0] m eC, eCM double
|
32
32
|
EmitterPosition:Type cartesian m attribute
|
33
33
|
EmitterPosition:Units metre m attribute
|
34
34
|
Data.Real 0 m mrn double The real part of the complex spectrum
|
35
35
|
Data.Imag 0 m MRN double The imaginary part of the complex spectrum
|
36
36
|
N 0 m N double Frequency values
|
37
|
-
N:LongName frequency m attribute
|
37
|
+
N:LongName frequency m attribute narrative name of N
|
38
38
|
N:Units hertz m attribute Unit of the values given in N
|
@@ -7,7 +7,7 @@
|
|
7
7
|
"comment": ""
|
8
8
|
},
|
9
9
|
"GLOBAL:Version": {
|
10
|
-
"default": "1
|
10
|
+
"default": "2.1",
|
11
11
|
"flags": "rm",
|
12
12
|
"dimensions": null,
|
13
13
|
"type": "attribute",
|
@@ -64,7 +64,7 @@
|
|
64
64
|
},
|
65
65
|
"GLOBAL:Comment": {
|
66
66
|
"default": "",
|
67
|
-
"flags":
|
67
|
+
"flags": null,
|
68
68
|
"dimensions": null,
|
69
69
|
"type": "attribute",
|
70
70
|
"comment": ""
|
@@ -221,7 +221,7 @@
|
|
221
221
|
0
|
222
222
|
],
|
223
223
|
"flags": "m",
|
224
|
-
"dimensions": "
|
224
|
+
"dimensions": "eC, eCM",
|
225
225
|
"type": "double",
|
226
226
|
"comment": ""
|
227
227
|
},
|
@@ -251,7 +251,7 @@
|
|
251
251
|
"flags": "m",
|
252
252
|
"dimensions": null,
|
253
253
|
"type": "attribute",
|
254
|
-
"comment": ""
|
254
|
+
"comment": "narrative name of N"
|
255
255
|
},
|
256
256
|
"N:Units": {
|
257
257
|
"default": "hertz",
|
@@ -0,0 +1,47 @@
|
|
1
|
+
Name Default Flags Dimensions Type Comment
|
2
|
+
GLOBAL:Conventions SOFA rm attribute
|
3
|
+
GLOBAL:Version 2.1 rm attribute
|
4
|
+
GLOBAL:SOFAConventions SimpleFreeFieldHRIR rm attribute This convention set is for HRIRs recorded under free-field conditions or other IRs created under conditions where room information is irrelevant
|
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 attribute
|
12
|
+
GLOBAL:DataType FIR 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
|
23
|
+
ListenerPosition:Type cartesian m attribute
|
24
|
+
ListenerPosition:Units metre m attribute
|
25
|
+
ReceiverPosition [0 0.09 0; 0 -0.09 0] m rCI, rCM double
|
26
|
+
ReceiverPosition:Type cartesian m attribute
|
27
|
+
ReceiverPosition:Units metre m attribute
|
28
|
+
SourcePosition [0 0 1] m IC, MC double Source position is assumed to vary for different directions/positions around the listener
|
29
|
+
SourcePosition:Type spherical m attribute
|
30
|
+
SourcePosition:Units degree, degree, metre m attribute
|
31
|
+
EmitterPosition [0 0 0] m eCI, eCM double
|
32
|
+
EmitterPosition:Type cartesian m attribute
|
33
|
+
EmitterPosition:Units metre m attribute
|
34
|
+
GLOBAL:DatabaseName m attribute name of the database to which these data belong
|
35
|
+
GLOBAL:ListenerShortName m attribute ID of the subject from the database
|
36
|
+
ListenerUp [0 0 1] m IC, MC double
|
37
|
+
ListenerView [1 0 0] m IC, MC double
|
38
|
+
ListenerView:Type cartesian m attribute
|
39
|
+
ListenerView:Units metre m attribute
|
40
|
+
Data.IR [0 0] m mRn double
|
41
|
+
Data.SamplingRate 48000 m I, M double
|
42
|
+
Data.SamplingRate:Units hertz m attribute
|
43
|
+
Data.Delay [0 0] m IR, MR double
|
44
|
+
SourceUp [0 0 1] IC, MC double
|
45
|
+
SourceView [1 0 0] IC, MC double
|
46
|
+
SourceView:Type cartesian attribute
|
47
|
+
SourceView:Units metre attribute
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Name Default Flags Dimensions Type Comment
|
2
2
|
GLOBAL:Conventions SOFA rm attribute
|
3
|
-
GLOBAL:Version 2.
|
3
|
+
GLOBAL:Version 2.1 rm attribute
|
4
4
|
GLOBAL:SOFAConventions SimpleFreeFieldHRSOS rm attribute This convention set follows SimpleFreeFieldHRIR but the data is stored as second-order section (SOS) coefficients.
|
5
5
|
GLOBAL:SOFAConventionsVersion 1.0 rm attribute
|
6
6
|
GLOBAL:APIName rm attribute
|
@@ -1,8 +1,8 @@
|
|
1
1
|
Name Default Flags Dimensions Type Comment
|
2
2
|
GLOBAL:Conventions SOFA rm attribute
|
3
|
-
GLOBAL:Version 2.
|
3
|
+
GLOBAL:Version 2.1 rm attribute
|
4
4
|
GLOBAL:SOFAConventions SimpleFreeFieldHRTF rm attribute This conventions is for HRTFs created under conditions where room information is irrelevant
|
5
|
-
GLOBAL:SOFAConventionsVersion
|
5
|
+
GLOBAL:SOFAConventionsVersion 1.0 rm attribute
|
6
6
|
GLOBAL:APIName rm attribute
|
7
7
|
GLOBAL:APIVersion rm attribute
|
8
8
|
GLOBAL:ApplicationName attribute
|
@@ -40,5 +40,5 @@ ListenerView:Units metre m attribute
|
|
40
40
|
Data.Real [0 0] m mRn double
|
41
41
|
Data.Imag [0 0] m MRN double
|
42
42
|
N 0 m N double
|
43
|
-
N:LongName frequency
|
43
|
+
N:LongName frequency m attribute narrative name of N
|
44
44
|
N:Units hertz m attribute
|
@@ -7,7 +7,7 @@
|
|
7
7
|
"comment": ""
|
8
8
|
},
|
9
9
|
"GLOBAL:Version": {
|
10
|
-
"default": "2.
|
10
|
+
"default": "2.1",
|
11
11
|
"flags": "rm",
|
12
12
|
"dimensions": null,
|
13
13
|
"type": "attribute",
|
@@ -21,7 +21,7 @@
|
|
21
21
|
"comment": "This conventions is for HRTFs created under conditions where room information is irrelevant"
|
22
22
|
},
|
23
23
|
"GLOBAL:SOFAConventionsVersion": {
|
24
|
-
"default": "
|
24
|
+
"default": "1.0",
|
25
25
|
"flags": "rm",
|
26
26
|
"dimensions": null,
|
27
27
|
"type": "attribute",
|
@@ -305,10 +305,10 @@
|
|
305
305
|
},
|
306
306
|
"N:LongName": {
|
307
307
|
"default": "frequency",
|
308
|
-
"flags":
|
308
|
+
"flags": "m",
|
309
309
|
"dimensions": null,
|
310
310
|
"type": "attribute",
|
311
|
-
"comment": ""
|
311
|
+
"comment": "narrative name of N"
|
312
312
|
},
|
313
313
|
"N:Units": {
|
314
314
|
"default": "hertz",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Name Default Flags Dimensions Type Comment
|
2
2
|
GLOBAL:Conventions SOFA rm attribute
|
3
|
-
GLOBAL:Version 2.
|
3
|
+
GLOBAL:Version 2.1 rm attribute
|
4
4
|
GLOBAL:SOFAConventions SimpleHeadphoneIR rm attribute 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.
|
5
5
|
GLOBAL:SOFAConventionsVersion 1.0 rm attribute
|
6
6
|
GLOBAL:APIName rm attribute
|
@@ -8,7 +8,7 @@ GLOBAL:APIVersion rm attribute
|
|
8
8
|
GLOBAL:ApplicationName attribute
|
9
9
|
GLOBAL:ApplicationVersion attribute
|
10
10
|
GLOBAL:AuthorContact m attribute
|
11
|
-
GLOBAL:Comment
|
11
|
+
GLOBAL:Comment attribute
|
12
12
|
GLOBAL:DataType FIR rm attribute We will store IRs here
|
13
13
|
GLOBAL:History attribute
|
14
14
|
GLOBAL:License No license provided, ask the author for permission m attribute
|
@@ -37,15 +37,15 @@ Data.SamplingRate:Units hertz m attribute
|
|
37
37
|
Data.Delay [0 0] m IR, MR double
|
38
38
|
GLOBAL:DatabaseName m attribute Correspondence to a database
|
39
39
|
GLOBAL:ListenerShortName m attribute Correspondence to a subject from the database
|
40
|
-
GLOBAL:ListenerDescription
|
41
|
-
GLOBAL:SourceDescription
|
42
|
-
GLOBAL:SourceManufacturer
|
40
|
+
GLOBAL:ListenerDescription attribute Narrative description of the listener (or mannequin)
|
41
|
+
GLOBAL:SourceDescription attribute Narrative description of the headphones
|
42
|
+
GLOBAL:SourceManufacturer attribute Name of the headphones manufacturer
|
43
43
|
SourceManufacturer {''} MS string Optional M-dependent version of the attribute SourceManufucturer
|
44
|
-
GLOBAL:SourceModel
|
44
|
+
GLOBAL:SourceModel attribute Name of the headphone model. Must uniquely describe the headphones of the manufacturer
|
45
45
|
SourceModel {''} MS string Optional M-dependent version of the attribute SourceModel
|
46
|
-
GLOBAL:SourceURI
|
46
|
+
GLOBAL:SourceURI attribute URI of the headphone specifications
|
47
47
|
GLOBAL:ReceiverDescription m attribute Narrative description of the microphones
|
48
|
-
|
48
|
+
ReceiverDescriptions {''} MS string R-dependent version of the attribute ReceiverDescription
|
49
49
|
GLOBAL:EmitterDescription m attribute Narrative description of the headphone drivers
|
50
|
-
|
50
|
+
EmitterDescriptions {''} MS string E-dependent version of the attribute EmitterDescription
|
51
51
|
MeasurementDate 0 M double Optional M-dependent date and time of the measurement
|