/ proof-of-concept / steelsim21
Sign in
proof-of-concept / steelsim21
steelsim21 / docs / gallery / manifest.json
463 lines · 14.0 KBCodeBlameHistory
2 "title": "Steel sheet gong: how the parameters shape the sound",
c6329fbGallery at the app's default 8 mm gridJeremy Magland 3 "intro": "Each section varies one property of the simulated sheet or of the excitation while everything else stays at the simulator defaults: a 12 by 18 inch, 22 gauge (0.79 mm) stainless steel sheet hanging in portrait orientation with a 3 mm bow across its width, heard 1 m in front of its center, recorded for 4 s. The clips are computed with the simulator's default numerical settings (8 mm grid), so the 'Open in simulator' links reproduce them exactly. Click a player to hear a clip. Every clip is rendered at the simulator's default playback level (+20 dB relative to 1 Pa at full scale, with the same soft clipper), so loudness differences within and between sections are the ones the model predicts, and a clip sounds as it does in the app. The numbers under each clip are the peak pressure and sound pressure level at the listener, the RMS pressure over the clip, the spectral centroid of the sound between 0.2 and 1.2 s (a measure of brightness), and fitted 60 dB decay times of a low and a high band.",
5 {
6 "id": "strike-speed",
7 "title": "Drumstick: stick speed",
8 "text": "A wooden stick tip (30 g effective mass) strikes the sheet at 70 percent of its width and 35 percent of its height. Speed sets both the loudness and the character: the contact force grows with speed, the contact shortens, and more energy reaches the high modes. The sound grows brighter as well as louder.",
9 "base": {
10 "excitation": "strike"
11 },
12 "param": "strikeVelocity",
13 "unit": "m/s",
14 "values": [
15 0.5,
16 1,
17 2,
18 3,
19 4.5,
20 6
21 ]
22 },
23 {
24 "id": "strike-mass",
25 "title": "Drumstick: stick mass",
26 "text": "The same speed with a lighter or heavier stick. A heavier stick carries more momentum, stays in contact longer, and pushes the sheet further, which favours the low modes; a light stick gives a short, bright tap.",
27 "base": {
28 "excitation": "strike"
29 },
30 "param": "stickMass",
31 "unit": "g",
32 "scale": 0.001,
33 "values": [
34 0.01,
35 0.03,
36 0.06,
37 0.12
38 ]
39 },
40 {
41 "id": "strike-stiffness",
42 "title": "Drumstick: tip hardness",
43 "text": "The Hertz contact stiffness K stands for the hardness of the tip: a soft (rubber or felt) tip has a low K and a long, gentle contact that excites mainly the low modes; a hard tip (dense wood, or a metal beater) has a high K and a sharp click.",
44 "base": {
45 "excitation": "strike"
46 },
47 "param": "contactStiffness",
48 "unit": "N/m^1.5",
49 "values": [
50 5000000.0,
51 50000000.0,
52 500000000.0,
53 5000000000.0
54 ]
55 },
56 {
57 "id": "strike-position",
58 "title": "Drumstick: strike position",
59 "text": "Where the sheet is struck decides which modes are excited: a strike at the center excites only modes that are symmetric about both axes, while a strike near an edge or a corner excites the twisting and edge modes as well.",
60 "base": {
61 "excitation": "strike"
62 },
63 "clips": [
64 {
65 "label": "center",
66 "params": {
67 "strikeFracX": 0.5,
68 "strikeFracY": 0.5
69 }
70 },
71 {
72 "label": "off-center (default)",
73 "params": {
74 "strikeFracX": 0.7,
75 "strikeFracY": 0.35
76 }
77 },
78 {
79 "label": "near the right edge",
80 "params": {
81 "strikeFracX": 0.95,
82 "strikeFracY": 0.5
83 }
84 },
85 {
86 "label": "near a corner",
87 "params": {
88 "strikeFracX": 0.92,
89 "strikeFracY": 0.08
90 }
91 }
92 ]
93 },
94 {
95 "id": "push-amount",
96 "title": "Push and release: push amount",
97 "text": "The corner is pushed by a given amount, held until the sheet settles, and released over 20 ms. A larger push stores more energy and, because the stiffness rises with deflection, produces a stronger pitch glide and a stronger transfer of energy to the higher partials.",
98 "param": "pushAmount",
99 "unit": "mm",
100 "scale": 0.001,
101 "values": [
102 0.002,
103 0.005,
104 0.01,
105 0.02
106 ]
107 },
108 {
109 "id": "push-sign",
110 "title": "Push and release: with or against the bow",
111 "text": "The sheet has a 3 mm bow across its width. Pushing the corner in the direction of the bow and against it are not equivalent: the shell stiffness is asymmetric, so the two cases have different low-mode frequencies and a different wobble.",
112 "clips": [
113 {
114 "label": "+10 mm (with the bow)",
115 "params": {
116 "pushAmount": 0.01
117 }
118 },
119 {
120 "label": "-10 mm (against the bow)",
121 "params": {
122 "pushAmount": -0.01
123 }
124 }
125 ]
126 },
127 {
128 "id": "push-release",
129 "title": "Push and release: release time",
130 "text": "How fast the finger lets go. An instantaneous release is a step in force and excites every mode, giving a click; a release over tens of milliseconds excites only the lowest modes, as a fingertip does.",
131 "param": "releaseTime",
132 "unit": "ms",
133 "scale": 0.001,
134 "values": [
135 0,
136 0.005,
137 0.02,
138 0.05
139 ]
140 },
141 {
142 "id": "bow-amplitude",
a48885dGallery: strike versions of the sheet and damping sweepsJeremy Magland 143 "title": "Sheet: initial bow (push and release)",
c8442c5Command-line renderer (Node WebGPU via Dawn) and gallery generatorJeremy Magland 144 "text": "Real sheet metal has a bow of a few millimetres, which makes it a shallow shell with an asymmetric stiffness. A flat plate has a symmetric, purely hardening nonlinearity; the bowed sheet moves energy out of the inaudible sub-50 Hz range into the audible partials and produces the slow wobble of a real sheet.",
145 "param": "bowAmplitude",
146 "unit": "mm",
147 "scale": 0.001,
148 "values": [
149 0,
150 0.0015,
151 0.003,
152 0.006
153 ]
154 },
156 "id": "bow-amplitude-strike",
157 "title": "Sheet: initial bow (drumstick strike)",
158 "text": "The same sweep excited by the default drumstick strike (30 g at 3 m/s) instead of the corner push.",
159 "param": "bowAmplitude",
160 "unit": "mm",
161 "scale": 0.001,
162 "values": [
163 0,
164 0.0015,
165 0.003,
166 0.006
167 ],
168 "base": {
169 "excitation": "strike"
170 }
171 },
173 "id": "bow-shape",
a48885dGallery: strike versions of the sheet and damping sweepsJeremy Magland 174 "title": "Sheet: shape of the bow (push and release)",
c8442c5Command-line renderer (Node WebGPU via Dawn) and gallery generatorJeremy Magland 175 "text": "The same 3 mm sag as a bow across the width, across the height, or as a dish curved both ways.",
176 "clips": [
177 {
178 "label": "across the width",
179 "params": {
180 "bowShape": "width"
181 }
182 },
183 {
184 "label": "across the height",
185 "params": {
186 "bowShape": "height"
187 }
188 },
189 {
190 "label": "dish",
191 "params": {
192 "bowShape": "dish"
193 }
194 }
195 ]
196 },
198 "id": "bow-shape-strike",
199 "title": "Sheet: shape of the bow (drumstick strike)",
200 "text": "The same sweep excited by the default drumstick strike (30 g at 3 m/s) instead of the corner push.",
201 "clips": [
202 {
203 "label": "across the width",
204 "params": {
205 "bowShape": "width"
206 }
207 },
208 {
209 "label": "across the height",
210 "params": {
211 "bowShape": "height"
212 }
213 },
214 {
215 "label": "dish",
216 "params": {
217 "bowShape": "dish"
218 }
219 }
220 ],
221 "base": {
222 "excitation": "strike"
223 }
224 },
226 "id": "thickness",
a48885dGallery: strike versions of the sheet and damping sweepsJeremy Magland 227 "title": "Sheet: thickness (push and release)",
c8442c5Command-line renderer (Node WebGPU via Dawn) and gallery generatorJeremy Magland 228 "text": "Bending stiffness grows with the cube of the thickness while mass grows linearly, so a thicker sheet has higher mode frequencies, and the same push is a smaller multiple of the thickness, which weakens the nonlinear effects. Gauges 24, 22, 18 and 14.",
229 "param": "h",
230 "unit": "mm",
231 "scale": 0.001,
232 "values": [
233 0.0006,
234 0.00079,
235 0.0012,
236 0.002
237 ]
238 },
240 "id": "thickness-strike",
241 "title": "Sheet: thickness (drumstick strike)",
242 "text": "The same sweep excited by the default drumstick strike (30 g at 3 m/s) instead of the corner push.",
243 "param": "h",
244 "unit": "mm",
245 "scale": 0.001,
246 "values": [
247 0.0006,
248 0.00079,
249 0.0012,
250 0.002
251 ],
252 "base": {
253 "excitation": "strike"
254 }
255 },
257 "id": "size",
a48885dGallery: strike versions of the sheet and damping sweepsJeremy Magland 258 "title": "Sheet: size (push and release)",
15284b8Gallery manifest: portrait sizes, 4 mm noteJeremy Magland 259 "text": "Plate dimensions (width by height) at the same thickness. Mode frequencies scale with the inverse square of the size, so a larger sheet is lower and slower; it also radiates more efficiently.",
261 {
262 "label": "8 x 12 in",
263 "params": {
15284b8Gallery manifest: portrait sizes, 4 mm noteJeremy Magland 264 "Lx": 0.2032,
265 "Ly": 0.3048
267 },
268 {
269 "label": "12 x 18 in (default)",
270 "params": {}
271 },
272 {
273 "label": "18 x 24 in",
274 "params": {
15284b8Gallery manifest: portrait sizes, 4 mm noteJeremy Magland 275 "Lx": 0.4572,
276 "Ly": 0.6096
278 },
279 {
280 "label": "24 x 36 in",
281 "params": {
15284b8Gallery manifest: portrait sizes, 4 mm noteJeremy Magland 282 "Lx": 0.6096,
283 "Ly": 0.9144
285 }
286 ]
287 },
289 "id": "size-strike",
290 "title": "Sheet: size (drumstick strike)",
291 "text": "The same sweep excited by the default drumstick strike (30 g at 3 m/s) instead of the corner push.",
292 "clips": [
293 {
294 "label": "8 x 12 in",
295 "params": {
296 "Lx": 0.2032,
297 "Ly": 0.3048
298 }
299 },
300 {
301 "label": "12 x 18 in (default)",
302 "params": {}
303 },
304 {
305 "label": "18 x 24 in",
306 "params": {
307 "Lx": 0.4572,
308 "Ly": 0.6096
309 }
310 },
311 {
312 "label": "24 x 36 in",
313 "params": {
314 "Lx": 0.6096,
315 "Ly": 0.9144
316 }
317 }
318 ],
319 "base": {
320 "excitation": "strike"
321 }
322 },
324 "id": "material",
a48885dGallery: strike versions of the sheet and damping sweepsJeremy Magland 325 "title": "Sheet: material (push and release)",
c8442c5Command-line renderer (Node WebGPU via Dawn) and gallery generatorJeremy Magland 326 "text": "Stainless steel, aluminium, and brass at the same thickness. The mode frequencies scale with the square root of E over rho, which differs little between these metals; the loss parameters are kept fixed, although real materials differ there too.",
327 "clips": [
328 {
329 "label": "stainless steel",
330 "params": {}
331 },
332 {
333 "label": "aluminium",
334 "params": {
335 "E": 69000000000.0,
336 "nu": 0.33,
337 "rho": 2700
338 }
339 },
340 {
341 "label": "brass",
342 "params": {
343 "E": 100000000000.0,
344 "nu": 0.34,
345 "rho": 8500
346 }
347 }
348 ]
349 },
351 "id": "material-strike",
352 "title": "Sheet: material (drumstick strike)",
353 "text": "The same sweep excited by the default drumstick strike (30 g at 3 m/s) instead of the corner push.",
354 "clips": [
355 {
356 "label": "stainless steel",
357 "params": {}
358 },
359 {
360 "label": "aluminium",
361 "params": {
362 "E": 69000000000.0,
363 "nu": 0.33,
364 "rho": 2700
365 }
366 },
367 {
368 "label": "brass",
369 "params": {
370 "E": 100000000000.0,
371 "nu": 0.34,
372 "rho": 8500
373 }
374 }
375 ],
376 "base": {
377 "excitation": "strike"
378 }
379 },
381 "id": "damping-sigma0",
a48885dGallery: strike versions of the sheet and damping sweepsJeremy Magland 382 "title": "Damping: frequency-independent loss (push and release)",
c8442c5Command-line renderer (Node WebGPU via Dawn) and gallery generatorJeremy Magland 383 "text": "sigma0 sets the decay of the lowest modes (T60 = 6.9 / sigma0). It stands in for everything that damps the sheet uniformly: the suspension, air drag, the material.",
384 "param": "sigma0",
385 "unit": "1/s",
386 "values": [
387 0.4,
388 1.15,
389 3.5
390 ]
391 },
393 "id": "damping-sigma0-strike",
394 "title": "Damping: frequency-independent loss (drumstick strike)",
395 "text": "The same sweep excited by the default drumstick strike (30 g at 3 m/s) instead of the corner push.",
396 "param": "sigma0",
397 "unit": "1/s",
398 "values": [
399 0.4,
400 1.15,
401 3.5
402 ],
403 "base": {
404 "excitation": "strike"
405 }
406 },
408 "id": "damping-sigma1",
a48885dGallery: strike versions of the sheet and damping sweepsJeremy Magland 409 "title": "Damping: frequency-dependent loss (push and release)",
c8442c5Command-line renderer (Node WebGPU via Dawn) and gallery generatorJeremy Magland 410 "text": "sigma1 makes the high modes decay faster, in proportion to the square of their wavenumber; it stands mainly for radiation into the air. Too little and the highs ring like a cymbal; too much and the sheet sounds dull.",
411 "param": "sigma1",
412 "unit": "m^2/s",
413 "values": [
414 0.0001,
415 0.0005,
416 0.0025
417 ]
418 },
420 "id": "damping-sigma1-strike",
421 "title": "Damping: frequency-dependent loss (drumstick strike)",
422 "text": "The same sweep excited by the default drumstick strike (30 g at 3 m/s) instead of the corner push.",
423 "param": "sigma1",
424 "unit": "m^2/s",
425 "values": [
426 0.0001,
427 0.0005,
428 0.0025
429 ],
430 "base": {
431 "excitation": "strike"
432 }
433 },
435 "id": "damping-inplane",
a48885dGallery: strike versions of the sheet and damping sweepsJeremy Magland 436 "title": "Damping: in-plane loss (push and release)",
c8442c5Command-line renderer (Node WebGPU via Dawn) and gallery generatorJeremy Magland 437 "text": "The stretching modes of the sheet lie at several kilohertz and, once the sheet is curved, couple to transverse motion. Without their own loss they ring for the whole low-frequency decay.",
438 "param": "sigmaIn",
439 "unit": "1/s",
440 "values": [
441 0,
442 20,
443 100
444 ]
446 {
447 "id": "damping-inplane-strike",
448 "title": "Damping: in-plane loss (drumstick strike)",
449 "text": "The same sweep excited by the default drumstick strike (30 g at 3 m/s) instead of the corner push.",
450 "param": "sigmaIn",
451 "unit": "1/s",
452 "values": [
453 0,
454 20,
455 100
456 ],
457 "base": {
458 "excitation": "strike"
459 }
462 "gainDb": 20
↑↓ move↵openescclose