← All Use Cases
🎵
Central Composite Design

Drum Head Tuning

Central composite design to maximize resonance and minimize overtones by tuning batter tension, resonant tension, and muffling amount

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

Experimental Setup

Factors

FactorLowHighUnit
batter_torque2080in-lb
reso_torque2080in-lb
muffle_pct050%

Fixed: drum_size = 14x5_snare, head_type = coated

Responses

ResponseDirectionUnit
resonance↑ maximizepts
overtone_control↑ maximizepts

Configuration

use_cases/162_drum_tuning/config.json
{ "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.

Runbatter_torquereso_torquemuffle_pct
1505025
2802050
320800
450104.77225
5505025
6-4.772265025
75050-20.6435
8505025
980800
10104.7725025
11505025
1250-4.7722625
13505025
14202050
15505025
1680200
17505070.6435
18808050
19505025
2020200
21208050
22505025

Step-by-Step Workflow

1

Preview the design

Terminal
$ doe info --config use_cases/162_drum_tuning/config.json
2

Generate the runner script

Terminal
$ 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

Terminal
$ bash use_cases/162_drum_tuning/results/run.sh
4

Analyze results

Terminal
$ doe analyze --config use_cases/162_drum_tuning/config.json
5

Get optimization recommendations

Terminal
$ 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.

Terminal
$ doe optimize --config use_cases/162_drum_tuning/config.json --multi
7

Generate the HTML report

Terminal
$ doe report --config use_cases/162_drum_tuning/config.json \ --output use_cases/162_drum_tuning/results/report.html

Features Exercised

FeatureValue
Design typecentral_composite
Factor typescontinuous (all 3)
Arg styledouble-dash
Responses2 (resonance ↑, overtone_control ↑)
Total runs22

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

SourceDFSSMSFp-value
SourceDFSSMSFp-value
batter_torque43.82520.95630.3640.8284
reso_torque44.85271.21320.4620.7625
muffle_pct47.01771.75440.6680.6303
LackofFit216.14338.0716
PureError718.3888
Error934.53202.6270
Total2150.22772.3918

Pareto Chart

Pareto chart for resonance

Main Effects Plot

Main effects plot for resonance

Normal Probability Plot of Effects

Normal probability plot for resonance

Half-Normal Plot of Effects

Half-normal plot for resonance

Model Diagnostics

Model diagnostics for resonance

Response: overtone_control

Top factors: muffle_pct (73.6%), reso_torque (16.6%), batter_torque (9.7%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
batter_torque40.98360.24590.0690.9897
reso_torque42.47770.61940.1740.9461
muffle_pct415.66613.91651.1010.4128
LackofFit211.38165.6908
PureError724.8987
Error936.28043.5570
Total2155.40772.6385

Pareto Chart

Pareto chart for overtone_control

Main Effects Plot

Main effects plot for overtone_control

Normal Probability Plot of Effects

Normal probability plot for overtone_control

Half-Normal Plot of Effects

Half-normal plot for overtone_control

Model Diagnostics

Model diagnostics for overtone_control

Response Surface Plots

3D surfaces fitted with quadratic RSM. Red dots are observed data points.

overtone control batter torque vs muffle pct

RSM surface: overtone control batter torque vs muffle pct

overtone control batter torque vs reso torque

RSM surface: overtone control batter torque vs reso torque

overtone control reso torque vs muffle pct

RSM surface: overtone control reso torque vs muffle pct

resonance batter torque vs muffle pct

RSM surface: resonance batter torque vs muffle pct

resonance batter torque vs reso torque

RSM surface: resonance batter torque vs reso torque

resonance reso torque vs muffle pct

RSM surface: 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

ResponseWeightDesirabilityPredictedDir
resonance 1.5
0.5733
6.30 0.5733 6.30 pts
overtone_control 1.5
0.6329
5.30 0.6329 5.30 pts

Recommended Settings

FactorValue
batter_torque50 in-lb
reso_torque104.772 in-lb
muffle_pct25 %

Source: from observed run #8

Trade-off Summary

Sacrifice = how much worse than single-objective best.

ResponsePredictedBest ObservedSacrifice
overtone_control5.307.60+2.30

Top 3 Runs by Desirability

RunDFactor Settings
#180.5845batter_torque=50, reso_torque=50, muffle_pct=25
#10.5813batter_torque=20, reso_torque=20, muffle_pct=0

Model Quality

ResponseType
overtone_control0.0886linear

Full Multi-Objective Output

doe optimize --multi
============================================================ 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

doe analyze
=== 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

doe optimize
=== 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%)
← All Use Cases All Use Cases →