Web Audio playback with per-challenge gain and limiter
2 changed files+17−5
challenges/plate-strike-v1/README.mdmodified+1−1View file
@@ -97,7 +97,7 @@ The deliverable is a wav file with the following properties.
9797 | sample $k$, for $k = 0, \dots, N-1$ | $s(k / f_s) / s_\text{ref}$ |
9898 | $s_\text{ref}$ | see `output.signal_scale` in challenge.json (Pa) |
9999
100-The first sample is at $t = 0$, the onset of the strike. The signal is zero until the first sound arrives at the listener, about 1.46 ms after onset. Samples are pointwise values of the continuum signal, with no anti-aliasing filter; the Kelvin-Voigt term makes the content above the Nyquist frequency small after the first milliseconds. The scale $s_\text{ref}$ is a fixed constant chosen so that the peak sample magnitude is roughly 0.5. Do not normalize the signal; absolute amplitude is compared.
100+The first sample is at $t = 0$, the onset of the strike. The signal is zero until the first sound arrives at the listener, about 1.46 ms after onset. Samples are pointwise values of the continuum signal, with no anti-aliasing filter; the Kelvin-Voigt term makes the content above the Nyquist frequency small after the first milliseconds. The scale $s_\text{ref}$ is a fixed constant chosen so that the peak sample magnitude is roughly 0.5. Do not normalize the signal; absolute amplitude is compared. The signal has a large crest factor (a loud transient followed by a much quieter ring), so it sounds faint when played raw; `playback.gain_db` in challenge.json is a suggested listening gain, which the results sites apply at playback together with a limiter, and it is not part of the deliverable.
101101
102102 ## Error measures
103103
challenges/plate-strike-v1/challenge.jsonmodified+16−4View file
@@ -12,15 +12,19 @@
1212 "signal_unit": "Pa",
1313 "signal_scale": 2.6
1414 },
15+ "playback": {
16+ "gain_db": 36,
17+ "note": "Suggested playback gain for listening; presentation only, not part of the deliverable."
18+ },
1519 "parameters": {
1620 "Lx": 0.3048,
1721 "Ly": 0.3048,
1822 "h": 0.00104,
19- "E": 68.9e9,
23+ "E": 68900000000.0,
2024 "nu": 0.33,
2125 "rho": 2700.0,
2226 "sigma0": 2.3,
23- "eta": 5.0e-8,
27+ "eta": 5e-08,
2428 "strike_x": 0.09144,
2529 "strike_y": 0.10668,
2630 "strike_radius": 0.01,
@@ -45,8 +49,16 @@
4549 "format": "hdf5",
4650 "quantity": "normal displacement of the mid-plane, u_z(x, y, 0, t)",
4751 "units": "m",
48- "axes": ["t", "y", "x"],
49- "shape": [3001, 61, 61],
52+ "axes": [
53+ "t",
54+ "y",
55+ "x"
56+ ],
57+ "shape": [
58+ 3001,
59+ 61,
60+ 61
61+ ],
5062 "frame_rate_hz": 1000,
5163 "dtype": "float32"
5264 },