Gallery: 14 sweep(s) rendered
14 changed files+381−1
docs/gallery/clips/size-0.jsonadded+36−0View file
@@ -0,0 +1,36 @@
1+{
2+ "id": "size-0",
3+ "label": "8 x 12 in",
4+ "overrides": {
5+ "Lx": 0.2032,
6+ "Ly": 0.3048
7+ },
8+ "metrics": {
9+ "peakPa": 0.06421922892332077,
10+ "peakDbSpl": 70.1327018209665,
11+ "rmsPa": 0.0036191031731183723,
12+ "centroidHz": 299.64193921549156,
13+ "t60": {
14+ "20-100": 4.346948517507047,
15+ "100-500": 4.424210355044337,
16+ "500-2k": 2.739925934200017,
17+ "2k-8k": 6.492776611058871
18+ },
19+ "bandLevelsDb": {
20+ "20-100": -15.906993799804223,
21+ "100-500": 0,
22+ "500-2k": -7.329099751745332,
23+ "2k-8k": -25.330202165652075
24+ }
25+ },
26+ "gainDb": 20,
27+ "peakDbfs": -3.8466982657538615,
28+ "run": {
29+ "steps": 3072000,
30+ "seconds": 36.694463224999836,
31+ "nx": 26,
32+ "ny": 39,
33+ "dt": 0.0000013020833333333333,
34+ "maxContactForce": 0
35+ }
36+}
docs/gallery/clips/size-0.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/size-0.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/size-1.jsonadded+33−0View file
@@ -0,0 +1,33 @@
1+{
2+ "id": "size-1",
3+ "label": "12 x 18 in (default)",
4+ "overrides": {},
5+ "metrics": {
6+ "peakPa": 0.04646482318639755,
7+ "peakDbSpl": 67.32188586389826,
8+ "rmsPa": 0.0033498771907116485,
9+ "centroidHz": 195.7169225189091,
10+ "t60": {
11+ "20-100": 5.414347622298749,
12+ "100-500": 4.0120593180726445,
13+ "500-2k": 2.724403865668108,
14+ "2k-8k": 7.678595678417119
15+ },
16+ "bandLevelsDb": {
17+ "20-100": -1.153481711330091,
18+ "100-500": 0,
19+ "500-2k": -6.774905483785499,
20+ "2k-8k": -41.19767338483816
21+ }
22+ },
23+ "gainDb": 20,
24+ "peakDbfs": -6.657514222822115,
25+ "run": {
26+ "steps": 3072000,
27+ "seconds": 38.239591902999905,
28+ "nx": 39,
29+ "ny": 58,
30+ "dt": 0.0000013020833333333333,
31+ "maxContactForce": 0
32+ }
33+}
docs/gallery/clips/size-1.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/size-1.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/size-2.jsonadded+36−0View file
@@ -0,0 +1,36 @@
1+{
2+ "id": "size-2",
3+ "label": "18 x 24 in",
4+ "overrides": {
5+ "Lx": 0.4572,
6+ "Ly": 0.6096
7+ },
8+ "metrics": {
9+ "peakPa": 0.028950326144695282,
10+ "peakDbSpl": 63.212469300869344,
11+ "rmsPa": 0.0022534872667671294,
12+ "centroidHz": 122.12395952474397,
13+ "t60": {
14+ "20-100": 5.149722319264555,
15+ "100-500": 4.069609538323575,
16+ "500-2k": 2.550072167901959,
17+ "2k-8k": 7.337480492407415
18+ },
19+ "bandLevelsDb": {
20+ "20-100": 7.947559427523743,
21+ "100-500": 0,
22+ "500-2k": -20.521442114252682,
23+ "2k-8k": -37.471378494119236
24+ }
25+ },
26+ "gainDb": 20,
27+ "peakDbfs": -10.76693078585103,
28+ "run": {
29+ "steps": 3072000,
30+ "seconds": 40.36680082300003,
31+ "nx": 58,
32+ "ny": 77,
33+ "dt": 0.0000013020833333333333,
34+ "maxContactForce": 0
35+ }
36+}
docs/gallery/clips/size-2.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/size-2.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/size-3.jsonadded+36−0View file
@@ -0,0 +1,36 @@
1+{
2+ "id": "size-3",
3+ "label": "24 x 36 in",
4+ "overrides": {
5+ "Lx": 0.6096,
6+ "Ly": 0.9144
7+ },
8+ "metrics": {
9+ "peakPa": 0.2559710144996643,
10+ "peakDbSpl": 82.14321588080469,
11+ "rmsPa": 0.0021916269314661684,
12+ "centroidHz": 532.3725095271293,
13+ "t60": {
14+ "20-100": 4.9735527425503445,
15+ "100-500": 4.171193266572809,
16+ "500-2k": 4.718100357823921,
17+ "2k-8k": 6.246302875574128
18+ },
19+ "bandLevelsDb": {
20+ "20-100": 18.07003854092374,
21+ "100-500": 0,
22+ "500-2k": -44.21767621278057,
23+ "2k-8k": -12.44033342489616
24+ }
25+ },
26+ "gainDb": 20,
27+ "peakDbfs": 8.163815794084316,
28+ "run": {
29+ "steps": 3072000,
30+ "seconds": 43.87599745299993,
31+ "nx": 77,
32+ "ny": 115,
33+ "dt": 0.0000013020833333333333,
34+ "maxContactForce": 0
35+ }
36+}
docs/gallery/clips/size-3.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/size-3.wavadded+0−0View file
Binary file not shown.
docs/gallery/index.htmlmodified+62−1View file
@@ -52,7 +52,7 @@ svg.setup { display: block; max-width: 100%; height: auto; }
5252 </svg></div>
5353 <p class="dim">The setup: the sheet hangs from a thread through a hole near one corner. It is either pushed at the opposite corner by a fingertip, held until it settles, and released, or struck with a wooden drumstick. It has a slight bow, and the sound is computed 1 m in front of its center.</p>
5454 <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>
55-<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><li><a href="#push-amount">Push and release: push amount</a></li><li><a href="#push-sign">Push and release: with or against the bow</a></li><li><a href="#push-release">Push and release: release time</a></li><li><a href="#bow-amplitude">Sheet: initial bow (push and release)</a></li><li><a href="#bow-amplitude-strike">Sheet: initial bow (drumstick strike)</a></li><li><a href="#bow-shape">Sheet: shape of the bow (push and release)</a></li><li><a href="#bow-shape-strike">Sheet: shape of the bow (drumstick strike)</a></li><li><a href="#thickness">Sheet: thickness (push and release)</a></li><li><a href="#thickness-strike">Sheet: thickness (drumstick strike)</a></li></ul>
55+<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><li><a href="#push-amount">Push and release: push amount</a></li><li><a href="#push-sign">Push and release: with or against the bow</a></li><li><a href="#push-release">Push and release: release time</a></li><li><a href="#bow-amplitude">Sheet: initial bow (push and release)</a></li><li><a href="#bow-amplitude-strike">Sheet: initial bow (drumstick strike)</a></li><li><a href="#bow-shape">Sheet: shape of the bow (push and release)</a></li><li><a href="#bow-shape-strike">Sheet: shape of the bow (drumstick strike)</a></li><li><a href="#thickness">Sheet: thickness (push and release)</a></li><li><a href="#thickness-strike">Sheet: thickness (drumstick strike)</a></li><li><a href="#size">Sheet: size (push and release)</a></li></ul>
5656 <section id="strike-speed">
5757 <h2>Drumstick: stick speed</h2>
5858 <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>
@@ -818,5 +818,66 @@ svg.setup { display: block; max-width: 100%; height: auto; }
818818 <a href="../../?excitation=strike&h=0.002">Open in simulator</a>
819819 </div></div>
820820 </section>
821+<section id="size">
822+<h2>Sheet: size (push and release)</h2>
823+<p>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.</p>
824+<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>
825+<div class="cards"><div class="card">
826+ <div class="label">8 x 12 in</div>
827+ <audio controls preload="none" src="clips/size-0.wav"></audio>
828+ <img src="clips/size-0.png" alt="spectrogram" width="640" height="200">
829+ <div class="metrics">
830+ <div>peak 0.064 Pa (70 dB SPL)</div>
831+ <div>RMS 3.6 mPa</div>
832+ <div>centroid 300 Hz</div>
833+ <div>T60 100-500 Hz 4.4 s, 2-8 kHz 6.5 s</div>
834+
835+ <div class="dim">wav peak -3.8 dBFS</div>
836+ </div>
837+ <a href="../../?Lx=0.2032&Ly=0.3048">Open in simulator</a>
838+</div>
839+<div class="card">
840+ <div class="label">12 x 18 in (default)</div>
841+ <audio controls preload="none" src="clips/size-1.wav"></audio>
842+ <img src="clips/size-1.png" alt="spectrogram" width="640" height="200">
843+ <div class="metrics">
844+ <div>peak 0.046 Pa (67 dB SPL)</div>
845+ <div>RMS 3.3 mPa</div>
846+ <div>centroid 196 Hz</div>
847+ <div>T60 100-500 Hz 4.0 s, 2-8 kHz 7.7 s</div>
848+
849+ <div class="dim">wav peak -6.7 dBFS</div>
850+ </div>
851+ <a href="../../?">Open in simulator</a>
852+</div>
853+<div class="card">
854+ <div class="label">18 x 24 in</div>
855+ <audio controls preload="none" src="clips/size-2.wav"></audio>
856+ <img src="clips/size-2.png" alt="spectrogram" width="640" height="200">
857+ <div class="metrics">
858+ <div>peak 0.029 Pa (63 dB SPL)</div>
859+ <div>RMS 2.3 mPa</div>
860+ <div>centroid 122 Hz</div>
861+ <div>T60 100-500 Hz 4.1 s, 2-8 kHz 7.3 s</div>
862+
863+ <div class="dim">wav peak -10.8 dBFS</div>
864+ </div>
865+ <a href="../../?Lx=0.4572&Ly=0.6096">Open in simulator</a>
866+</div>
867+<div class="card">
868+ <div class="label">24 x 36 in</div>
869+ <audio controls preload="none" src="clips/size-3.wav"></audio>
870+ <img src="clips/size-3.png" alt="spectrogram" width="640" height="200">
871+ <div class="metrics">
872+ <div>peak 0.256 Pa (82 dB SPL)</div>
873+ <div>RMS 2.2 mPa</div>
874+ <div>centroid 532 Hz</div>
875+ <div>T60 100-500 Hz 4.2 s, 2-8 kHz 6.2 s</div>
876+
877+ <div class="dim">wav peak 8.2 dBFS (soft-clipped)</div>
878+ </div>
879+ <a href="../../?Lx=0.6096&Ly=0.9144">Open in simulator</a>
880+</div></div>
881+</section>
821882 <p class="dim">Generated by <code>steelsim gallery</code>; parameters not listed take the simulator defaults.</p>
822883 </body></html>
docs/gallery/size.jsonadded+178−0View file
@@ -0,0 +1,178 @@
1+{
2+ "sweep": {
3+ "id": "size",
4+ "title": "Sheet: size (push and release)",
5+ "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.",
6+ "clips": [
7+ {
8+ "label": "8 x 12 in",
9+ "params": {
10+ "Lx": 0.2032,
11+ "Ly": 0.3048
12+ }
13+ },
14+ {
15+ "label": "12 x 18 in (default)",
16+ "params": {}
17+ },
18+ {
19+ "label": "18 x 24 in",
20+ "params": {
21+ "Lx": 0.4572,
22+ "Ly": 0.6096
23+ }
24+ },
25+ {
26+ "label": "24 x 36 in",
27+ "params": {
28+ "Lx": 0.6096,
29+ "Ly": 0.9144
30+ }
31+ }
32+ ]
33+ },
34+ "gainDb": 20,
35+ "clips": [
36+ {
37+ "id": "size-0",
38+ "label": "8 x 12 in",
39+ "overrides": {
40+ "Lx": 0.2032,
41+ "Ly": 0.3048
42+ },
43+ "metrics": {
44+ "peakPa": 0.06421922892332077,
45+ "peakDbSpl": 70.1327018209665,
46+ "rmsPa": 0.0036191031731183723,
47+ "centroidHz": 299.64193921549156,
48+ "t60": {
49+ "20-100": 4.346948517507047,
50+ "100-500": 4.424210355044337,
51+ "500-2k": 2.739925934200017,
52+ "2k-8k": 6.492776611058871
53+ },
54+ "bandLevelsDb": {
55+ "20-100": -15.906993799804223,
56+ "100-500": 0,
57+ "500-2k": -7.329099751745332,
58+ "2k-8k": -25.330202165652075
59+ }
60+ },
61+ "gainDb": 20,
62+ "peakDbfs": -3.8466982657538615,
63+ "run": {
64+ "steps": 3072000,
65+ "seconds": 36.694463224999836,
66+ "nx": 26,
67+ "ny": 39,
68+ "dt": 0.0000013020833333333333,
69+ "maxContactForce": 0
70+ }
71+ },
72+ {
73+ "id": "size-1",
74+ "label": "12 x 18 in (default)",
75+ "overrides": {},
76+ "metrics": {
77+ "peakPa": 0.04646482318639755,
78+ "peakDbSpl": 67.32188586389826,
79+ "rmsPa": 0.0033498771907116485,
80+ "centroidHz": 195.7169225189091,
81+ "t60": {
82+ "20-100": 5.414347622298749,
83+ "100-500": 4.0120593180726445,
84+ "500-2k": 2.724403865668108,
85+ "2k-8k": 7.678595678417119
86+ },
87+ "bandLevelsDb": {
88+ "20-100": -1.153481711330091,
89+ "100-500": 0,
90+ "500-2k": -6.774905483785499,
91+ "2k-8k": -41.19767338483816
92+ }
93+ },
94+ "gainDb": 20,
95+ "peakDbfs": -6.657514222822115,
96+ "run": {
97+ "steps": 3072000,
98+ "seconds": 38.239591902999905,
99+ "nx": 39,
100+ "ny": 58,
101+ "dt": 0.0000013020833333333333,
102+ "maxContactForce": 0
103+ }
104+ },
105+ {
106+ "id": "size-2",
107+ "label": "18 x 24 in",
108+ "overrides": {
109+ "Lx": 0.4572,
110+ "Ly": 0.6096
111+ },
112+ "metrics": {
113+ "peakPa": 0.028950326144695282,
114+ "peakDbSpl": 63.212469300869344,
115+ "rmsPa": 0.0022534872667671294,
116+ "centroidHz": 122.12395952474397,
117+ "t60": {
118+ "20-100": 5.149722319264555,
119+ "100-500": 4.069609538323575,
120+ "500-2k": 2.550072167901959,
121+ "2k-8k": 7.337480492407415
122+ },
123+ "bandLevelsDb": {
124+ "20-100": 7.947559427523743,
125+ "100-500": 0,
126+ "500-2k": -20.521442114252682,
127+ "2k-8k": -37.471378494119236
128+ }
129+ },
130+ "gainDb": 20,
131+ "peakDbfs": -10.76693078585103,
132+ "run": {
133+ "steps": 3072000,
134+ "seconds": 40.36680082300003,
135+ "nx": 58,
136+ "ny": 77,
137+ "dt": 0.0000013020833333333333,
138+ "maxContactForce": 0
139+ }
140+ },
141+ {
142+ "id": "size-3",
143+ "label": "24 x 36 in",
144+ "overrides": {
145+ "Lx": 0.6096,
146+ "Ly": 0.9144
147+ },
148+ "metrics": {
149+ "peakPa": 0.2559710144996643,
150+ "peakDbSpl": 82.14321588080469,
151+ "rmsPa": 0.0021916269314661684,
152+ "centroidHz": 532.3725095271293,
153+ "t60": {
154+ "20-100": 4.9735527425503445,
155+ "100-500": 4.171193266572809,
156+ "500-2k": 4.718100357823921,
157+ "2k-8k": 6.246302875574128
158+ },
159+ "bandLevelsDb": {
160+ "20-100": 18.07003854092374,
161+ "100-500": 0,
162+ "500-2k": -44.21767621278057,
163+ "2k-8k": -12.44033342489616
164+ }
165+ },
166+ "gainDb": 20,
167+ "peakDbfs": 8.163815794084316,
168+ "run": {
169+ "steps": 3072000,
170+ "seconds": 43.87599745299993,
171+ "nx": 77,
172+ "ny": 115,
173+ "dt": 0.0000013020833333333333,
174+ "maxContactForce": 0
175+ }
176+ }
177+ ]
178+}