What this is
Build a 37-bar C3-C6 marimba packet from the existing workbook design table. The first build target is a CNC-friendly instrument with African Padauk bars, parabolic underside arch undercuts, drilled node supports, quarter-wave resonators, and a frame layout that can become a SolidWorks master sketch.
The useful boundary for this packet is "build-ready documentation, not finished CAD." Native SolidWorks files do not exist yet. The CAD folder defines the global-variable and design-table contract Tony can use to build the real model.
Jig decision layer
jig-decision.md is the pilot-build stop/go record. It chooses a staged fixture set for C3, A4, and C6 before the full 37-bar Padauk run: a surfacing carrier, two-sided CNC spoilboard, soft arch cradle, node-drilling backer, resonator V-block, temporary resonator rail, and validation frame.
Full production stays blocked until the pilot rows in validation.csv have measured values for flat_blank, post_arch, post_sand, resonator_coupled, and final_frame.
The design
Bar Pitch
The marimba bars are treated as free-free beams. The first flexural mode uses:
```text lambda_1 = 4.730 f_1 = (lambda_1^2 / (2*pi*L^2)) * sqrt(E*I/(rho*A)) ```
The workbook uses the practical shop form:
```text f ~= K * t / L^2 L ~= sqrt(K * t / f) ```
where:
- `f` is target frequency in Hz.
- `K` is the material-specific free-free bar constant.
- `t` is nominal bar thickness at the edge.
- `L` is bar length.
For the active packet:
```text K = 155502 t = 0.875 in ```
The workbook material library derives this free-free K from the beam material properties and the `lambda_1 = 4.730` mode shape. Do not apply flute-bore K2 corrections here; those belong to Native American style flute bore correction work, not beam idiophones.
Nodes And Supports
The suspension node locations are:
```text node_1 = 0.224 * L node_2 = 0.776 * L ```
Cord holes and rail pins reference these two locations. Holes must be drilled at the nodal line so the support does not damp the main mode.
Arch Undercut
The workbook defines a linear MIDI-scaled arch-depth schedule:
```text arch_depth = (edge_thickness - min_center_thickness) * min(1, (96 - midi)/48) center_thickness = edge_thickness - arch_depth ```
This makes the low bars carry the deepest undercut and the high bars approach a shallow arch. The current minimum center thickness is `0.250 in`, so C3 reaches the minimum while C6 remains about `0.719 in` at center.
The arch should be cut as a centered parabolic underside relief over roughly 60 percent of the bar length. Final voicing still requires controlled sanding and tuner checks; the workbook is the first-pass schedule.
Resonators
The resonator tubes are treated as quarter-wave closed pipes:
```text L_res = 13552 / (4 * f) - 0.82 * bore ```
The sheet currently uses the bar-width column as the resonator bore/end-correction proxy. That is acceptable as a first-pass planning value, but the sourcing pass should decide real tube diameters and update `family-spec.csv` if the selected bore differs from the workbook proxy.
The distinction is important:
- Bar pitch is tuned by bar length, thickness, arch geometry, and material.
- Resonator length is tuned to reinforce the already-tuned bar frequency.
- A resonator mismatch changes sustain/loudness/color; it does not fix a wrong bar pitch.
The build
Marimba Assembly Manual
Build Philosophy
Cut three pilot bars before committing the whole set: C3, A4, and C6. They bound the low arch-depth limit, the center of the scale, and the short/high-bar behavior. Use their measured pitch and resonator response to decide whether the workbook K constant, selected wood, and CNC arch path are ready for the full run.
Preflight
- [ ] Confirm active range: C3-C6 chromatic, 37 bars.
- [ ] Confirm selected bar wood and moisture content.
- [ ] Confirm actual resonator tube bore and update `family-spec.csv` if it differs from the workbook proxy.
- [ ] Confirm CNC bed size, hold-down, bit length, and dust collection.
- [ ] Print or open `drawings/arch-undercut-section.svg`, `drawings/resonator-layout.svg`, and `cnc/setup-sheet.md`.
Bar Workflow
1. Break down rough Padauk stock into oversize blanks using `cut-list.csv`. 2. Joint one face and edge. Mark grain direction and top face. 3. Plane or sand each blank to `0.875 in` nominal edge thickness. 4. Label every blank with `member_id`, note, target Hz, and top face. 5. CNC profile each bar oversize or leave tabs for final cleanup. 6. Mark node positions from `family-spec.csv`. 7. Drill support/cord holes at the node line. Start with `0.250 in`, then adapt to the actual cord/rubber support system. 8. Cut the underside parabolic arch. Use a conservative Z-zero and leave a sanding/tuning allowance. 9. Deburr and sand without rounding node contact areas excessively. 10. Strike-test on soft supports at the node positions and record measured Hz in `validation.csv`.
Tuning Direction
- To lower pitch: remove material from the center underside arch region.
- To raise pitch: shorten the bar or reduce mass near the ends; raising pitch after over-cutting is limited, so sneak up slowly.
- Keep both ends visually balanced. Asymmetric mass removal can pull modes sideways or create uneven sustain.
- Tune bars before final resonator matching.
Resonator Workflow
1. Select tube material and bore. 2. Recalculate tube lengths if the selected bore differs from `resonator_bore_in`. 3. Cut tubes oversize per `cut-list.csv`. 4. Deburr both ends. 5. Add removable caps or adjustable stoppers. 6. Mount under the matching bar with the opening centered below the vibrating region. 7. Trim or adjust caps after the bar pitch is stable in the frame. 8. Record final resonator length, cap style, and response notes.
Frame Workflow
1. Build a temporary straight or lightly tapered validation frame before the final furniture-grade frame. 2. Lay out rail supports from the node schedule, not from equal bar-end offsets. 3. Keep resonator access open so tubes can be removed and tuned. 4. Add cross members only after checking mallet clearance, tube clearance, and player reach. 5. Use removable fasteners until tuning and buzz checks are done.
Final Checks
- [ ] All bars are labeled and match `family-spec.csv`.
- [ ] Node supports touch at node positions.
- [ ] No bar contacts the frame except through intended rubber/cord supports.
- [ ] No resonator tube touches a vibrating bar.
- [ ] Every measured pitch has a `validation.csv` row.
- [ ] Any bar outside +/- 10 cents after final tuning is flagged for rework.
No process photos in images/. Add at least one to populate this section.
The numbers
BOM
| item | subassembly | part_name | qty | unit | material_or_spec | make_buy | status | notes | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Bar set | C3-C6 tuned bars | 37 | ea | African Padauk 7/8 in nominal edge thickness | make | workbook-derived | Individual dimensions in family-spec.csv. | |||
| 2 | Resonators | C3-C6 resonator tubes | 37 | ea | PVC or aluminum tube; bore TBD by sourcing | buy | TBD | Lengths in family-spec.csv are first-pass quarter-wave values using workbook bore proxy. | |||
| 3 | Resonators | Tube caps or adjustable stoppers | 37 | ea | Matched to selected tube bore | buy | TBD | Use adjustable closure for first validation build. | |||
| 4 | Frame | Bass-side rail | 1 | ea | Hard maple or laminated hardwood | make | TBD | Final length and curve depend on CAD frame layout. | |||
| 5 | Frame | Treble-side rail | 1 | ea | Hard maple or laminated hardwood | make | TBD | Must follow support nodes or carry adjustable posts. | |||
| 6 | Frame | Cross members | 4 | ea | Hardwood or plywood fixture stock | make | TBD | Temporary shop frame acceptable for validation build. | |||
| 7 | Hardware | Support cord | 1 | roll | Low-stretch braided cord or synthetic marimba cord | buy | TBD | Size to match 1/4 in node holes and rubber isolators. | |||
| 8 | Hardware | Rubber support tubing or grommets | 74 | ea | Rubber or silicone isolation supports | buy | TBD | Two supports per bar minimum. | |||
| 9 | Hardware | Frame fasteners | 1 | set | Wood screws | threaded inserts | washers | buy | TBD | Prefer removable fasteners for tuning access. | |
| 10 | CNC tooling | 3/4 in ball-end mill | 1 | ea | Hardwood-capable ball-end cutter | buy | TBD | Primary arch undercut tool for bass/mid bars. | |||
| 11 | CNC tooling | 1/2 in ball-end mill | 1 | ea | Hardwood-capable ball-end cutter | buy | TBD | Alternative or treble arch finish tool. | |||
| 12 | CNC tooling | 1/4 in downcut spiral | 1 | ea | Hardwood-capable router bit | buy | TBD | Bar profile cleanup and fixture pockets. | |||
| 13 | CNC tooling | 1/8 in upcut spiral | 1 | ea | Hardwood-capable router bit | buy | TBD | Small reliefs | pilot features | or templates. | |
| 14 | Finish | Sanding and finish consumables | 1 | set | 80-320 grit abrasives plus oil/shellac/lacquer TBD | buy | TBD | Finish must not load bar underside or node areas. | |||
| 15 | Measurement | Tuning and data capture | 1 | set | Chromatic tuner | microphone | calipers | scale | buy/owned | TBD | Needed for validation.csv completion. |
Cut list
| cut_id | subassembly | qty | material | rough_dimension_in | finished_dimension_or_reference | operation | notes | |
|---|---|---|---|---|---|---|---|---|
| CUT-BAR-BASS | Bars C3-B3 | 12 | African Padauk | 34.0 x 2.25 x 1.00 each max rough blank | See MAR-C3 through MAR-B3 in family-spec.csv | Surface/thickness/profile/arch/drill | Long bars are the stock-yield driver; cut long and tune down. | |
| CUT-BAR-MID | Bars C4-B4 | 12 | African Padauk | 24.0 x 2.00 x 1.00 each max rough blank | See MAR-C4 through MAR-B4 in family-spec.csv | Surface/thickness/profile/arch/drill | Keep grain direction consistent across the octave. | |
| CUT-BAR-TREBLE | Bars C5-B5 | 12 | African Padauk | 17.0 x 1.75 x 1.00 each max rough blank | See MAR-C5 through MAR-B5 in family-spec.csv | Surface/thickness/profile/arch/drill | Smaller arch depths need careful Z-zero discipline. | |
| CUT-BAR-TOP | Bars C6 | 1 | African Padauk | 12.5 x 1.50 x 1.00 rough blank | See MAR-C6 in family-spec.csv | Surface/thickness/profile/arch/drill | High bar is short and sensitive to over-sanding. | |
| CUT-RES-BASS | Resonators C3-B3 | 12 | PVC or aluminum tube | Cut 1.0 in oversize from family-spec.csv lengths | Final trim after bar tuning | Tube cut/deburr/cap/drill | Use selected tube bore | not blindly the workbook bore proxy. |
| CUT-RES-MID | Resonators C4-B4 | 12 | PVC or aluminum tube | Cut 0.75 in oversize from family-spec.csv lengths | Final trim after bar tuning | Tube cut/deburr/cap/drill | Mark each tube with note and target Hz. | |
| CUT-RES-TREBLE | Resonators C5-C6 | 13 | PVC or aluminum tube | Cut 0.5 in oversize from family-spec.csv lengths | Final trim after bar tuning | Tube cut/deburr/cap/drill | Very short tubes may need larger bore or box coupling review. | |
| CUT-RAIL-BASS | Frame bass rail | 1 | Hard maple or laminated hardwood | TBD | Node-following rail curve from CAD | Rip/plane/CNC drill | Do not freeze until bar spacing and tube diameters are selected. | |
| CUT-RAIL-TREBLE | Frame treble rail | 1 | Hard maple or laminated hardwood | TBD | Node-following rail curve from CAD | Rip/plane/CNC drill | Keep removable for tuning access. | |
| CUT-CROSS | Frame cross members | 4 | Hardwood or plywood | TBD | Width set by resonator clearance | Cut/drill/assemble | Prototype frame can be sacrificial. | |
| CUT-JIG | Bar underside arch fixture | 1 | MDF or plywood spoilboard | CNC bed sized | Datum fence and tabs per cnc/setup-sheet.md | CNC fixture | Use repeatable X datum and replaceable spoilboard. |
Tuning & validation
| member_id | target_note | target_hz | predicted_length_in | stage | measured_hz | cents_error | tuner | environment | notes | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MAR-C3 | C3 | 130.813 | 32.251 | prebuild | Pilot low bar; record flat blank | post-arch | post-sand | final frame. | ||||
| MAR-Csharp3 | C#3 | 138.591 | 31.333 | prebuild | ||||||||
| MAR-D3 | D3 | 146.832 | 30.441 | prebuild | ||||||||
| MAR-Dsharp3 | D#3 | 155.563 | 29.575 | prebuild | ||||||||
| MAR-E3 | E3 | 164.814 | 28.733 | prebuild | ||||||||
| MAR-F3 | F3 | 174.614 | 27.915 | prebuild | ||||||||
| MAR-Fsharp3 | F#3 | 184.997 | 27.120 | prebuild | ||||||||
| MAR-G3 | G3 | 195.998 | 26.348 | prebuild | ||||||||
| MAR-Gsharp3 | G#3 | 207.652 | 25.598 | prebuild | ||||||||
| MAR-A3 | A3 | 220.000 | 24.869 | prebuild | ||||||||
| MAR-Asharp3 | A#3 | 233.082 | 24.161 | prebuild | ||||||||
| MAR-B3 | B3 | 246.942 | 23.473 | prebuild | ||||||||
| MAR-C4 | C4 | 261.626 | 22.805 | prebuild | ||||||||
| MAR-Csharp4 | C#4 | 277.183 | 22.156 | prebuild | ||||||||
| MAR-D4 | D4 | 293.665 | 21.525 | prebuild | ||||||||
| MAR-Dsharp4 | D#4 | 311.127 | 20.912 | prebuild | ||||||||
| MAR-E4 | E4 | 329.628 | 20.317 | prebuild | ||||||||
| MAR-F4 | F4 | 349.228 | 19.739 | prebuild | ||||||||
| MAR-Fsharp4 | F#4 | 369.994 | 19.177 | prebuild | ||||||||
| MAR-G4 | G4 | 391.995 | 18.631 | prebuild | ||||||||
| MAR-Gsharp4 | G#4 | 415.305 | 18.100 | prebuild | ||||||||
| MAR-A4 | A4 | 440.000 | 17.585 | prebuild | Pilot reference bar; use to calibrate K and arch schedule. | |||||||
| MAR-Asharp4 | A#4 | 466.164 | 17.085 | prebuild | ||||||||
| MAR-B4 | B4 | 493.883 | 16.598 | prebuild | ||||||||
| MAR-C5 | C5 | 523.251 | 16.126 | prebuild | ||||||||
| MAR-Csharp5 | C#5 | 554.365 | 15.667 | prebuild | ||||||||
| MAR-D5 | D5 | 587.330 | 15.221 | prebuild | ||||||||
| MAR-Dsharp5 | D#5 | 622.254 | 14.787 | prebuild | ||||||||
| MAR-E5 | E5 | 659.255 | 14.366 | prebuild | ||||||||
| MAR-F5 | F5 | 698.456 | 13.957 | prebuild | ||||||||
| MAR-Fsharp5 | F#5 | 739.989 | 13.560 | prebuild | ||||||||
| MAR-G5 | G5 | 783.991 | 13.174 | prebuild | ||||||||
| MAR-Gsharp5 | G#5 | 830.609 | 12.799 | prebuild | ||||||||
| MAR-A5 | A5 | 880.000 | 12.435 | prebuild | ||||||||
| MAR-Asharp5 | A#5 | 932.328 | 12.081 | prebuild | ||||||||
| MAR-B5 | B5 | 987.767 | 11.737 | prebuild | ||||||||
| MAR-C6 | C6 | 1046.502 | 11.403 | prebuild | Pilot high bar; validate shallow arch and short resonator behavior. |
Known risks
Marimba Risk Register
Acoustic Risks
Bar pitch misses workbook prediction
- Risk: The selected Padauk stock has a different effective stiffness/density than the workbook K constant.
- Impact: All bars may cut sharp or flat by a consistent amount.
- Test: Cut and measure C3, A4, and C6 pilot bars before the full run.
- Pass criterion: Post-arch bars can be brought within +/- 10 cents by normal sanding/tuning allowance.
- Mitigation: Update K constant or arch schedule before cutting the remaining bars.
Resonator bore proxy is wrong
- Risk: The workbook currently uses bar width as the resonator bore/end-correction proxy.
- Impact: Tube lengths may be wrong after real tube diameters are selected.
- Test: Select actual tube ID, recalculate C3/A4/C6 resonator lengths, and compare response.
- Pass criterion: Resonator reinforcement peaks near target pitch without strong buzz or deadening.
- Mitigation: Update `family-spec.csv` and regenerate resonator drawings before cutting all tubes.
Structural Risks
Arch cut-through or weak low bars
- Risk: C3 reaches the `0.250 in` minimum center thickness.
- Impact: Bass bars may crack, warp, or lose sustain.
- Test: Measure remaining center thickness after CNC and after final sanding.
- Pass criterion: No pilot bar falls below `0.250 in`; no visible checking under normal strike force.
- Mitigation: Increase minimum center thickness or choose denser/stiffer stock.
Support holes weaken bars
- Risk: 1/4 in holes near nodes may split if drilled too close to edges or with poor backing.
- Impact: Cracks, buzzes, or support failure.
- Test: Drill sample holes in offcuts and pilot bars with the intended bit and backing board.
- Pass criterion: Clean holes with no breakout or splitting.
- Mitigation: Reduce hole diameter, use cord grooves, or add rubber support posts instead.
Ergonomic Risks
Frame too wide or awkward for reach
- Risk: C3-C6 chromatic layout may become too wide/deep once resonators and accidental row are placed.
- Impact: Poor playing ergonomics or impossible transport.
- Test: Tape full-size bar positions on a bench and test mallet reach before building the final frame.
- Pass criterion: Natural and accidental rows are reachable without shoulder strain for intended player.
- Mitigation: Use a compact portable range, split frame, or revised bar spacing.
Supply Risks
Padauk availability and quality
- Risk: Clear long Padauk stock may be expensive, unstable, or unavailable.
- Impact: Build delays or inconsistent tone.
- Test: Request current quotes and inspect board quality/moisture before purchase.
- Pass criterion: Enough straight stock for 37 bars plus pilot failures.
- Mitigation: Use hard maple/cherry for an education prototype and update material constants.
Tube/cap system mismatch
- Risk: Selected tube caps may leak, rattle, or be hard to tune.
- Impact: Weak or noisy resonators.
- Test: Build three tube prototypes with removable caps.
- Pass criterion: Tubes hold adjustment and do not buzz under playing vibration.
- Mitigation: Use adjustable stoppers, gasketed plugs, or alternate tube material.
Fit And Finish Risks
Finish shifts pitch or damps sustain
- Risk: A heavy finish adds mass and damping to tuned bars.
- Impact: Bars go flat or lose sustain after finishing.
- Test: Finish an offcut and one sacrificial tuned test bar; measure before/after Hz and decay.
- Pass criterion: Pitch shift is predictable and within final tuning allowance.
- Mitigation: Use thin finish, tune after finish, or mask underside tuning zones until final pass.
Frame buzzes after assembly
- Risk: Bars, tubes, caps, or fasteners touch unintentionally.
- Impact: Audible buzzes and unreliable validation data.
- Test: Strike every bar at soft, medium, and loud dynamics while muting adjacent parts.
- Pass criterion: No persistent buzz in the assembled frame.
- Mitigation: Add clearance, isolate hardware, and use thread-locking or removable dampers where appropriate.
Family overview
- MAR-C3 — C3
- MAR-Csharp3 — C#3
- MAR-D3 — D3
- MAR-Dsharp3 — D#3
- MAR-E3 — E3
- MAR-F3 — F3
- MAR-Fsharp3 — F#3
- MAR-G3 — G3
- MAR-Gsharp3 — G#3
- MAR-A3 — A3
- MAR-Asharp3 — A#3
- MAR-B3 — B3
- MAR-C4 — C4
- MAR-Csharp4 — C#4
- MAR-D4 — D4
- MAR-Dsharp4 — D#4
- MAR-E4 — E4
- MAR-F4 — F4
- MAR-Fsharp4 — F#4
- MAR-G4 — G4
- MAR-Gsharp4 — G#4
- MAR-A4 — A4
- MAR-Asharp4 — A#4
- MAR-B4 — B4
- MAR-C5 — C5
- MAR-Csharp5 — C#5
- MAR-D5 — D5
- MAR-Dsharp5 — D#5
- MAR-E5 — E5
- MAR-F5 — F5
- MAR-Fsharp5 — F#5
- MAR-G5 — G5
- MAR-Gsharp5 — G#5
- MAR-A5 — A5
- MAR-Asharp5 — A#5
- MAR-B5 — B5
- MAR-C6 — C6