/ proof-of-concept / steelsim21
Sign in
proof-of-concept / steelsim21
Gallery: 4 sweep(s) rendered
Jeremy Magland <jmagland@flatironinstitute.org> committed commit 34bff74b598c parent dc0cfae Browse files
14 changed files+401−1
docs/gallery/clips/strike-position-0.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "strike-position-0",
3+ "label": "center",
4+ "overrides": {
5+ "excitation": "strike",
6+ "strikeFracX": 0.5,
7+ "strikeFracY": 0.5
8+ },
9+ "metrics": {
10+ "peakPa": 4.090140342712402,
11+ "peakDbSpl": 106.21416428608427,
12+ "rmsPa": 0.017414943497971586,
13+ "centroidHz": 449.3720005711135,
14+ "t60": {
15+ "20-100": 5.507011553639136,
16+ "100-500": 4.742222884858844,
17+ "500-2k": 2.4498227913617256,
18+ "2k-8k": 3.8812279635413325
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -8.242444869098549,
22+ "100-500": 0,
23+ "500-2k": -1.3819603260077429,
24+ "2k-8k": -2.7869660531175313
25+ }
26+ },
27+ "gainDb": 20,
28+ "peakDbfs": 32.23476419936389,
29+ "run": {
30+ "steps": 3072000,
31+ "seconds": 33.197286171000016,
32+ "nx": 39,
33+ "ny": 58,
34+ "dt": 0.0000013020833333333333,
35+ "maxContactForce": 194.9879608154297
36+ }
37+}
\ No newline at end of file
docs/gallery/clips/strike-position-0.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-position-0.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-position-1.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "strike-position-1",
3+ "label": "off-center (default)",
4+ "overrides": {
5+ "excitation": "strike",
6+ "strikeFracX": 0.7,
7+ "strikeFracY": 0.35
8+ },
9+ "metrics": {
10+ "peakPa": 2.552067756652832,
11+ "peakDbSpl": 102.11724409859474,
12+ "rmsPa": 0.010939866293578663,
13+ "centroidHz": 654.5269112833041,
14+ "t60": {
15+ "20-100": 5.084050764268366,
16+ "100-500": 4.166515631486475,
17+ "500-2k": 2.5109722913953734,
18+ "2k-8k": 4.596561207548714
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -10.075329770223362,
22+ "100-500": 0,
23+ "500-2k": 1.0910838167922776,
24+ "2k-8k": -0.46759244010335266
25+ }
26+ },
27+ "gainDb": 20,
28+ "peakDbfs": 28.13784401187437,
29+ "run": {
30+ "steps": 3072000,
31+ "seconds": 33.08529265699998,
32+ "nx": 39,
33+ "ny": 58,
34+ "dt": 0.0000013020833333333333,
35+ "maxContactForce": 195.15817260742188
36+ }
37+}
\ No newline at end of file
docs/gallery/clips/strike-position-1.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-position-1.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-position-2.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "strike-position-2",
3+ "label": "near the right edge",
4+ "overrides": {
5+ "excitation": "strike",
6+ "strikeFracX": 0.95,
7+ "strikeFracY": 0.5
8+ },
9+ "metrics": {
10+ "peakPa": 2.0260727405548096,
11+ "peakDbSpl": 100.1125007557196,
12+ "rmsPa": 0.009846177464463899,
13+ "centroidHz": 457.3865316122065,
14+ "t60": {
15+ "20-100": 5.380793195966296,
16+ "100-500": 4.249767131031015,
17+ "500-2k": 2.422769592299953,
18+ "2k-8k": 4.487254634529499
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -5.746870054845811,
22+ "100-500": 0,
23+ "500-2k": -0.9576882448219131,
24+ "2k-8k": -2.190169031270461
25+ }
26+ },
27+ "gainDb": 20,
28+ "peakDbfs": 26.13310066899922,
29+ "run": {
30+ "steps": 3072000,
31+ "seconds": 33.18327378399999,
32+ "nx": 39,
33+ "ny": 58,
34+ "dt": 0.0000013020833333333333,
35+ "maxContactForce": 190.2689208984375
36+ }
37+}
\ No newline at end of file
docs/gallery/clips/strike-position-2.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-position-2.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-position-3.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "strike-position-3",
3+ "label": "near a corner",
4+ "overrides": {
5+ "excitation": "strike",
6+ "strikeFracX": 0.92,
7+ "strikeFracY": 0.08
8+ },
9+ "metrics": {
10+ "peakPa": 2.6406617164611816,
11+ "peakDbSpl": 102.41365547106997,
12+ "rmsPa": 0.012986906324117349,
13+ "centroidHz": 539.8610576204195,
14+ "t60": {
15+ "20-100": 5.031269853074107,
16+ "100-500": 4.657374851267341,
17+ "500-2k": 2.6397616245726754,
18+ "2k-8k": 4.413791387848751
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -7.612234909855623,
22+ "100-500": 0,
23+ "500-2k": -0.5897316266875166,
24+ "2k-8k": -1.4461924028059059
25+ }
26+ },
27+ "gainDb": 20,
28+ "peakDbfs": 28.4342553843496,
29+ "run": {
30+ "steps": 3072000,
31+ "seconds": 33.160981005999986,
32+ "nx": 39,
33+ "ny": 58,
34+ "dt": 0.0000013020833333333333,
35+ "maxContactForce": 196.79904174804688
36+ }
37+}
\ No newline at end of file
docs/gallery/clips/strike-position-3.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-position-3.wavadded+0−0View file
Binary file not shown.
docs/gallery/index.htmlmodified+62−1View file
@@ -14,7 +14,7 @@ ul.toc { columns: 2; }
1414 </style></head><body>
1515 <h1>Steel sheet gong: how the parameters shape the sound</h1>
1616 <p>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.</p>
17-<ul class="toc"><li><a href="#strike-speed">Drumstick: stick speed</a></li><li><a href="#strike-mass">Drumstick: stick mass</a></li><li><a href="#strike-stiffness">Drumstick: tip hardness</a></li></ul>
17+<ul class="toc"><li><a href="#strike-speed">Drumstick: stick speed</a></li><li><a href="#strike-mass">Drumstick: stick mass</a></li><li><a href="#strike-stiffness">Drumstick: tip hardness</a></li><li><a href="#strike-position">Drumstick: strike position</a></li></ul>
1818 <section id="strike-speed">
1919 <h2>Drumstick: stick speed</h2>
2020 <p>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.</p>
@@ -226,5 +226,66 @@ ul.toc { columns: 2; }
226226 <a href="../../?excitation=strike&contactStiffness=5000000000">Open in simulator</a>
227227 </div></div>
228228 </section>
229+<section id="strike-position">
230+<h2>Drumstick: strike position</h2>
231+<p>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.</p>
232+<p class="dim">Playback gain +20 dB relative to 1 Pa = 0 dBFS (the simulator's default is +20 dB); loud onsets are soft-clipped. Spectrograms: 0 to 5 kHz over the clip, 80 dB range, one color scale per section.</p>
233+<div class="cards"><div class="card">
234+ <div class="label">center</div>
235+ <audio controls preload="none" src="clips/strike-position-0.wav"></audio>
236+ <img src="clips/strike-position-0.png" alt="spectrogram" width="640" height="200">
237+ <div class="metrics">
238+ <div>peak 4.090 Pa (106 dB SPL)</div>
239+ <div>RMS 17.4 mPa</div>
240+ <div>centroid 449 Hz</div>
241+ <div>T60 100-500 Hz 4.7 s, 2-8 kHz 3.9 s</div>
242+ <div>contact force 195 N</div>
243+ <div class="dim">wav peak 32.2 dBFS (soft-clipped)</div>
244+ </div>
245+ <a href="../../?excitation=strike&strikeFracX=0.5&strikeFracY=0.5">Open in simulator</a>
246+</div>
247+<div class="card">
248+ <div class="label">off-center (default)</div>
249+ <audio controls preload="none" src="clips/strike-position-1.wav"></audio>
250+ <img src="clips/strike-position-1.png" alt="spectrogram" width="640" height="200">
251+ <div class="metrics">
252+ <div>peak 2.552 Pa (102 dB SPL)</div>
253+ <div>RMS 10.9 mPa</div>
254+ <div>centroid 655 Hz</div>
255+ <div>T60 100-500 Hz 4.2 s, 2-8 kHz 4.6 s</div>
256+ <div>contact force 195 N</div>
257+ <div class="dim">wav peak 28.1 dBFS (soft-clipped)</div>
258+ </div>
259+ <a href="../../?excitation=strike&strikeFracX=0.7&strikeFracY=0.35">Open in simulator</a>
260+</div>
261+<div class="card">
262+ <div class="label">near the right edge</div>
263+ <audio controls preload="none" src="clips/strike-position-2.wav"></audio>
264+ <img src="clips/strike-position-2.png" alt="spectrogram" width="640" height="200">
265+ <div class="metrics">
266+ <div>peak 2.026 Pa (100 dB SPL)</div>
267+ <div>RMS 9.8 mPa</div>
268+ <div>centroid 457 Hz</div>
269+ <div>T60 100-500 Hz 4.2 s, 2-8 kHz 4.5 s</div>
270+ <div>contact force 190 N</div>
271+ <div class="dim">wav peak 26.1 dBFS (soft-clipped)</div>
272+ </div>
273+ <a href="../../?excitation=strike&strikeFracX=0.95&strikeFracY=0.5">Open in simulator</a>
274+</div>
275+<div class="card">
276+ <div class="label">near a corner</div>
277+ <audio controls preload="none" src="clips/strike-position-3.wav"></audio>
278+ <img src="clips/strike-position-3.png" alt="spectrogram" width="640" height="200">
279+ <div class="metrics">
280+ <div>peak 2.641 Pa (102 dB SPL)</div>
281+ <div>RMS 13.0 mPa</div>
282+ <div>centroid 540 Hz</div>
283+ <div>T60 100-500 Hz 4.7 s, 2-8 kHz 4.4 s</div>
284+ <div>contact force 197 N</div>
285+ <div class="dim">wav peak 28.4 dBFS (soft-clipped)</div>
286+ </div>
287+ <a href="../../?excitation=strike&strikeFracX=0.92&strikeFracY=0.08">Open in simulator</a>
288+</div></div>
289+</section>
229290 <p class="dim">Generated by <code>steelsim gallery</code>; parameters not listed take the simulator defaults.</p>
230291 </body></html>
\ No newline at end of file
docs/gallery/strike-position.jsonadded+191−0View file
@@ -0,0 +1,191 @@
1+{
2+ "sweep": {
3+ "id": "strike-position",
4+ "title": "Drumstick: strike position",
5+ "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.",
6+ "base": {
7+ "excitation": "strike"
8+ },
9+ "clips": [
10+ {
11+ "label": "center",
12+ "params": {
13+ "strikeFracX": 0.5,
14+ "strikeFracY": 0.5
15+ }
16+ },
17+ {
18+ "label": "off-center (default)",
19+ "params": {
20+ "strikeFracX": 0.7,
21+ "strikeFracY": 0.35
22+ }
23+ },
24+ {
25+ "label": "near the right edge",
26+ "params": {
27+ "strikeFracX": 0.95,
28+ "strikeFracY": 0.5
29+ }
30+ },
31+ {
32+ "label": "near a corner",
33+ "params": {
34+ "strikeFracX": 0.92,
35+ "strikeFracY": 0.08
36+ }
37+ }
38+ ]
39+ },
40+ "gainDb": 20,
41+ "clips": [
42+ {
43+ "id": "strike-position-0",
44+ "label": "center",
45+ "overrides": {
46+ "excitation": "strike",
47+ "strikeFracX": 0.5,
48+ "strikeFracY": 0.5
49+ },
50+ "metrics": {
51+ "peakPa": 4.090140342712402,
52+ "peakDbSpl": 106.21416428608427,
53+ "rmsPa": 0.017414943497971586,
54+ "centroidHz": 449.3720005711135,
55+ "t60": {
56+ "20-100": 5.507011553639136,
57+ "100-500": 4.742222884858844,
58+ "500-2k": 2.4498227913617256,
59+ "2k-8k": 3.8812279635413325
60+ },
61+ "bandLevelsDb": {
62+ "20-100": -8.242444869098549,
63+ "100-500": 0,
64+ "500-2k": -1.3819603260077429,
65+ "2k-8k": -2.7869660531175313
66+ }
67+ },
68+ "gainDb": 20,
69+ "peakDbfs": 32.23476419936389,
70+ "run": {
71+ "steps": 3072000,
72+ "seconds": 33.197286171000016,
73+ "nx": 39,
74+ "ny": 58,
75+ "dt": 0.0000013020833333333333,
76+ "maxContactForce": 194.9879608154297
77+ }
78+ },
79+ {
80+ "id": "strike-position-1",
81+ "label": "off-center (default)",
82+ "overrides": {
83+ "excitation": "strike",
84+ "strikeFracX": 0.7,
85+ "strikeFracY": 0.35
86+ },
87+ "metrics": {
88+ "peakPa": 2.552067756652832,
89+ "peakDbSpl": 102.11724409859474,
90+ "rmsPa": 0.010939866293578663,
91+ "centroidHz": 654.5269112833041,
92+ "t60": {
93+ "20-100": 5.084050764268366,
94+ "100-500": 4.166515631486475,
95+ "500-2k": 2.5109722913953734,
96+ "2k-8k": 4.596561207548714
97+ },
98+ "bandLevelsDb": {
99+ "20-100": -10.075329770223362,
100+ "100-500": 0,
101+ "500-2k": 1.0910838167922776,
102+ "2k-8k": -0.46759244010335266
103+ }
104+ },
105+ "gainDb": 20,
106+ "peakDbfs": 28.13784401187437,
107+ "run": {
108+ "steps": 3072000,
109+ "seconds": 33.08529265699998,
110+ "nx": 39,
111+ "ny": 58,
112+ "dt": 0.0000013020833333333333,
113+ "maxContactForce": 195.15817260742188
114+ }
115+ },
116+ {
117+ "id": "strike-position-2",
118+ "label": "near the right edge",
119+ "overrides": {
120+ "excitation": "strike",
121+ "strikeFracX": 0.95,
122+ "strikeFracY": 0.5
123+ },
124+ "metrics": {
125+ "peakPa": 2.0260727405548096,
126+ "peakDbSpl": 100.1125007557196,
127+ "rmsPa": 0.009846177464463899,
128+ "centroidHz": 457.3865316122065,
129+ "t60": {
130+ "20-100": 5.380793195966296,
131+ "100-500": 4.249767131031015,
132+ "500-2k": 2.422769592299953,
133+ "2k-8k": 4.487254634529499
134+ },
135+ "bandLevelsDb": {
136+ "20-100": -5.746870054845811,
137+ "100-500": 0,
138+ "500-2k": -0.9576882448219131,
139+ "2k-8k": -2.190169031270461
140+ }
141+ },
142+ "gainDb": 20,
143+ "peakDbfs": 26.13310066899922,
144+ "run": {
145+ "steps": 3072000,
146+ "seconds": 33.18327378399999,
147+ "nx": 39,
148+ "ny": 58,
149+ "dt": 0.0000013020833333333333,
150+ "maxContactForce": 190.2689208984375
151+ }
152+ },
153+ {
154+ "id": "strike-position-3",
155+ "label": "near a corner",
156+ "overrides": {
157+ "excitation": "strike",
158+ "strikeFracX": 0.92,
159+ "strikeFracY": 0.08
160+ },
161+ "metrics": {
162+ "peakPa": 2.6406617164611816,
163+ "peakDbSpl": 102.41365547106997,
164+ "rmsPa": 0.012986906324117349,
165+ "centroidHz": 539.8610576204195,
166+ "t60": {
167+ "20-100": 5.031269853074107,
168+ "100-500": 4.657374851267341,
169+ "500-2k": 2.6397616245726754,
170+ "2k-8k": 4.413791387848751
171+ },
172+ "bandLevelsDb": {
173+ "20-100": -7.612234909855623,
174+ "100-500": 0,
175+ "500-2k": -0.5897316266875166,
176+ "2k-8k": -1.4461924028059059
177+ }
178+ },
179+ "gainDb": 20,
180+ "peakDbfs": 28.4342553843496,
181+ "run": {
182+ "steps": 3072000,
183+ "seconds": 33.160981005999986,
184+ "nx": 39,
185+ "ny": 58,
186+ "dt": 0.0000013020833333333333,
187+ "maxContactForce": 196.79904174804688
188+ }
189+ }
190+ ]
191+}
\ No newline at end of file
↑↓ move↵openescclose