Update app.py
Browse files
app.py
CHANGED
@@ -48,31 +48,31 @@ with single_speaker:
|
|
48 |
)
|
49 |
slider_spk1_Le /= 1e3
|
50 |
slider_spk1_Bl = st.slider(
|
51 |
-
"Electromechanical factor (Bl) [
|
52 |
1.0,
|
53 |
20.0,
|
54 |
loudspeaker_cfg.electromechanical_factor,
|
55 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
slider_spk1_Mm = st.slider(
|
57 |
-
"Mechanical Mass (
|
58 |
1.0,
|
59 |
100.0,
|
60 |
loudspeaker_cfg.mechanical.mass * 1e3,
|
61 |
)
|
62 |
slider_spk1_Mm /= 1e3
|
63 |
slider_spk1_Cm = st.slider(
|
64 |
-
"Mechanical Compliance (
|
65 |
0.0,
|
66 |
5.0,
|
67 |
loudspeaker_cfg.mechanical.compliance * 1e3,
|
68 |
)
|
69 |
slider_spk1_Cm /= 1e3
|
70 |
-
slider_spk1_Rm = st.slider(
|
71 |
-
"Mechanical Resistance (Rm) [kg/s] .",
|
72 |
-
0.0,
|
73 |
-
10.0,
|
74 |
-
loudspeaker_cfg.mechanical.resistance,
|
75 |
-
)
|
76 |
slider_spk1_diam = st.slider(
|
77 |
"Effective diameter of radiation [cm] .",
|
78 |
1.0,
|
@@ -98,7 +98,7 @@ with single_speaker:
|
|
98 |
plotly_fig = plotly_full_figure(
|
99 |
freq_array, loudspeaker_responses_1, single_speaker=True
|
100 |
)
|
101 |
-
with
|
102 |
selectivity_factors = loudspeaker_responses_1["selectivity_params"]
|
103 |
|
104 |
st.dataframe(
|
@@ -106,6 +106,7 @@ with single_speaker:
|
|
106 |
hide_index=True,
|
107 |
use_container_width=True,
|
108 |
)
|
|
|
109 |
st.plotly_chart(plotly_fig, use_container_width=True, theme=None)
|
110 |
|
111 |
|
@@ -129,31 +130,31 @@ with two_speakers:
|
|
129 |
)
|
130 |
slider_spk1_Le /= 1e3
|
131 |
slider_spk1_Bl = st.slider(
|
132 |
-
"Electromechanical factor (Bl) [
|
133 |
1.0,
|
134 |
20.0,
|
135 |
loudspeaker_cfg.electromechanical_factor,
|
136 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
slider_spk1_Mm = st.slider(
|
138 |
-
"Mechanical Mass (
|
139 |
1.0,
|
140 |
100.0,
|
141 |
loudspeaker_cfg.mechanical.mass * 1e3,
|
142 |
)
|
143 |
slider_spk1_Mm /= 1e3
|
144 |
slider_spk1_Cm = st.slider(
|
145 |
-
"Mechanical Compliance (
|
146 |
0.0,
|
147 |
5.0,
|
148 |
loudspeaker_cfg.mechanical.compliance * 1e3,
|
149 |
)
|
150 |
slider_spk1_Cm /= 1e3
|
151 |
-
slider_spk1_Rm = st.slider(
|
152 |
-
"Mechanical Resistance (Rm) [kg/s]",
|
153 |
-
0.0,
|
154 |
-
10.0,
|
155 |
-
loudspeaker_cfg.mechanical.resistance,
|
156 |
-
)
|
157 |
slider_spk1_diam = st.slider(
|
158 |
"Effective diameter of radiation [cm]",
|
159 |
1.0,
|
@@ -179,31 +180,31 @@ with two_speakers:
|
|
179 |
)
|
180 |
slider_spk2_Le /= 1e3
|
181 |
slider_spk2_Bl = st.slider(
|
182 |
-
"Electromechanical factor (Bl) [
|
183 |
1.0,
|
184 |
20.0,
|
185 |
loudspeaker_cfg.electromechanical_factor,
|
186 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
slider_spk2_Mm = st.slider(
|
188 |
-
"Mechanical Mass (
|
189 |
1.0,
|
190 |
100.0,
|
191 |
loudspeaker_cfg.mechanical.mass * 1e3,
|
192 |
)
|
193 |
slider_spk2_Mm /= 1e3
|
194 |
slider_spk2_Cm = st.slider(
|
195 |
-
"Mechanical Compliance (
|
196 |
0.0,
|
197 |
5.0,
|
198 |
loudspeaker_cfg.mechanical.compliance * 1e3,
|
199 |
)
|
200 |
slider_spk2_Cm /= 1e3
|
201 |
-
slider_spk2_Rm = st.slider(
|
202 |
-
"Mechanical Resistance (Rm) [kg/s].",
|
203 |
-
0.0,
|
204 |
-
10.0,
|
205 |
-
loudspeaker_cfg.mechanical.resistance,
|
206 |
-
)
|
207 |
slider_spk2_diam = st.slider(
|
208 |
"Effective diameter of radiation [cm].",
|
209 |
1.0,
|
@@ -242,6 +243,24 @@ with two_speakers:
|
|
242 |
thiele_small_params_2, angular_freq_array, cfg.acoustical_constants
|
243 |
)
|
244 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
with plots:
|
246 |
plotly_fig = plotly_full_figure(
|
247 |
freq_array, loudspeaker_responses_1, loudspeaker_responses_2
|
|
|
48 |
)
|
49 |
slider_spk1_Le /= 1e3
|
50 |
slider_spk1_Bl = st.slider(
|
51 |
+
"Electromechanical factor (Bl) [T*m] .",
|
52 |
1.0,
|
53 |
20.0,
|
54 |
loudspeaker_cfg.electromechanical_factor,
|
55 |
)
|
56 |
+
slider_spk1_Rm = st.slider(
|
57 |
+
"Mechanical Resistance (Rms) [kg/s] .",
|
58 |
+
0.0,
|
59 |
+
10.0,
|
60 |
+
loudspeaker_cfg.mechanical.resistance,
|
61 |
+
)
|
62 |
slider_spk1_Mm = st.slider(
|
63 |
+
"Mechanical Mass (Mms) [g] .",
|
64 |
1.0,
|
65 |
100.0,
|
66 |
loudspeaker_cfg.mechanical.mass * 1e3,
|
67 |
)
|
68 |
slider_spk1_Mm /= 1e3
|
69 |
slider_spk1_Cm = st.slider(
|
70 |
+
"Mechanical Compliance (Cms) [mm/N] .",
|
71 |
0.0,
|
72 |
5.0,
|
73 |
loudspeaker_cfg.mechanical.compliance * 1e3,
|
74 |
)
|
75 |
slider_spk1_Cm /= 1e3
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
slider_spk1_diam = st.slider(
|
77 |
"Effective diameter of radiation [cm] .",
|
78 |
1.0,
|
|
|
98 |
plotly_fig = plotly_full_figure(
|
99 |
freq_array, loudspeaker_responses_1, single_speaker=True
|
100 |
)
|
101 |
+
with col1:
|
102 |
selectivity_factors = loudspeaker_responses_1["selectivity_params"]
|
103 |
|
104 |
st.dataframe(
|
|
|
106 |
hide_index=True,
|
107 |
use_container_width=True,
|
108 |
)
|
109 |
+
with col2:
|
110 |
st.plotly_chart(plotly_fig, use_container_width=True, theme=None)
|
111 |
|
112 |
|
|
|
130 |
)
|
131 |
slider_spk1_Le /= 1e3
|
132 |
slider_spk1_Bl = st.slider(
|
133 |
+
"Electromechanical factor (Bl) [T*m]",
|
134 |
1.0,
|
135 |
20.0,
|
136 |
loudspeaker_cfg.electromechanical_factor,
|
137 |
)
|
138 |
+
slider_spk1_Rm = st.slider(
|
139 |
+
"Mechanical Resistance (Rms) [kg/s]",
|
140 |
+
0.0,
|
141 |
+
10.0,
|
142 |
+
loudspeaker_cfg.mechanical.resistance,
|
143 |
+
)
|
144 |
slider_spk1_Mm = st.slider(
|
145 |
+
"Mechanical Mass (Mms) [g]",
|
146 |
1.0,
|
147 |
100.0,
|
148 |
loudspeaker_cfg.mechanical.mass * 1e3,
|
149 |
)
|
150 |
slider_spk1_Mm /= 1e3
|
151 |
slider_spk1_Cm = st.slider(
|
152 |
+
"Mechanical Compliance (Cms) [mm/N]",
|
153 |
0.0,
|
154 |
5.0,
|
155 |
loudspeaker_cfg.mechanical.compliance * 1e3,
|
156 |
)
|
157 |
slider_spk1_Cm /= 1e3
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
slider_spk1_diam = st.slider(
|
159 |
"Effective diameter of radiation [cm]",
|
160 |
1.0,
|
|
|
180 |
)
|
181 |
slider_spk2_Le /= 1e3
|
182 |
slider_spk2_Bl = st.slider(
|
183 |
+
"Electromechanical factor (Bl) [T*m].",
|
184 |
1.0,
|
185 |
20.0,
|
186 |
loudspeaker_cfg.electromechanical_factor,
|
187 |
)
|
188 |
+
slider_spk2_Rm = st.slider(
|
189 |
+
"Mechanical Resistance (Rms) [kg/s].",
|
190 |
+
0.0,
|
191 |
+
10.0,
|
192 |
+
loudspeaker_cfg.mechanical.resistance,
|
193 |
+
)
|
194 |
slider_spk2_Mm = st.slider(
|
195 |
+
"Mechanical Mass (Mms) [g].",
|
196 |
1.0,
|
197 |
100.0,
|
198 |
loudspeaker_cfg.mechanical.mass * 1e3,
|
199 |
)
|
200 |
slider_spk2_Mm /= 1e3
|
201 |
slider_spk2_Cm = st.slider(
|
202 |
+
"Mechanical Compliance (Cms) [mm/N].",
|
203 |
0.0,
|
204 |
5.0,
|
205 |
loudspeaker_cfg.mechanical.compliance * 1e3,
|
206 |
)
|
207 |
slider_spk2_Cm /= 1e3
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
slider_spk2_diam = st.slider(
|
209 |
"Effective diameter of radiation [cm].",
|
210 |
1.0,
|
|
|
243 |
thiele_small_params_2, angular_freq_array, cfg.acoustical_constants
|
244 |
)
|
245 |
|
246 |
+
with spk1:
|
247 |
+
selectivity_factors = loudspeaker_responses_1["selectivity_params"]
|
248 |
+
|
249 |
+
st.dataframe(
|
250 |
+
pd.DataFrame([selectivity_factors]),
|
251 |
+
hide_index=True,
|
252 |
+
use_container_width=True,
|
253 |
+
)
|
254 |
+
|
255 |
+
with spk2:
|
256 |
+
selectivity_factors = loudspeaker_responses_2["selectivity_params"]
|
257 |
+
|
258 |
+
st.dataframe(
|
259 |
+
pd.DataFrame([selectivity_factors]),
|
260 |
+
hide_index=True,
|
261 |
+
use_container_width=True,
|
262 |
+
)
|
263 |
+
|
264 |
with plots:
|
265 |
plotly_fig = plotly_full_figure(
|
266 |
freq_array, loudspeaker_responses_1, loudspeaker_responses_2
|