Gallery: 3 sweep(s) rendered
14 changed files+379−1
docs/gallery/clips/strike-stiffness-0.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "strike-stiffness-0",
3+ "label": "5000000 N/m^1.5",
4+ "overrides": {
5+ "excitation": "strike",
6+ "contactStiffness": 5000000,
7+ "spacing": 0.004
8+ },
9+ "metrics": {
10+ "peakPa": 0.26147589087486267,
11+ "peakDbSpl": 82.32803311386806,
12+ "rmsPa": 0.004232388183234962,
13+ "centroidHz": 404.3643280006084,
14+ "t60": {
15+ "20-100": 5.757894846130037,
16+ "100-500": 4.352052842426992,
17+ "500-2k": 2.55615996294041,
18+ "2k-8k": 4.318042557827629
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -9.964902271720613,
22+ "100-500": 0,
23+ "500-2k": 0.13898452411637408,
24+ "2k-8k": -10.977715328278927
25+ }
26+ },
27+ "gainDb": -6,
28+ "peakDbfs": -17.651366972852305,
29+ "run": {
30+ "steps": 6144000,
31+ "seconds": 62.01993563700002,
32+ "nx": 77,
33+ "ny": 115,
34+ "dt": 6.510416666666666e-7,
35+ "maxContactForce": 112.884765625
36+ }
37+}
docs/gallery/clips/strike-stiffness-0.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-stiffness-0.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-stiffness-1.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "strike-stiffness-1",
3+ "label": "50000000 N/m^1.5",
4+ "overrides": {
5+ "excitation": "strike",
6+ "contactStiffness": 50000000,
7+ "spacing": 0.004
8+ },
9+ "metrics": {
10+ "peakPa": 1.0846350193023682,
11+ "peakDbSpl": 94.68507253208466,
12+ "rmsPa": 0.006363170396865752,
13+ "centroidHz": 381.31414345875294,
14+ "t60": {
15+ "20-100": 5.280974643647922,
16+ "100-500": 4.6467158809535976,
17+ "500-2k": 2.334056839108303,
18+ "2k-8k": 4.084407377811061
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -6.5733765284632995,
22+ "100-500": 0,
23+ "500-2k": 0.7208944687813243,
24+ "2k-8k": -3.989663805043616
25+ }
26+ },
27+ "gainDb": -6,
28+ "peakDbfs": -5.294327554635715,
29+ "run": {
30+ "steps": 6144000,
31+ "seconds": 62.09568580800004,
32+ "nx": 77,
33+ "ny": 115,
34+ "dt": 6.510416666666666e-7,
35+ "maxContactForce": 149.91244506835938
36+ }
37+}
docs/gallery/clips/strike-stiffness-1.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-stiffness-1.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-stiffness-2.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "strike-stiffness-2",
3+ "label": "500000000 N/m^1.5",
4+ "overrides": {
5+ "excitation": "strike",
6+ "contactStiffness": 500000000,
7+ "spacing": 0.004
8+ },
9+ "metrics": {
10+ "peakPa": 2.205117702484131,
11+ "peakDbSpl": 100.84803560157386,
12+ "rmsPa": 0.00951895798535143,
13+ "centroidHz": 435.21529790921534,
14+ "t60": {
15+ "20-100": 5.627390472686013,
16+ "100-500": 4.5707678921683526,
17+ "500-2k": 2.5907910666908407,
18+ "2k-8k": 3.9744633879876843
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -1.3514353071700143,
22+ "100-500": 0,
23+ "500-2k": 1.187547735231874,
24+ "2k-8k": 1.994130612116379
25+ }
26+ },
27+ "gainDb": -6,
28+ "peakDbfs": 0.8686355148534772,
29+ "run": {
30+ "steps": 6144000,
31+ "seconds": 62.016054563999994,
32+ "nx": 77,
33+ "ny": 115,
34+ "dt": 6.510416666666666e-7,
35+ "maxContactForce": 179.2267303466797
36+ }
37+}
docs/gallery/clips/strike-stiffness-2.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-stiffness-2.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-stiffness-3.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "strike-stiffness-3",
3+ "label": "5000000000 N/m^1.5",
4+ "overrides": {
5+ "excitation": "strike",
6+ "contactStiffness": 5000000000,
7+ "spacing": 0.004
8+ },
9+ "metrics": {
10+ "peakPa": 2.799502372741699,
11+ "peakDbSpl": 102.92101688514211,
12+ "rmsPa": 0.010296969727946671,
13+ "centroidHz": 462.5488108949825,
14+ "t60": {
15+ "20-100": 5.530095833056142,
16+ "100-500": 4.8387802324309686,
17+ "500-2k": 2.51660172043016,
18+ "2k-8k": 4.128108170089937
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -1.642638730080165,
22+ "100-500": 0,
23+ "500-2k": 1.0920924916927817,
24+ "2k-8k": 2.0863083221425214
25+ }
26+ },
27+ "gainDb": -6,
28+ "peakDbfs": 2.9416167984217316,
29+ "run": {
30+ "steps": 6144000,
31+ "seconds": 61.991915126000066,
32+ "nx": 77,
33+ "ny": 115,
34+ "dt": 6.510416666666666e-7,
35+ "maxContactForce": 354.15325927734375
36+ }
37+}
docs/gallery/clips/strike-stiffness-3.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/strike-stiffness-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 on a 4 mm grid (the interactive app defaults to 8 mm for speed; the 'Open in simulator' links carry the 4 mm setting, so they reproduce the clip exactly but run slower). Click a player to hear a clip. Within a section the clips share one playback gain, so the loudness differences you hear are the ones the model predicts; between sections the gain differs. 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></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></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>
@@ -165,5 +165,66 @@ ul.toc { columns: 2; }
165165 <a href="../../?excitation=strike&stickMass=0.12&spacing=0.004&autostart=1">Open in simulator</a>
166166 </div></div>
167167 </section>
168+<section id="strike-stiffness">
169+<h2>Drumstick: tip hardness</h2>
170+<p>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.</p>
171+<p class="dim">All clips in this section share the same playback gain (-6 dB relative to 1 Pa = 0 dBFS), so their loudness differences are real. Spectrograms: 0 to 5 kHz over the clip, 80 dB range, shared color scale.</p>
172+<div class="cards"><div class="card">
173+ <div class="label">5000000 N/m^1.5</div>
174+ <audio controls preload="none" src="clips/strike-stiffness-0.wav"></audio>
175+ <img src="clips/strike-stiffness-0.png" alt="spectrogram" width="640" height="200">
176+ <div class="metrics">
177+ <div>peak 0.261 Pa (82 dB SPL)</div>
178+ <div>RMS 4.2 mPa</div>
179+ <div>centroid 404 Hz</div>
180+ <div>T60 100-500 Hz 4.4 s, 2-8 kHz 4.3 s</div>
181+ <div>contact force 113 N</div>
182+ <div class="dim">wav peak -17.7 dBFS</div>
183+ </div>
184+ <a href="../../?excitation=strike&contactStiffness=5000000&spacing=0.004&autostart=1">Open in simulator</a>
185+</div>
186+<div class="card">
187+ <div class="label">50000000 N/m^1.5</div>
188+ <audio controls preload="none" src="clips/strike-stiffness-1.wav"></audio>
189+ <img src="clips/strike-stiffness-1.png" alt="spectrogram" width="640" height="200">
190+ <div class="metrics">
191+ <div>peak 1.085 Pa (95 dB SPL)</div>
192+ <div>RMS 6.4 mPa</div>
193+ <div>centroid 381 Hz</div>
194+ <div>T60 100-500 Hz 4.6 s, 2-8 kHz 4.1 s</div>
195+ <div>contact force 150 N</div>
196+ <div class="dim">wav peak -5.3 dBFS</div>
197+ </div>
198+ <a href="../../?excitation=strike&contactStiffness=50000000&spacing=0.004&autostart=1">Open in simulator</a>
199+</div>
200+<div class="card">
201+ <div class="label">500000000 N/m^1.5</div>
202+ <audio controls preload="none" src="clips/strike-stiffness-2.wav"></audio>
203+ <img src="clips/strike-stiffness-2.png" alt="spectrogram" width="640" height="200">
204+ <div class="metrics">
205+ <div>peak 2.205 Pa (101 dB SPL)</div>
206+ <div>RMS 9.5 mPa</div>
207+ <div>centroid 435 Hz</div>
208+ <div>T60 100-500 Hz 4.6 s, 2-8 kHz 4.0 s</div>
209+ <div>contact force 179 N</div>
210+ <div class="dim">wav peak 0.9 dBFS (soft-clipped)</div>
211+ </div>
212+ <a href="../../?excitation=strike&contactStiffness=500000000&spacing=0.004&autostart=1">Open in simulator</a>
213+</div>
214+<div class="card">
215+ <div class="label">5000000000 N/m^1.5</div>
216+ <audio controls preload="none" src="clips/strike-stiffness-3.wav"></audio>
217+ <img src="clips/strike-stiffness-3.png" alt="spectrogram" width="640" height="200">
218+ <div class="metrics">
219+ <div>peak 2.800 Pa (103 dB SPL)</div>
220+ <div>RMS 10.3 mPa</div>
221+ <div>centroid 463 Hz</div>
222+ <div>T60 100-500 Hz 4.8 s, 2-8 kHz 4.1 s</div>
223+ <div>contact force 354 N</div>
224+ <div class="dim">wav peak 2.9 dBFS (soft-clipped)</div>
225+ </div>
226+ <a href="../../?excitation=strike&contactStiffness=5000000000&spacing=0.004&autostart=1">Open in simulator</a>
227+</div></div>
228+</section>
168229 <p class="dim">Generated by <code>steelsim gallery</code>; parameters not listed take the simulator defaults.</p>
169230 </body></html>
docs/gallery/strike-stiffness.jsonadded+169−0View file
@@ -0,0 +1,169 @@
1+{
2+ "sweep": {
3+ "id": "strike-stiffness",
4+ "title": "Drumstick: tip hardness",
5+ "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.",
6+ "base": {
7+ "excitation": "strike"
8+ },
9+ "param": "contactStiffness",
10+ "unit": "N/m^1.5",
11+ "values": [
12+ 5000000,
13+ 50000000,
14+ 500000000,
15+ 5000000000
16+ ]
17+ },
18+ "gainDb": -6,
19+ "clips": [
20+ {
21+ "id": "strike-stiffness-0",
22+ "label": "5000000 N/m^1.5",
23+ "overrides": {
24+ "excitation": "strike",
25+ "contactStiffness": 5000000,
26+ "spacing": 0.004
27+ },
28+ "metrics": {
29+ "peakPa": 0.26147589087486267,
30+ "peakDbSpl": 82.32803311386806,
31+ "rmsPa": 0.004232388183234962,
32+ "centroidHz": 404.3643280006084,
33+ "t60": {
34+ "20-100": 5.757894846130037,
35+ "100-500": 4.352052842426992,
36+ "500-2k": 2.55615996294041,
37+ "2k-8k": 4.318042557827629
38+ },
39+ "bandLevelsDb": {
40+ "20-100": -9.964902271720613,
41+ "100-500": 0,
42+ "500-2k": 0.13898452411637408,
43+ "2k-8k": -10.977715328278927
44+ }
45+ },
46+ "gainDb": -6,
47+ "peakDbfs": -17.651366972852305,
48+ "run": {
49+ "steps": 6144000,
50+ "seconds": 62.01993563700002,
51+ "nx": 77,
52+ "ny": 115,
53+ "dt": 6.510416666666666e-7,
54+ "maxContactForce": 112.884765625
55+ }
56+ },
57+ {
58+ "id": "strike-stiffness-1",
59+ "label": "50000000 N/m^1.5",
60+ "overrides": {
61+ "excitation": "strike",
62+ "contactStiffness": 50000000,
63+ "spacing": 0.004
64+ },
65+ "metrics": {
66+ "peakPa": 1.0846350193023682,
67+ "peakDbSpl": 94.68507253208466,
68+ "rmsPa": 0.006363170396865752,
69+ "centroidHz": 381.31414345875294,
70+ "t60": {
71+ "20-100": 5.280974643647922,
72+ "100-500": 4.6467158809535976,
73+ "500-2k": 2.334056839108303,
74+ "2k-8k": 4.084407377811061
75+ },
76+ "bandLevelsDb": {
77+ "20-100": -6.5733765284632995,
78+ "100-500": 0,
79+ "500-2k": 0.7208944687813243,
80+ "2k-8k": -3.989663805043616
81+ }
82+ },
83+ "gainDb": -6,
84+ "peakDbfs": -5.294327554635715,
85+ "run": {
86+ "steps": 6144000,
87+ "seconds": 62.09568580800004,
88+ "nx": 77,
89+ "ny": 115,
90+ "dt": 6.510416666666666e-7,
91+ "maxContactForce": 149.91244506835938
92+ }
93+ },
94+ {
95+ "id": "strike-stiffness-2",
96+ "label": "500000000 N/m^1.5",
97+ "overrides": {
98+ "excitation": "strike",
99+ "contactStiffness": 500000000,
100+ "spacing": 0.004
101+ },
102+ "metrics": {
103+ "peakPa": 2.205117702484131,
104+ "peakDbSpl": 100.84803560157386,
105+ "rmsPa": 0.00951895798535143,
106+ "centroidHz": 435.21529790921534,
107+ "t60": {
108+ "20-100": 5.627390472686013,
109+ "100-500": 4.5707678921683526,
110+ "500-2k": 2.5907910666908407,
111+ "2k-8k": 3.9744633879876843
112+ },
113+ "bandLevelsDb": {
114+ "20-100": -1.3514353071700143,
115+ "100-500": 0,
116+ "500-2k": 1.187547735231874,
117+ "2k-8k": 1.994130612116379
118+ }
119+ },
120+ "gainDb": -6,
121+ "peakDbfs": 0.8686355148534772,
122+ "run": {
123+ "steps": 6144000,
124+ "seconds": 62.016054563999994,
125+ "nx": 77,
126+ "ny": 115,
127+ "dt": 6.510416666666666e-7,
128+ "maxContactForce": 179.2267303466797
129+ }
130+ },
131+ {
132+ "id": "strike-stiffness-3",
133+ "label": "5000000000 N/m^1.5",
134+ "overrides": {
135+ "excitation": "strike",
136+ "contactStiffness": 5000000000,
137+ "spacing": 0.004
138+ },
139+ "metrics": {
140+ "peakPa": 2.799502372741699,
141+ "peakDbSpl": 102.92101688514211,
142+ "rmsPa": 0.010296969727946671,
143+ "centroidHz": 462.5488108949825,
144+ "t60": {
145+ "20-100": 5.530095833056142,
146+ "100-500": 4.8387802324309686,
147+ "500-2k": 2.51660172043016,
148+ "2k-8k": 4.128108170089937
149+ },
150+ "bandLevelsDb": {
151+ "20-100": -1.642638730080165,
152+ "100-500": 0,
153+ "500-2k": 1.0920924916927817,
154+ "2k-8k": 2.0863083221425214
155+ }
156+ },
157+ "gainDb": -6,
158+ "peakDbfs": 2.9416167984217316,
159+ "run": {
160+ "steps": 6144000,
161+ "seconds": 61.991915126000066,
162+ "nx": 77,
163+ "ny": 115,
164+ "dt": 6.510416666666666e-7,
165+ "maxContactForce": 354.15325927734375
166+ }
167+ }
168+ ]
169+}