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
@@ -1,15 +1,15 @@
1
1
  Name Default Flags Dimensions Type Comment
2
2
  GLOBAL:Conventions SOFA rm attribute
3
- GLOBAL:Version 1.0 rm attribute
4
- GLOBAL:SOFAConventions GeneralFIR rm attribute This conventions stores IRs for general purposes, i.e., only the mandatory, SOFA general metadata are pre-defined
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 m attribute
12
- GLOBAL:DataType FIR rm attribute We store IRs here
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
- ReceiverPosition [0 0 0] m rCI, rCM double
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.IR 0 m mRn double Impulse responses
35
- Data.SamplingRate 48000 m I double Sampling rate of the samples in Data.IR and Data.Delay
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 Additional delay of each IR (in samples)
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.0",
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": "GeneralFIR",
17
+ "default": "GeneralSOS",
18
18
  "flags": "rm",
19
19
  "dimensions": null,
20
20
  "type": "attribute",
21
- "comment": "This conventions stores IRs for general purposes, i.e., only the mandatory, SOFA general metadata are pre-defined"
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": "m",
67
+ "flags": null,
68
68
  "dimensions": null,
69
69
  "type": "attribute",
70
70
  "comment": ""
71
71
  },
72
72
  "GLOBAL:DataType": {
73
- "default": "FIR",
73
+ "default": "SOS",
74
74
  "flags": "rm",
75
75
  "dimensions": null,
76
76
  "type": "attribute",
77
- "comment": "We store IRs here"
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": "rCI, rCM",
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
- "ListenerView": {
267
+ "Data.SOS": {
243
268
  "default": [
244
- 1,
245
- 0,
246
- 0
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": "mRn",
281
+ "dimensions": "mrn",
271
282
  "type": "double",
272
- "comment": "Impulse responses"
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 samples in Data.IR and Data.Delay"
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": "Additional delay of each IR (in samples)"
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.0 rm attribute
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 m attribute
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 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": "2.0",
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": "m",
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": null,
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
@@ -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",
@@ -1,6 +1,6 @@
1
1
  Name Default Flags Dimensions Type Comment
2
2
  GLOBAL:Conventions SOFA rm attribute
3
- GLOBAL:Version 1.0 rm attribute
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 m attribute
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 eCI, eCM double
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.0",
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": "m",
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": "eCI, eCM",
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
@@ -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",
@@ -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 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
@@ -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",
@@ -1,8 +1,8 @@
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 SimpleFreeFieldHRTF rm attribute This conventions is for HRTFs created under conditions where room information is irrelevant
5
- GLOBAL:SOFAConventionsVersion 2.0 rm attribute
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 attribute
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.0",
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": "2.0",
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": null,
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.0 rm attribute
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 m attribute
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 m attribute Narrative description of the listener (or mannequin)
41
- GLOBAL:SourceDescription m attribute Narrative description of the headphones
42
- GLOBAL:SourceManufacturer m attribute Name of the headphones manufacturer
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 m attribute Name of the headphone model. Must uniquely describe the headphones of the manufacturer
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 m attribute URI of the headphone specifications
46
+ GLOBAL:SourceURI attribute URI of the headphone specifications
47
47
  GLOBAL:ReceiverDescription m attribute Narrative description of the microphones
48
- ReceiverDescription {''} MS string Optional M-dependent version of the attribute ReceiverDescription
48
+ ReceiverDescriptions {''} MS string R-dependent version of the attribute ReceiverDescription
49
49
  GLOBAL:EmitterDescription m attribute Narrative description of the headphone drivers
50
- EmitterDescription {''} MS string Optional M-dependent version of the attribute EmitterDescription
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