/ proof-of-concept / steelsim21
Sign in
proof-of-concept / steelsim21
Gallery: 24 sweep(s) rendered
Jeremy Magland <jmagland@flatironinstitute.org> committed commit 22bf11971a76 parent 2a2ba5c Browse files
14 changed files+387−1
docs/gallery/clips/outline-0.jsonadded+33−0View file
@@ -0,0 +1,33 @@
1+{
2+ "id": "outline-0",
3+ "label": "rectangle 12 x 18 in",
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": 42.849673933,
28+ "nx": 39,
29+ "ny": 58,
30+ "dt": 0.0000013020833333333333,
31+ "maxContactForce": 0
32+ }
33+}
\ No newline at end of file
docs/gallery/clips/outline-0.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/outline-0.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/outline-1.jsonadded+36−0View file
@@ -0,0 +1,36 @@
1+{
2+ "id": "outline-1",
3+ "label": "square 14.7 x 14.7 in",
4+ "overrides": {
5+ "Lx": 0.37338,
6+ "Ly": 0.37338
7+ },
8+ "metrics": {
9+ "peakPa": 0.04231245815753937,
10+ "peakDbSpl": 66.50876521790033,
11+ "rmsPa": 0.0028998146339706604,
12+ "centroidHz": 153.78177339593006,
13+ "t60": {
14+ "20-100": 5.176072339399107,
15+ "100-500": 3.820017095709612,
16+ "500-2k": 2.241561999735097,
17+ "2k-8k": 9.780195948134796
18+ },
19+ "bandLevelsDb": {
20+ "20-100": -1.3510534619823353,
21+ "100-500": 0,
22+ "500-2k": -14.446884787907162,
23+ "2k-8k": -52.06856588691713
24+ }
25+ },
26+ "gainDb": 20,
27+ "peakDbfs": -7.470634868820039,
28+ "run": {
29+ "steps": 3072000,
30+ "seconds": 42.348293672,
31+ "nx": 48,
32+ "ny": 48,
33+ "dt": 0.0000013020833333333333,
34+ "maxContactForce": 0
35+ }
36+}
\ No newline at end of file
docs/gallery/clips/outline-1.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/outline-1.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/outline-2.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "outline-2",
3+ "label": "ellipse 13.5 x 20.3 in",
4+ "overrides": {
5+ "shape": "ellipse",
6+ "Lx": 0.34392,
7+ "Ly": 0.51587
8+ },
9+ "metrics": {
10+ "peakPa": 0.14824815094470978,
11+ "peakDbSpl": 77.39918579159244,
12+ "rmsPa": 0.006297742425164596,
13+ "centroidHz": 151.43483142404193,
14+ "t60": {
15+ "20-100": 5.541885223616255,
16+ "100-500": 3.6135197136357577,
17+ "500-2k": 2.517116322913482,
18+ "2k-8k": 5.01921553930616
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -4.0901172080218515,
22+ "100-500": 0,
23+ "500-2k": -5.60376521355435,
24+ "2k-8k": -31.47152866858852
25+ }
26+ },
27+ "gainDb": 20,
28+ "peakDbfs": 3.4197857048720732,
29+ "run": {
30+ "steps": 3072000,
31+ "seconds": 44.373019035999995,
32+ "nx": 44,
33+ "ny": 65,
34+ "dt": 0.0000013020833333333333,
35+ "maxContactForce": 0
36+ }
37+}
\ No newline at end of file
docs/gallery/clips/outline-2.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/outline-2.wavadded+0−0View file
Binary file not shown.
docs/gallery/clips/outline-3.jsonadded+37−0View file
@@ -0,0 +1,37 @@
1+{
2+ "id": "outline-3",
3+ "label": "circle 16.6 in",
4+ "overrides": {
5+ "shape": "ellipse",
6+ "Lx": 0.42113,
7+ "Ly": 0.42113
8+ },
9+ "metrics": {
10+ "peakPa": 0.15776817500591278,
11+ "peakDbSpl": 77.93978812334517,
12+ "rmsPa": 0.00580468937676945,
13+ "centroidHz": 204.2454460973163,
14+ "t60": {
15+ "20-100": 5.958157976691518,
16+ "100-500": 4.140714994700199,
17+ "500-2k": 2.1795926718210104,
18+ "2k-8k": 5.894120197652497
19+ },
20+ "bandLevelsDb": {
21+ "20-100": -4.664294294628739,
22+ "100-500": 0,
23+ "500-2k": -14.347769638807126,
24+ "2k-8k": -53.3015134659577
25+ }
26+ },
27+ "gainDb": 20,
28+ "peakDbfs": 3.9603880366247832,
29+ "run": {
30+ "steps": 3072000,
31+ "seconds": 44.88345293100001,
32+ "nx": 54,
33+ "ny": 54,
34+ "dt": 0.0000013020833333333333,
35+ "maxContactForce": 0
36+ }
37+}
\ No newline at end of file
docs/gallery/clips/outline-3.pngadded+0−0View file
Binary file not shown.
docs/gallery/clips/outline-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><li><a href="#size">Sheet: size (push and release)</a></li><li><a href="#size-strike">Sheet: size (drumstick strike)</a></li><li><a href="#material">Sheet: material (push and release)</a></li><li><a href="#material-strike">Sheet: material (drumstick strike)</a></li><li><a href="#damping-sigma0">Damping: frequency-independent loss (push and release)</a></li><li><a href="#damping-sigma0-strike">Damping: frequency-independent loss (drumstick strike)</a></li><li><a href="#damping-sigma1">Damping: frequency-dependent loss (push and release)</a></li><li><a href="#damping-sigma1-strike">Damping: frequency-dependent loss (drumstick strike)</a></li><li><a href="#damping-inplane">Damping: in-plane loss (push and release)</a></li><li><a href="#damping-inplane-strike">Damping: in-plane loss (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><li><a href="#size-strike">Sheet: size (drumstick strike)</a></li><li><a href="#outline">Sheet: outline at equal area (push and release)</a></li><li><a href="#material">Sheet: material (push and release)</a></li><li><a href="#material-strike">Sheet: material (drumstick strike)</a></li><li><a href="#damping-sigma0">Damping: frequency-independent loss (push and release)</a></li><li><a href="#damping-sigma0-strike">Damping: frequency-independent loss (drumstick strike)</a></li><li><a href="#damping-sigma1">Damping: frequency-dependent loss (push and release)</a></li><li><a href="#damping-sigma1-strike">Damping: frequency-dependent loss (drumstick strike)</a></li><li><a href="#damping-inplane">Damping: in-plane loss (push and release)</a></li><li><a href="#damping-inplane-strike">Damping: in-plane loss (drumstick strike)</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. In these clips the peak level rises from about 87 dB at 0.5 m/s to 109 dB at 6 m/s, and the spectral centroid from about 190 Hz to 1.6 kHz, so the sound grows brighter as well as louder.</p>
@@ -940,6 +940,67 @@ svg.setup { display: block; max-width: 100%; height: auto; }
940940 <a href="../../?excitation=strike&Lx=0.6096&Ly=0.9144">Open in simulator</a>
941941 </div></div>
942942 </section>
943+<section id="outline">
944+<h2>Sheet: outline at equal area (push and release)</h2>
945+<p>Four outlines cut from the same amount of steel (216 square inches, the area of the default 12 by 18 inch sheet): the rectangle, a square, the ellipse of the same 2:3 proportions, and a circle. Everything else is held at the defaults, including the 3 mm bow across the width. The push acts at a corner for the rectangle and the square and at the rim point opposite the hole for the ellipse and the circle, so part of the difference is the excitation itself: a rim point of an ellipse is stiffer than the corner of a rectangle, and the same 10 mm push deforms the whole sheet rather than bending a corner.</p>
946+<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>
947+<div class="cards"><div class="card">
948+ <div class="label">rectangle 12 x 18 in</div>
949+ <audio controls preload="none" src="clips/outline-0.wav"></audio>
950+ <img src="clips/outline-0.png" alt="spectrogram" width="640" height="200">
951+ <div class="metrics">
952+ <div>peak 0.046 Pa (67 dB SPL)</div>
953+ <div>RMS 3.3 mPa</div>
954+ <div>centroid 196 Hz</div>
955+ <div>T60 100-500 Hz 4.0 s, 2-8 kHz 7.7 s</div>
956+
957+ <div class="dim">wav peak -6.7 dBFS</div>
958+ </div>
959+ <a href="../../?">Open in simulator</a>
960+</div>
961+<div class="card">
962+ <div class="label">square 14.7 x 14.7 in</div>
963+ <audio controls preload="none" src="clips/outline-1.wav"></audio>
964+ <img src="clips/outline-1.png" alt="spectrogram" width="640" height="200">
965+ <div class="metrics">
966+ <div>peak 0.042 Pa (67 dB SPL)</div>
967+ <div>RMS 2.9 mPa</div>
968+ <div>centroid 154 Hz</div>
969+ <div>T60 100-500 Hz 3.8 s, 2-8 kHz 9.8 s</div>
970+
971+ <div class="dim">wav peak -7.5 dBFS</div>
972+ </div>
973+ <a href="../../?Lx=0.37338&Ly=0.37338">Open in simulator</a>
974+</div>
975+<div class="card">
976+ <div class="label">ellipse 13.5 x 20.3 in</div>
977+ <audio controls preload="none" src="clips/outline-2.wav"></audio>
978+ <img src="clips/outline-2.png" alt="spectrogram" width="640" height="200">
979+ <div class="metrics">
980+ <div>peak 0.148 Pa (77 dB SPL)</div>
981+ <div>RMS 6.3 mPa</div>
982+ <div>centroid 151 Hz</div>
983+ <div>T60 100-500 Hz 3.6 s, 2-8 kHz 5.0 s</div>
984+
985+ <div class="dim">wav peak 3.4 dBFS (soft-clipped)</div>
986+ </div>
987+ <a href="../../?shape=ellipse&Lx=0.34392&Ly=0.51587">Open in simulator</a>
988+</div>
989+<div class="card">
990+ <div class="label">circle 16.6 in</div>
991+ <audio controls preload="none" src="clips/outline-3.wav"></audio>
992+ <img src="clips/outline-3.png" alt="spectrogram" width="640" height="200">
993+ <div class="metrics">
994+ <div>peak 0.158 Pa (78 dB SPL)</div>
995+ <div>RMS 5.8 mPa</div>
996+ <div>centroid 204 Hz</div>
997+ <div>T60 100-500 Hz 4.1 s, 2-8 kHz 5.9 s</div>
998+
999+ <div class="dim">wav peak 4.0 dBFS (soft-clipped)</div>
1000+ </div>
1001+ <a href="../../?shape=ellipse&Lx=0.42113&Ly=0.42113">Open in simulator</a>
1002+</div></div>
1003+</section>
9431004 <section id="material">
9441005 <h2>Sheet: material (push and release)</h2>
9451006 <p>Stainless steel, aluminium, and brass at the same thickness. The mode frequencies scale with the square root of E over rho, which is nearly the same for steel and aluminium but about 30 percent lower for brass, so the brass sheet sounds lower and, under the same push, about 7 dB quieter. The loss parameters are kept fixed, although real materials differ there too.</p>
docs/gallery/outline.jsonadded+182−0View file
@@ -0,0 +1,182 @@
1+{
2+ "sweep": {
3+ "id": "outline",
4+ "title": "Sheet: outline at equal area (push and release)",
5+ "text": "Four outlines cut from the same amount of steel (216 square inches, the area of the default 12 by 18 inch sheet): the rectangle, a square, the ellipse of the same 2:3 proportions, and a circle. Everything else is held at the defaults, including the 3 mm bow across the width. The push acts at a corner for the rectangle and the square and at the rim point opposite the hole for the ellipse and the circle, so part of the difference is the excitation itself: a rim point of an ellipse is stiffer than the corner of a rectangle, and the same 10 mm push deforms the whole sheet rather than bending a corner.",
6+ "clips": [
7+ {
8+ "label": "rectangle 12 x 18 in",
9+ "params": {}
10+ },
11+ {
12+ "label": "square 14.7 x 14.7 in",
13+ "params": {
14+ "Lx": 0.37338,
15+ "Ly": 0.37338
16+ }
17+ },
18+ {
19+ "label": "ellipse 13.5 x 20.3 in",
20+ "params": {
21+ "shape": "ellipse",
22+ "Lx": 0.34392,
23+ "Ly": 0.51587
24+ }
25+ },
26+ {
27+ "label": "circle 16.6 in",
28+ "params": {
29+ "shape": "ellipse",
30+ "Lx": 0.42113,
31+ "Ly": 0.42113
32+ }
33+ }
34+ ]
35+ },
36+ "gainDb": 20,
37+ "clips": [
38+ {
39+ "id": "outline-0",
40+ "label": "rectangle 12 x 18 in",
41+ "overrides": {},
42+ "metrics": {
43+ "peakPa": 0.04646482318639755,
44+ "peakDbSpl": 67.32188586389826,
45+ "rmsPa": 0.0033498771907116485,
46+ "centroidHz": 195.7169225189091,
47+ "t60": {
48+ "20-100": 5.414347622298749,
49+ "100-500": 4.0120593180726445,
50+ "500-2k": 2.724403865668108,
51+ "2k-8k": 7.678595678417119
52+ },
53+ "bandLevelsDb": {
54+ "20-100": -1.153481711330091,
55+ "100-500": 0,
56+ "500-2k": -6.774905483785499,
57+ "2k-8k": -41.19767338483816
58+ }
59+ },
60+ "gainDb": 20,
61+ "peakDbfs": -6.657514222822115,
62+ "run": {
63+ "steps": 3072000,
64+ "seconds": 42.849673933,
65+ "nx": 39,
66+ "ny": 58,
67+ "dt": 0.0000013020833333333333,
68+ "maxContactForce": 0
69+ }
70+ },
71+ {
72+ "id": "outline-1",
73+ "label": "square 14.7 x 14.7 in",
74+ "overrides": {
75+ "Lx": 0.37338,
76+ "Ly": 0.37338
77+ },
78+ "metrics": {
79+ "peakPa": 0.04231245815753937,
80+ "peakDbSpl": 66.50876521790033,
81+ "rmsPa": 0.0028998146339706604,
82+ "centroidHz": 153.78177339593006,
83+ "t60": {
84+ "20-100": 5.176072339399107,
85+ "100-500": 3.820017095709612,
86+ "500-2k": 2.241561999735097,
87+ "2k-8k": 9.780195948134796
88+ },
89+ "bandLevelsDb": {
90+ "20-100": -1.3510534619823353,
91+ "100-500": 0,
92+ "500-2k": -14.446884787907162,
93+ "2k-8k": -52.06856588691713
94+ }
95+ },
96+ "gainDb": 20,
97+ "peakDbfs": -7.470634868820039,
98+ "run": {
99+ "steps": 3072000,
100+ "seconds": 42.348293672,
101+ "nx": 48,
102+ "ny": 48,
103+ "dt": 0.0000013020833333333333,
104+ "maxContactForce": 0
105+ }
106+ },
107+ {
108+ "id": "outline-2",
109+ "label": "ellipse 13.5 x 20.3 in",
110+ "overrides": {
111+ "shape": "ellipse",
112+ "Lx": 0.34392,
113+ "Ly": 0.51587
114+ },
115+ "metrics": {
116+ "peakPa": 0.14824815094470978,
117+ "peakDbSpl": 77.39918579159244,
118+ "rmsPa": 0.006297742425164596,
119+ "centroidHz": 151.43483142404193,
120+ "t60": {
121+ "20-100": 5.541885223616255,
122+ "100-500": 3.6135197136357577,
123+ "500-2k": 2.517116322913482,
124+ "2k-8k": 5.01921553930616
125+ },
126+ "bandLevelsDb": {
127+ "20-100": -4.0901172080218515,
128+ "100-500": 0,
129+ "500-2k": -5.60376521355435,
130+ "2k-8k": -31.47152866858852
131+ }
132+ },
133+ "gainDb": 20,
134+ "peakDbfs": 3.4197857048720732,
135+ "run": {
136+ "steps": 3072000,
137+ "seconds": 44.373019035999995,
138+ "nx": 44,
139+ "ny": 65,
140+ "dt": 0.0000013020833333333333,
141+ "maxContactForce": 0
142+ }
143+ },
144+ {
145+ "id": "outline-3",
146+ "label": "circle 16.6 in",
147+ "overrides": {
148+ "shape": "ellipse",
149+ "Lx": 0.42113,
150+ "Ly": 0.42113
151+ },
152+ "metrics": {
153+ "peakPa": 0.15776817500591278,
154+ "peakDbSpl": 77.93978812334517,
155+ "rmsPa": 0.00580468937676945,
156+ "centroidHz": 204.2454460973163,
157+ "t60": {
158+ "20-100": 5.958157976691518,
159+ "100-500": 4.140714994700199,
160+ "500-2k": 2.1795926718210104,
161+ "2k-8k": 5.894120197652497
162+ },
163+ "bandLevelsDb": {
164+ "20-100": -4.664294294628739,
165+ "100-500": 0,
166+ "500-2k": -14.347769638807126,
167+ "2k-8k": -53.3015134659577
168+ }
169+ },
170+ "gainDb": 20,
171+ "peakDbfs": 3.9603880366247832,
172+ "run": {
173+ "steps": 3072000,
174+ "seconds": 44.88345293100001,
175+ "nx": 54,
176+ "ny": 54,
177+ "dt": 0.0000013020833333333333,
178+ "maxContactForce": 0
179+ }
180+ }
181+ ]
182+}
\ No newline at end of file
↑↓ move↵openescclose