Summary
This experiment investigates drum head tuning. Central composite design to maximize resonance and minimize overtones by tuning batter tension, resonant tension, and muffling amount.
The design varies 3 factors: batter torque (in-lb), ranging from 20 to 80, reso torque (in-lb), ranging from 20 to 80, and muffle pct (%), ranging from 0 to 50. The goal is to optimize 2 responses: resonance (pts) (maximize) and overtone control (pts) (maximize). Fixed conditions held constant across all runs include drum size = 14x5_snare, head type = coated.
A Central Composite Design (CCD) was selected to fit a full quadratic response surface model, including curvature and interaction effects. With 3 factors this produces 22 runs including center points and axial (star) points that extend beyond the factorial range.
Quadratic response surface models were fitted to capture potential curvature and factor interactions. The RSM contour plots below visualize how pairs of factors jointly affect each response.
Key Findings
For resonance, the most influential factors were reso torque (40.6%), muffle pct (40.6%), batter torque (18.8%). The best observed value was 8.9 (at batter torque = 50, reso torque = 50, muffle pct = 25).
For overtone control, the most influential factors were muffle pct (73.6%), reso torque (16.6%), batter torque (9.7%). The best observed value was 7.6 (at batter torque = 20, reso torque = 20, muffle pct = 0).
Recommended Next Steps
- Run confirmation experiments at the predicted optimal settings to validate the model.
- Consider whether any fixed factors should be varied in a future study.
Experimental Setup
Factors
| Factor | Low | High | Unit |
batter_torque | 20 | 80 | in-lb |
reso_torque | 20 | 80 | in-lb |
muffle_pct | 0 | 50 | % |
Fixed: drum_size = 14x5_snare, head_type = coated
Responses
| Response | Direction | Unit |
resonance | ↑ maximize | pts |
overtone_control | ↑ maximize | pts |
Configuration
{
"metadata": {
"name": "Drum Head Tuning",
"description": "Central composite design to maximize resonance and minimize overtones by tuning batter tension, resonant tension, and muffling amount"
},
"factors": [
{
"name": "batter_torque",
"levels": [
"20",
"80"
],
"type": "continuous",
"unit": "in-lb"
},
{
"name": "reso_torque",
"levels": [
"20",
"80"
],
"type": "continuous",
"unit": "in-lb"
},
{
"name": "muffle_pct",
"levels": [
"0",
"50"
],
"type": "continuous",
"unit": "%"
}
],
"fixed_factors": {
"drum_size": "14x5_snare",
"head_type": "coated"
},
"responses": [
{
"name": "resonance",
"optimize": "maximize",
"unit": "pts"
},
{
"name": "overtone_control",
"optimize": "maximize",
"unit": "pts"
}
],
"settings": {
"operation": "central_composite",
"test_script": "use_cases/162_drum_tuning/sim.sh"
}
}
Experimental Matrix
The Central Composite Design produces 22 runs. Each row is one experiment with specific factor settings.
| Run | batter_torque | reso_torque | muffle_pct |
| 1 | 50 | 50 | 25 |
| 2 | 80 | 20 | 50 |
| 3 | 20 | 80 | 0 |
| 4 | 50 | 104.772 | 25 |
| 5 | 50 | 50 | 25 |
| 6 | -4.77226 | 50 | 25 |
| 7 | 50 | 50 | -20.6435 |
| 8 | 50 | 50 | 25 |
| 9 | 80 | 80 | 0 |
| 10 | 104.772 | 50 | 25 |
| 11 | 50 | 50 | 25 |
| 12 | 50 | -4.77226 | 25 |
| 13 | 50 | 50 | 25 |
| 14 | 20 | 20 | 50 |
| 15 | 50 | 50 | 25 |
| 16 | 80 | 20 | 0 |
| 17 | 50 | 50 | 70.6435 |
| 18 | 80 | 80 | 50 |
| 19 | 50 | 50 | 25 |
| 20 | 20 | 20 | 0 |
| 21 | 20 | 80 | 50 |
| 22 | 50 | 50 | 25 |
Step-by-Step Workflow
1
Preview the design
$ doe info --config use_cases/162_drum_tuning/config.json
2
Generate the runner script
$ doe generate --config use_cases/162_drum_tuning/config.json \
--output use_cases/162_drum_tuning/results/run.sh --seed 42
3
Execute the experiments
$ bash use_cases/162_drum_tuning/results/run.sh
4
Analyze results
$ doe analyze --config use_cases/162_drum_tuning/config.json
5
Get optimization recommendations
$ doe optimize --config use_cases/162_drum_tuning/config.json
6
Multi-objective optimization
With 2 competing responses, use --multi to find the best compromise via Derringer–Suich desirability.
$ doe optimize --config use_cases/162_drum_tuning/config.json --multi
7
Generate the HTML report
$ doe report --config use_cases/162_drum_tuning/config.json \
--output use_cases/162_drum_tuning/results/report.html
Features Exercised
| Feature | Value |
| Design type | central_composite |
| Factor types | continuous (all 3) |
| Arg style | double-dash |
| Responses | 2 (resonance ↑, overtone_control ↑) |
| Total runs | 22 |
Analysis Results
Generated from actual experiment runs using the DOE Helper Tool.
Response: resonance
Top factors: reso_torque (40.6%), muffle_pct (40.6%), batter_torque (18.8%).
ANOVA
| Source | DF | SS | MS | F | p-value |
| Source | DF | SS | MS | F | p-value |
| batter_torque | 4 | 3.8252 | 0.9563 | 0.364 | 0.8284 |
| reso_torque | 4 | 4.8527 | 1.2132 | 0.462 | 0.7625 |
| muffle_pct | 4 | 7.0177 | 1.7544 | 0.668 | 0.6303 |
| Lack | of | Fit | 2 | 16.1433 | 8.0716 |
| Pure | Error | 7 | 18.3888 | | |
| Error | 9 | 34.5320 | 2.6270 | | |
| Total | 21 | 50.2277 | 2.3918 | | |
Pareto Chart
Main Effects Plot
Normal Probability Plot of Effects
Half-Normal Plot of Effects
Model Diagnostics
Response: overtone_control
Top factors: muffle_pct (73.6%), reso_torque (16.6%), batter_torque (9.7%).
ANOVA
| Source | DF | SS | MS | F | p-value |
| Source | DF | SS | MS | F | p-value |
| batter_torque | 4 | 0.9836 | 0.2459 | 0.069 | 0.9897 |
| reso_torque | 4 | 2.4777 | 0.6194 | 0.174 | 0.9461 |
| muffle_pct | 4 | 15.6661 | 3.9165 | 1.101 | 0.4128 |
| Lack | of | Fit | 2 | 11.3816 | 5.6908 |
| Pure | Error | 7 | 24.8987 | | |
| Error | 9 | 36.2804 | 3.5570 | | |
| Total | 21 | 55.4077 | 2.6385 | | |
Pareto Chart
Main Effects Plot
Normal Probability Plot of Effects
Half-Normal Plot of Effects
Model Diagnostics
Response Surface Plots
3D surfaces fitted with quadratic RSM. Red dots are observed data points.
overtone control batter torque vs muffle pct
overtone control batter torque vs reso torque
overtone control reso torque vs muffle pct
resonance batter torque vs muffle pct
resonance batter torque vs reso torque
resonance reso torque vs muffle pct
Multi-Objective Optimization
When responses compete, Derringer–Suich desirability finds the best compromise.
Each response is scaled to a 0–1 desirability, then combined via a weighted geometric mean.
Overall Desirability
D = 0.6024
Per-Response Desirability
| Response | Weight | Desirability | Predicted | Dir |
resonance |
1.5 |
|
6.30 0.5733 6.30 pts |
↑ |
overtone_control |
1.5 |
|
5.30 0.6329 5.30 pts |
↑ |
Recommended Settings
| Factor | Value |
batter_torque | 50 in-lb |
reso_torque | 104.772 in-lb |
muffle_pct | 25 % |
Source: from observed run #8
Trade-off Summary
Sacrifice = how much worse than single-objective best.
| Response | Predicted | Best Observed | Sacrifice |
overtone_control | 5.30 | 7.60 | +2.30 |
Top 3 Runs by Desirability
| Run | D | Factor Settings |
| #18 | 0.5845 | batter_torque=50, reso_torque=50, muffle_pct=25 |
| #1 | 0.5813 | batter_torque=20, reso_torque=20, muffle_pct=0 |
Model Quality
| Response | R² | Type |
overtone_control | 0.0886 | linear |
Full Multi-Objective Output
============================================================
MULTI-OBJECTIVE OPTIMIZATION
Method: Derringer-Suich Desirability Function
============================================================
Overall desirability: D = 0.6024
Response Weight Desirability Predicted Direction
---------------------------------------------------------------------
resonance 1.5 0.5733 6.30 pts ↑
overtone_control 1.5 0.6329 5.30 pts ↑
Recommended settings:
batter_torque = 50 in-lb
reso_torque = 104.772 in-lb
muffle_pct = 25 %
(from observed run #8)
Trade-off summary:
resonance: 6.30 (best observed: 8.90, sacrifice: +2.60)
overtone_control: 5.30 (best observed: 7.60, sacrifice: +2.30)
Model quality:
resonance: R² = 0.1828 (linear)
overtone_control: R² = 0.0886 (linear)
Top 3 observed runs by overall desirability:
1. Run #8 (D=0.6024): batter_torque=50, reso_torque=104.772, muffle_pct=25
2. Run #18 (D=0.5845): batter_torque=50, reso_torque=50, muffle_pct=25
3. Run #1 (D=0.5813): batter_torque=20, reso_torque=20, muffle_pct=0
Full Analysis Output
=== Main Effects: resonance ===
Factor Effect Std Error % Contribution
--------------------------------------------------------------
reso_torque 2.7000 0.3297 40.6%
muffle_pct 2.7000 0.3297 40.6%
batter_torque 1.2500 0.3297 18.8%
=== ANOVA Table: resonance ===
Source DF SS MS F p-value
-----------------------------------------------------------------------------
batter_torque 4 3.8252 0.9563 0.364 0.8284
reso_torque 4 4.8527 1.2132 0.462 0.7625
muffle_pct 4 7.0177 1.7544 0.668 0.6303
Lack of Fit 2 16.1433 8.0716 3.073 0.1102
Pure Error 7 18.3888 2.6270
Error 9 34.5320 2.6270
Total 21 50.2277 2.3918
=== Summary Statistics: resonance ===
batter_torque:
Level N Mean Std Min Max
------------------------------------------------------------
-4.77226 1 6.3000 0.0000 6.3000 6.3000
104.772 1 5.9000 0.0000 5.9000 5.9000
20 4 6.2500 0.5916 5.8000 7.1000
50 12 5.4250 1.5639 3.5000 8.9000
80 4 5.0500 2.4799 2.7000 8.1000
reso_torque:
Level N Mean Std Min Max
------------------------------------------------------------
-4.77226 1 3.7000 0.0000 3.7000 3.7000
104.772 1 6.4000 0.0000 6.4000 6.4000
20 4 5.3750 1.3226 3.4000 6.2000
50 12 5.6000 1.4647 3.5000 8.9000
80 4 5.9250 2.3472 2.7000 8.1000
muffle_pct:
Level N Mean Std Min Max
------------------------------------------------------------
-20.6435 1 6.0000 0.0000 6.0000 6.0000
0 4 5.1000 1.6021 2.7000 6.0000
25 12 5.6500 1.4538 3.6000 8.9000
50 4 6.2000 2.0216 3.4000 8.1000
70.6435 1 3.5000 0.0000 3.5000 3.5000
=== Main Effects: overtone_control ===
Factor Effect Std Error % Contribution
--------------------------------------------------------------
muffle_pct 5.1000 0.3463 73.6%
reso_torque 1.1500 0.3463 16.6%
batter_torque 0.6750 0.3463 9.7%
=== ANOVA Table: overtone_control ===
Source DF SS MS F p-value
-----------------------------------------------------------------------------
batter_torque 4 0.9836 0.2459 0.069 0.9897
reso_torque 4 2.4777 0.6194 0.174 0.9461
muffle_pct 4 15.6661 3.9165 1.101 0.4128
Lack of Fit 2 11.3816 5.6908 1.600 0.2678
Pure Error 7 24.8987 3.5570
Error 9 36.2804 3.5570
Total 21 55.4077 2.6385
=== Summary Statistics: overtone_control ===
batter_torque:
Level N Mean Std Min Max
------------------------------------------------------------
-4.77226 1 5.3000 0.0000 5.3000 5.3000
104.772 1 5.1000 0.0000 5.1000 5.1000
20 4 4.6250 0.9535 3.2000 5.2000
50 12 4.9417 1.8701 1.1000 7.6000
80 4 5.2750 2.0998 2.5000 7.0000
reso_torque:
Level N Mean Std Min Max
------------------------------------------------------------
-4.77226 1 5.6000 0.0000 5.6000 5.6000
104.772 1 4.7000 0.0000 4.7000 4.7000
20 4 5.4500 0.9147 4.8000 6.8000
50 12 4.9500 1.8618 1.1000 7.6000
80 4 4.4500 2.0240 2.5000 7.0000
muffle_pct:
Level N Mean Std Min Max
------------------------------------------------------------
-20.6435 1 2.5000 0.0000 2.5000 2.5000
0 4 5.5250 0.9979 4.8000 7.0000
25 12 4.9667 1.5251 1.1000 6.8000
50 4 4.3750 1.9294 2.5000 6.8000
70.6435 1 7.6000 0.0000 7.6000 7.6000
Optimization Recommendations
=== Optimization: resonance ===
Direction: maximize
Best observed run: #7
batter_torque = 50
reso_torque = 50
muffle_pct = 25
Value: 8.9
RSM Model (linear, R² = 0.2820, Adj R² = 0.1623):
Coefficients:
intercept +5.5682
batter_torque +0.8169
reso_torque +0.4873
muffle_pct -0.2466
RSM Model (quadratic, R² = 0.6208, Adj R² = 0.3363):
Coefficients:
intercept +6.0103
batter_torque +0.8169
reso_torque +0.4873
muffle_pct -0.2466
batter_torque*reso_torque -0.6000
batter_torque*muffle_pct +0.8250
reso_torque*muffle_pct -0.7250
batter_torque^2 -0.3861
reso_torque^2 -0.2961
muffle_pct^2 +0.0189
Curvature analysis:
batter_torque coef=-0.3861 concave (has a maximum)
reso_torque coef=-0.2961 concave (has a maximum)
muffle_pct coef=+0.0189 negligible curvature
Notable interactions:
batter_torque*muffle_pct coef=+0.8250 (synergistic)
reso_torque*muffle_pct coef=-0.7250 (antagonistic)
batter_torque*reso_torque coef=-0.6000 (antagonistic)
Predicted optimum (from quadratic model, at observed points):
batter_torque = 80
reso_torque = 20
muffle_pct = 50
Predicted value: 7.5801
Surface optimum (via L-BFGS-B, quadratic model):
batter_torque = 80
reso_torque = 20
muffle_pct = 50
Predicted value: 7.5801
Model quality: Moderate fit — use predictions directionally, not precisely.
Factor importance:
1. batter_torque (effect: 3.0, contribution: 45.3%)
2. reso_torque (effect: 2.6, contribution: 39.2%)
3. muffle_pct (effect: 1.0, contribution: 15.5%)
=== Optimization: overtone_control ===
Direction: maximize
Best observed run: #17
batter_torque = 20
reso_torque = 20
muffle_pct = 0
Value: 7.6
RSM Model (linear, R² = 0.1624, Adj R² = 0.0228):
Coefficients:
intercept +4.9682
batter_torque -0.7108
reso_torque -0.3255
muffle_pct -0.0498
RSM Model (quadratic, R² = 0.4768, Adj R² = 0.0844):
Coefficients:
intercept +4.5577
batter_torque -0.7108
reso_torque -0.3255
muffle_pct -0.0498
batter_torque*reso_torque +0.6250
batter_torque*muffle_pct -0.6250
reso_torque*muffle_pct +1.0250
batter_torque^2 +0.1603
reso_torque^2 +0.3403
muffle_pct^2 +0.1153
Curvature analysis:
reso_torque coef=+0.3403 convex (has a minimum)
batter_torque coef=+0.1603 convex (has a minimum)
muffle_pct coef=+0.1153 convex (has a minimum)
Notable interactions:
reso_torque*muffle_pct coef=+1.0250 (synergistic)
batter_torque*reso_torque coef=+0.6250 (synergistic)
batter_torque*muffle_pct coef=-0.6250 (antagonistic)
Predicted optimum (from quadratic model, at observed points):
batter_torque = 20
reso_torque = 20
muffle_pct = 0
Predicted value: 7.2845
Surface optimum (via L-BFGS-B, quadratic model):
batter_torque = 20
reso_torque = 20
muffle_pct = 0
Predicted value: 7.2845
Model quality: Weak fit — consider adding center points or using a different design.
Factor importance:
1. batter_torque (effect: 3.3, contribution: 61.5%)
2. reso_torque (effect: 1.7, contribution: 31.1%)
3. muffle_pct (effect: 0.4, contribution: 7.5%)