Guitar Tap

User Manual

Version 1.0.2

iOS/iPadOS  ·  macOS  ·  Windows  ·  Linux

Contents

Chapter 1 — Introduction

1.1 What Guitar Tap Does

A completed guitar-mode measurement: spectrum with annotated peaks, results panel showing identified modes and frequencies.

Guitar Tap captures a tap, runs an FFT, and presents the resulting spectrum with annotated peaks and a results panel. The app is designed around the three measurements a luthier following the Gore methodology (or any similar tap-tone-based workflow) actually takes:

In all three modes the tap is captured with onset alignment so the same physical tap reliably yields the same spectrum, regardless of where in the FFT frame the impulse happens to land. Measurements can be saved locally, exported as PDF or spectrum data, and shared as .guitartap files that round-trip between the iOS, macOS, and desktop builds.

1.2 What You Need

Hardware

Optional

1.3 How This Manual Is Organised

If you have just installed Guitar Tap and want to take your first measurement, start with Chapter 2 — Getting Started. It covers installation, microphone permission, audio-input selection, threshold and peak-min tuning, and a complete first guitar measurement.

If you already know the app and want a focused walk-through of a particular task — measuring a free plate, multi-tap sequences, export and share workflows — see the Guided Use Cases (Chapters 3 through 8).

For complete details on a specific control, setting, or shortcut, see the Reference chapters (9 through 11) and the Appendices.

A Glossary at the end defines the acoustic-analysis terms used throughout the manual.

Chapter 2 — Getting Started

This chapter takes you from a fresh install to your first measurement. Sections 2.6 and 2.7 cover one-time tuning that any new microphone or room benefits from; the settings persist so you only do it once.

2.1 Installing the App

iOS / iPadOS. Search "Guitar Tap" in the App Store and install.

macOS (native). Search "Guitar Tap" in the Mac App Store and install.

macOS / Windows (Python desktop build). Run the installer for your platform from the project release page. The build is bundled with PyInstaller and ships with its own Python runtime — no separate Python installation is required.

Linux (Python desktop build). Download the AppImage from the project release page, mark it executable (chmod +x GuitarTap-x.y.z.AppImage), and run it directly. The AppImage includes everything required; no system packages need to be installed.

The native and Python builds share the .guitartap file format — measurements written on one can be opened on the other without loss.

2.2 Granting Microphone Permission

Guitar Tap cannot operate without microphone access. The grant procedure differs by platform.

iOS / iPadOS. A system dialog appears on first launch. Tap Allow. If you declined, re-enable in Settings → Guitar Tap → Microphone.

macOS. A system dialog appears on first launch. If you declined, or already declined for a previous build, open System Settings → Privacy & Security → Microphone and enable Guitar Tap.

Windows. Open Settings → Privacy & Security → Microphone. Ensure both "Microphone access" and "Let desktop apps access your microphone" are on.

Linux. PortAudio uses the system's PulseAudio or PipeWire permissions; there is no in-app dialog. If recording is silent, check the Recording tab of pavucontrol (or your equivalent mixer) while Guitar Tap is running.

2.3 Selecting Your Audio Input

Settings sheet showing Audio Input and Measurement Type sections.

Open Settings (gear icon, top toolbar) and use the Audio Input section to pick your microphone.

2.4 Importing a Microphone Calibration File

A calibration file corrects the captured spectrum for the microphone's own frequency response. Without it, the spectrum includes whatever roll-off and bumps the microphone contributes.

Guitar Tap accepts .txt and .cal files in the standard two-column (frequency, dB) format that ships with most measurement microphones.

To import:

  1. In Settings → Audio Input, with your measurement microphone selected, choose Import Calibration File and pick the file.
  2. The calibration is bound to that input device. When you switch away from it and back again later, the calibration reloads automatically.
  3. To remove all stored calibrations, use Clear All Calibrations in the same section.

The status area indicates when a calibration is active for the current input.

2.5 Choosing a Measurement Type

In Settings, the Measurement Type section determines what the analyzer is looking for:

The choice persists across launches. Changing it mid-sequence starts a new sequence in the new mode.

2.6 Setting the Threshold — Finding Your Tap Level

Live spectrum showing a recent tap, with the Threshold and Peak Min sliders in the toolbar above.

The Threshold slider sets the signal level a tap must exceed before the analyzer captures it. You will tune it once for your microphone, room, and tapping style; the value then persists.

The tuning procedure is the same in all three measurement modes:

  1. Press Pause. The spectrum stays live, but no taps will register — you can experiment without triggering a measurement.
  2. Make a representative tap and read the highest dB the live spectrum reaches.
  3. Set Threshold roughly 6 to 10 dB below that peak level. This leaves headroom for tap-to-tap variation while staying clear of ambient noise.
  4. Press Resume and tap again. The spectrum should freeze and the Tap Detected indicator should appear.

If taps are missed, lower the threshold. If ambient noise triggers false captures, raise it.

2.7 Setting Peak Min — Filtering the Peak List (Guitar Mode)

Peak Min sets the minimum spectrum magnitude at which a peak is shown — annotated on the chart and listed in the Analysis Results. It is a pure display filter: moving it shows or hides peaks but never changes which peaks are selected, how they are classified, or the identified modes. It is a guitar-mode control: in Plate and Brace modes the per-phase capture uses its own adaptive noise floor, and there too Peak Min only affects which peaks are drawn.

Tune it from the same paused state used for Threshold:

  1. Still paused (continuing from §2.6), make a few representative taps and watch the peaks appear on the live spectrum.
  2. Raise Peak Min until noise peaks disappear. Lower it until the structural resonances you care about are visible.
  3. Press Resume and take the real measurement.

Because Peak Min only hides and reveals peaks, a peak hidden then shown again returns exactly as it was — same selection, custom label, and annotation position.

The same works on a loaded measurement: a saved measurement keeps its full peak set (every detected peak, down to −100 dB), so lowering Peak Min reveals the quieter peaks exactly as on a live spectrum. (Measurements saved by versions before 1.0.2 stored only the peaks above the Peak Min in force when they were captured; on those, lowering Peak Min reveals nothing new — press Re-analyze (§9) to rebuild the peak set from the stored spectrum.)

Peak Min persists across launches.

2.8 Your First Tap — Guitar Mode Walkthrough

You now have everything you need.

  1. Position the microphone 5 to 15 cm from the sound hole. (For top- or back-tap measurements, position it 5 to 10 cm from the tap point.)
  2. The analyzer is already running on launch. Confirm Threshold and Peak Min are tuned per §2.6 and §2.7.
  3. Press Resume if you paused during tuning. The detector is armed and the spectrum is live.
  4. Tap the guitar — a knuckle rap on the bridge or a bouncy-ball strike on the back, depending on what you are measuring. The spectrum freezes when the tap registers.
  5. Open the Analysis Results panel and review the identified modes, frequencies, ring-out time, and tap-tone ratio.
  6. Press Save in the top toolbar to store the measurement so you can compare it to future taps.

That is a complete cycle. From here, see the use-case chapters for the workflow you actually want to run — guitar (Chapter 3), plate (Chapter 4), or brace (Chapter 5).

Chapter 3 — Guitar Mode

Guitar mode captures the body resonances of a completed instrument and presents them as a labelled peak list. This chapter assumes the microphone, calibration, threshold, and peak-min are already tuned as described in Chapter 2.

3.1 Mode Labels and Classification

Guitar Tap identifies and labels six classes of guitar-body modes: Air, Top, Back, Dipole, Ring, and Upper Modes. Classification is by frequency window: each guitar subtype (Generic, Acoustic, Classical, Flamenco) defines a range of frequencies in which a candidate for each mode is expected. The strongest peak inside a window is assigned to that mode; peaks outside every window are labelled Unknown.

Unknown peaks are shown on the chart by default so nothing in the spectrum is silently hidden. If you find them cluttering a chart that you intend to share or compare, turn them off via Settings → Advanced → Analysis Settings → Show Unknown Modes.

Generic is the recommended subtype for most measurement work. Its windows are wide enough to catch the air, top, and back modes of any of the common guitar archetypes, which is what you want when you simply need to see and label the resonances of the instrument in front of you. The other subtypes — Acoustic, Classical, Flamenco — are narrower and are most useful when:

The frequency windows can be inspected in Settings → Measurement Type when a subtype is selected.

3.2 Setting Up for Guitar Mode

  1. Open Settings → Measurement Type and choose Generic Guitar unless you have a specific reason (quality indicators or a target frequency range) to choose Acoustic, Classical, or Flamenco — see §3.1.
  2. The frequency-window panel updates to show the ranges for the selected subtype. Confirm they bracket the modes you expect to find.
  3. Show Unknown Modes is on by default. Leave it on unless you are preparing a chart for sharing and want to declutter.
  4. Confirm Threshold and Peak Min are tuned for the current mic and room (see §2.6 and §2.7).

3.3 Microphone Placement

3.4 Single Tap Measurement

  1. Press New Tap to arm the detector. The status area shows the analyzer is waiting for a tap.
  2. Tap the instrument: a short, crisp knuckle or fingertip rap on the bridge, or a bouncy-ball strike on the back.
  3. The Tap Detected indicator appears and the spectrum freezes automatically.
  4. Read the annotated peaks on the frozen spectrum and the Analysis Results panel (see §3.8 for what each column means).

If the tap was missed or contaminated (a finger squeak, an ambient transient), press New Tap again to discard it and try once more.

If Threshold or Peak Min need adjusting before the live take, press Pause first — the spectrum stays live and no taps will register while you experiment. Move the sliders, tap freely, then press Resume when ready.

3.5 Multi-Tap Averaging

For tighter results, average several taps in one sequence.

  1. Set the Taps stepper at the top of the toolbar to the number of taps you want (1 to 10). Five is a common choice.
  2. Press New Tap as before. The status bar now shows progress — "Tap 1/5", "Tap 2/5", and so on.
  3. Tap the instrument the required number of times. Each captured tap re-arms the detector after a short cooldown; the spectrum re-freezes only after the final tap.
  4. When all taps are captured, the averaged spectrum is displayed with annotated peaks. Individual tap spectra are retained for comparison.

The Taps table. After a multi-tap sequence the Analysis Results header shows a Taps button that switches to a per-tap table: one row per tap plus an Averaged row, with Air / Top / Back columns. Each per-tap row reports that tap's own detected peak for the mode; the Averaged row reports the definitive peak — the one your selection and any mode overrides resolve to (§3.6) — so it matches the peak list and the PDF report. When you have overridden a mode, the Averaged value is shown in italics with a trailing asterisk (*) to flag that it came from your override rather than the automatic pick. Press Taps again to return to the averaged spectrum.

Pause between taps. Press Pause if you need to pause mid-sequence (to reset the instrument's position, for example). The captured taps so far are preserved; Resume continues from where you left off.

Cancel mid-sequence. Press Cancel to restart the sequence — it discards the captured taps and immediately re-arms for a fresh attempt, so you can tap again straight away (no need to press New Tap). New Tap itself is only available once a measurement is complete.

Starting a fresh measurement — New Tap, or Cancel-to-restart — begins from a clean slate: any peak selection, mode overrides, and moved annotation labels from the previous measurement are cleared.

3.6 Inspecting and Adjusting Peak Selections

Each peak in the frozen spectrum is shown with a label (mode name) and a coloured dot whose colour matches its row in the Analysis Results panel.

One peak per structural mode. Air, Top, and Back each resolve to exactly one definitive peak — the selected peak whose mode, after any override, is that mode. Selecting a second candidate as Top displaces the first, so the identity is never ambiguous. Dipole, Ring, and Upper Modes are clusters and may hold several peaks at once. The definitive peaks are what every derived value (§3.8) and export is computed from.

Selection changes are preserved when the measurement is saved.

3.7 Overriding Mode Classification

The automatic classifier occasionally picks the wrong peak — for example, when two candidates are close in magnitude and the wrong one falls inside the configured window. To correct it:

  1. In the Analysis Results panel, tap the row of the peak whose label you want to change.
  2. A mode picker appears with Air, Top, Back, Dipole, Ring, Upper Modes, Unknown, and a Custom label field for free-text annotations.
  3. Pick the correct mode. The chart label updates immediately.

An overridden mode is shown in italics with a trailing asterisk (*) everywhere it appears — the Analysis Results list, the chart label, and the PDF report — so a manual choice is never mistaken for the classifier's automatic pick.

Overrides are saved with the measurement and reapplied when the measurement is loaded later. The wand (§3.6) resets selection but keeps your mode-name overrides.

Changing the guitar type clears overrides. If you change the guitar type in Settings, Guitar Tap re-classifies the peaks for the new type, clears your manual mode overrides, and returns selection to automatic — the identified modes always match the current type. (A display-only settings change — Peak Min or the display ranges — leaves peaks, modes, and selection untouched.)

3.8 Reading the Results Panel

Analysis Results panel with peak list, ring-out time, and tap-tone ratio.

For each identified peak the Analysis Results panel shows:

Below the peak list:

When a value is missing (a mode was not identified, or the ring-out could not be measured), the panel displays "—" rather than zero so the absence is unambiguous.

3.9 Comparing Guitar Measurements

Comparison overlays two to five saved guitar measurements on the same chart. Useful for any pair-or-more of measurements you want to see side by side — different build stages of the same instrument, different tap locations on the same body, different instruments you have built, or measurements of instruments built by someone else that you want to study or learn from.

Three-spectrum comparison overlay with the Comparison Results table.

Starting a comparison

  1. Open the Measurements list.
  2. Tap to select two to five saved guitar measurements. Plate and brace measurements are excluded — comparison is guitar-only.
  3. Tap the Compare button that appears once two or more measurements are selected.

The chart switches to comparison view: each selected spectrum is drawn in a distinct colour with a legend. The Analysis Results panel switches to a comparison table with one column per spectrum (labelled with the colour dot from the legend) and rows for Air, Top, and Back frequencies. "—" appears where a mode was not identified.

What is available during comparison

Save, Export Spectrum, and Export PDF Report all remain active, but they operate on the overlay rather than on an individual measurement:

A saved comparison .guitartap file can be imported via File → Import Measurement (macOS / Python desktop) or the Import Measurement button in the Measurements list (iOS). The app detects the comparison on load and restores the overlay.

What is inactive during comparison

Exiting comparison. Press New Tap to leave comparison mode and return to single-measurement operation.

Chapter 4 — Plate Mode

Plate mode captures the longitudinal, cross-grain, and (optionally) diagonal resonances of a rectangular tonewood blank and returns the moduli, specific modulus, radiation ratio, and Gore target thickness for the piece. This chapter assumes the microphone, calibration, threshold, and peak-min are already tuned as described in Chapter 2.

4.1 Overview of Plate Material Measurements

Plate mode runs a guided sequence of two or three taps on a rectangular blank suspended at its nodal points and computes the material properties used to evaluate a piece of tonewood:

From these the app derives ρ (from your dimensions and mass), specific modulus E_L/ρ, radiation ratio R, the E_C/E_L cross-to-long ratio, a quality rating against the spruce scale, and the Gore target thickness for the body dimensions and stiffness preset you have selected.

Plate mode is for raw blanks before bracing or cutting. For an individual brace, use Brace mode (Chapter 5); for a finished body, use Guitar mode (Chapter 3).

4.2 Preparing the Sample

The blank should be a clean rectangle with the grain parallel to one long axis. The numbers you enter into the app drive every derived quantity, so accuracy matters:

Field Target accuracy
Length (along grain) 0.5 mm
Width (cross grain) 0.5 mm
Thickness 0.1 mm
Mass 0.1 g

A digital caliper handles the thickness measurement. Length and width are typically beyond the jaw span of a caliper for guitar-scale blanks; an accurate steel rule is the better tool there. A jeweller's scale or any 0.1 g kitchen scale handles mass.

Mass error dominates. Length and width errors scale linearly into the moduli; thickness scales as the cube. A 1% mass error and a 0.3% thickness error produce comparable changes in E.

4.3 Selecting Plate Mode

Settings sheet with the Plate measurement type selected — the default dimension fields, stiffness preset, and Measure Diagonal (fLC) Tap toggle.

Open Settings → Measurement Type → Plate, and turn on Measure Diagonal (fLC) Tap if you intend to capture the third, diagonal tap (§4.8) — the sequence then runs in three phases instead of two.

That is all Settings needs before you tap. The Settings sheet also holds the sample and body dimension fields, but in the current workflow those act only as the defaults for a new measurement. Filling them in here is optional — it just means a new measurement starts pre-filled — because the suggested route is to capture the taps first and then enter this plate's actual dimensions in the Analysis Results (§4.9), where they are editable and drive the numbers immediately. Entering the dimensions is part of turning the captured frequencies into results, not a prerequisite for tapping. The per-measurement dimensions you enter (or edit) in the results are saved with that measurement; the Settings defaults are left untouched.

4.4 The 22% Suspension Technique

The three taps share one principle: hold the blank at a nodal point of the mode you want to measure, and tap at an antinode.

For longitudinal and cross-grain there is a catch — both modes are easy to excite at the same time, and the hold point alone decides which one wins in the spectrum. A hold on a mode's nodal line suspends that mode (it can vibrate freely); a hold on a mode's antinode damps it. To get a clean reading the hold must sit on the target mode's node and off the orthogonal mode's node.

In all three orientations the tap point is the centre of the plate face.

Common errors: putting the hold on both modes' node lines at once (contamination — a longitudinal reading that looks like cross-grain or vice versa); holding too far in along the target axis (the support falls inside the mode shape and damps it); holding too firmly (adds damping regardless of position); and forgetting to rotate the plate between fL and fC — easy to do, easy to spot when fC reads close to fL.

4.5 The Accept / Redo Review Flow

Plate mode runs each phase as: arm, tap, freeze, review.

After a tap is captured the spectrum freezes and the detector pauses automatically. The tap controls re-label for the review state:

During review the live spectrum is suppressed so the captured spectrum stays on screen for inspection. The instruction card below the chart names the current phase — for example Step 2: Cross-grain (fC) Mode — with a Phase 2/3 indicator.

After every phase is accepted the Results panel updates with the complete plate calculations (§4.9).

Individual phase redo is only available before that phase is accepted. To restart the entire sequence — for example, you realise mid-sequence that the longitudinal tap was contaminated — press New Tap; the captured phases are discarded and the sequence starts again from the Longitudinal (fL) tap.

4.6 Tap 1 — Longitudinal

  1. Orient the plate with the grain running horizontally.
  2. Hold at 22% from each end along the length, near one long edge.
  3. Press New Tap. The instruction card below the chart shows Step 1: Longitudinal (fL) Mode with a Phase 1/2 indicator (or Phase 1/3 if Measure Diagonal (fLC) Tap is on).
  4. Tap the centre of the plate face.
  5. The spectrum freezes. Inspect the lowest peak — it should be the longitudinal bending mode for a free-free beam of your dimensions, typically in the low hundreds of Hz for a guitar top.
  6. Press Accept to lock the phase in, or Redo fL to re-capture if the tap was contaminated.

After Accept the sequence advances to Cross-grain automatically.

4.7 Tap 2 — Cross-Grain

  1. Rotate the plate 90° so the grain now runs vertically.
  2. Hold at 22% from each end along the width, near one short edge.
  3. The card now shows Step 2: Cross-grain (fC) Mode, Phase 2/2 (or Phase 2/3). Detection is already armed — do not press New Tap.
  4. Tap the centre of the plate face.
  5. Inspect the frozen spectrum, then Accept or Redo fC.

After Accept, the sequence either advances to the Diagonal (fLC) tap (if Measure Diagonal (fLC) Tap is on) or marks the measurement complete.

4.8 Tap 3 — Diagonal (Optional)

The Diagonal (fLC) tap measures the flat long/cross torsional mode and yields the shear modulus G_LC. The Gore target thickness calculation uses G_LC for its shear correction; without it, the calculation substitutes a default that over-estimates target thickness by roughly 5 to 7%. For final plate thicknessing, capturing the Diagonal tap is worth the extra tap.

  1. Enable Measure Diagonal (fLC) Tap in Settings before starting the sequence if you have not already.
  2. Hold one long edge at its midpoint, with one hand only.
  3. The card shows Step 3: Diagonal (fLC) Mode, Phase 3/3.
  4. Tap near the opposite corner, approximately 22% in from the end and 22% in from the side.
  5. Accept or Redo fLC.

After Accept the measurement is complete and the Results panel updates with Gore target thickness including the shear correction.

4.9 Analyzing Plate Results

Plate Results panel showing Detected Peaks, the editable Sample and Body Dimensions, Gore Target Thickness, Plate Properties, and Plate Process Instructions.

Once the taps are captured, the Results panel is where you turn those frequencies into material properties. The captured frequencies are fixed; you enter this plate's sample and body dimensions here, and every derived number recomputes live as you type. The dimension fields seed from the Settings defaults at the moment the measurement completes, so a plate you set up ahead of time already reads correctly — but the panel is the place to enter or correct the actual measured values for this piece. The panel scrolls through the sections below, top to bottom.

Detected Peaks

One row per captured phase — two rows (fL, fC) for a two-tap sequence, three rows (fL, fC, fLC) when the Diagonal tap is enabled. Each row shows a selection-indicator star, the peak frequency, the peak magnitude in dB, and a coloured phase badge identifying which mode the peak belongs to (blue fL, orange fC, purple fLC). The full detected-peak list and the Peak Min filter from guitar mode do not apply here; what you see is the auto-selected best peak from each phase capture.

Sample Dimensions

The four measured dimensions of the blank, each editable in place:

A live Calculated Density is shown with them — use it as a sanity check on data entry. Spruce typically lands in the 0.35–0.45 g/cm³ band; a value below 0.30 or above 0.70 is almost always a transposed digit or a unit error somewhere in the four fields. Editing any field recomputes the density and every property below immediately.

Body Dimensions

The finished-instrument parameters that feed the Gore target thickness (plate only), also editable in place:

Custom is where you encode a successful build back into the calculation. The workflow has four steps:

  1. Fully measure a plate — E_L, E_C, density, body dimensions — before you build it, and keep the measurements. Note the final plate thickness you settled on for the build (which may be the number from the Gore formula).
  2. Build the instrument and live with it long enough to decide whether the result is what you want. If it is, you have a calibration point. If not, you need to adjust the panel stiffness on your next build to either stiffen the board or loosen it to adjust the sound.
  3. The Gore formula run on that plate's measurements with a named preset would have predicted some recommended thickness. Your finished thickness is the thickness that actually produced the sound you liked. Scale the preset's stiffness number linearly so the formula, applied to that same plate's measurements, would output your finished thickness. Save the scaled number as your Custom value.
  4. From this point on, run new plates with Custom selected. Each new board, with its own E_L, E_C, and ρ, yields a different recommended thickness — each one calculated to reproduce the calibration build's tonal outcome on that specific piece of wood.

The Custom number carries "this is the kind of plate that makes the instrument I want." The Gore procedure does not predict an objectively ideal thickness; it gives you a reproducible way to translate a tonal target across pieces of wood that differ in stiffness and density.

Gore Target Thickness

The headline recommended thickness in mm, computed from the sample and body dimensions above and the captured frequencies. When the Diagonal (fLC) tap was skipped, the shear modulus G_LC is assumed 0 and the thickness is approximate (roughly 5 to 7% over-estimate; see §4.8) — enable Measure Diagonal (fLC) Tap for a more accurate result.

Plate Properties

Material characterisation of the wood:

The frequencies themselves (fL, fC, fLC) are inputs and are shown in the Detected Peaks table above, not repeated here. The quality scales are calibrated for spruce; readings on cedar, redwood, or other top woods read as a point of comparison rather than an absolute grade.

Plate Process Instructions

A reference card describing the two-tap (or three-tap, if the Diagonal tap is enabled) measurement procedure. Useful as an in-place refresher when you come back to plate mode after a break and want the hold and tap positions without leaving the results panel.

4.10 Interpreting Plate Results

Specific modulus and radiation ratio capture what Young's modulus alone misses: how stiff a plate is per unit of weight it is asking the player to drive. Two blanks with identical E_L can sit in very different quality bands when their densities differ. Sort by E_L/ρ, not E_L, when triaging a stack of blanks.

Gore target thickness is a starting point for thicknessing, not a specification. Reproduce it on the bench, then voice from there with hands-on tap-tone evaluation; the final number lives at the intersection of your wood, your bracing pattern, and the instrument design you are building toward.

For tracking measurements across multiple blanks: enter a brief identifier (board number, supplier, billet) into the Notes field on the Save sheet so the saved measurement carries its provenance. Plate measurements can be saved, reloaded, and exported the same way guitar measurements can (Chapter 7); the comparison overlay described in §3.9 is guitar-only.

Chapter 5 — Brace Mode

Brace mode is a fast, single-tap longitudinal measurement for an individual brace strip. It reports the moduli, specific modulus, and quality rating in one capture; cross-grain, shear, and Gore thickness are all skipped. This chapter assumes the microphone, calibration, threshold, and peak-min are already tuned as in Chapter 2.

5.1 Overview

Brace mode runs a single longitudinal tap on a brace strip and returns the wood's stiffness and quality. Compared to Plate mode:

What you get: E_L, c_L, specific modulus E_L/ρ with a per-direction quality rating against the spruce scale, and radiation ratio R.

Brace mode is intended for batch-evaluating brace strips before selecting stock for a build. For a free plate, use Plate mode (Chapter 4); for a complete instrument, use Guitar mode (Chapter 3).

5.2 Selecting Brace Mode

Settings sheet with Measurement Type set to Brace — the default Length, Width, Height, and Mass fields.

Open Settings → Measurement Type → Brace. That is all Settings needs before you tap. As in plate mode, the Settings sheet holds the brace dimension fields, but in the current workflow those act only as the defaults for a new measurement. The suggested route is to capture the tap first and then enter this strip's actual dimensions in the Analysis Results (§5.4), where they are editable and drive the numbers immediately. Filling them in ahead of time in Settings is optional — it just means a new measurement starts pre-filled; the per-measurement dimensions you enter in the results are what's saved with that measurement, and the Settings defaults are left untouched.

5.3 Technique

A brace strip is a long thin beam — the same free-free fundamental applies, but the measurement is much simpler than plate because only one mode is in play.

  1. Hold the strip between thumb and forefinger 22% in from one end along the length. The other end hangs free.
  2. Lay the strip flat (or mount it however you usually orient it on the bench) so the face you intend to tap is exposed. The Height value in Settings must match the dimension perpendicular to this face.
  3. Press New Tap.
  4. Tap the centre of the top face. The spectrum freezes when the tap registers.

The Accept / Redo review flow is the same as in Plate mode (see §4.5). Accept locks in the measurement; Redo discards it and re-arms the detector. There is no phase counter — Brace mode runs in a single phase, so the status bar shows just the current state.

5.4 Analyzing Brace Results

Brace Results panel showing Detected Peaks (single fL row), the editable Sample Dimensions, Brace Properties, and Brace Process Instructions.

Once the tap is captured, the Results panel is where you turn the frequency into material properties: you enter this strip's dimensions and the properties recompute live as you type. The dimension fields seed from the Settings defaults at the moment the measurement completes. The panel shows the sections below.

Detected Peaks

A single row for the longitudinal peak. It shows a selection-indicator star, the peak frequency, the peak magnitude in dB, and a blue fL phase badge.

Sample Dimensions

The strip's dimensions, each editable in place:

A live Calculated Density is shown with them. Use it the same way as in plate mode — spruce should land in the 0.35–0.45 g/cm³ range, and a value well outside that is almost always a digit transposition. Editing any field recomputes every property below immediately.

Brace Properties

The frequency (fL) is an input, shown in Detected Peaks above. There is no Cross/Long ratio or Overall Quality row — both are plate-only since they need cross-grain data.

Brace Process Instructions

A reference card describing the brace measurement procedure. Useful as an in-place refresher when you have come back to Brace mode after a break.

5.5 Using Brace Mode to Compare Stock

A practical workflow for evaluating a batch of brace strips:

  1. Label each strip (a pencil mark on the end grain or a small sticky label works) so you can match measurements to physical pieces later.
  2. Tap the strip, then enter its Length, Width, Height, and Mass in the Analysis Results. For a batch of strips with consistent stock dimensions, set those common values once as the Settings defaults so each new measurement starts pre-filled, and you only adjust Mass in the results between strips; for variable stock, enter all four in the results each time.
  3. Record the result. The Notes field on the Save sheet is the right place for the strip's identifier — once saved, the saved measurement carries its provenance.
  4. Move on to the next strip.

For sorting by stiffness alone, the longitudinal frequency at the same dimensions is a sufficient proxy — higher fL means stiffer stock. For triaging across different sizes, sort by specific modulus (E_L/ρ).

A practical limitation worth keeping in mind: with no cross-grain or shear data, brace-to-brace comparisons are one-dimensional. A strip that reads well in brace mode might still have anisotropy or grain runout that only shows up in a plate-style measurement on the parent billet.

Chapter 6 — Working with the Spectrum

The spectrum chart is the centrepiece of the analysis screen. This chapter covers the gestures, shortcuts, and settings that let you read it the way you want without disturbing the measurement itself.

6.1 Live vs. Frozen Spectrum

Before a tap registers, the spectrum is live — the chart redraws on every FFT frame, showing the current microphone input in real time. Use this state to monitor ambient noise, dial in Threshold and Peak Min while paused (§2.6, §2.7), or simply confirm the microphone is working.

When a tap registers, the spectrum freezes on the capture so you can inspect peaks, drag labels, and read the Analysis Results panel without the chart moving under you. The status bar shows "Tap Detected" when the freeze happens.

Pressing New Tap discards the frozen capture (or current sequence) and returns to live mode, arming the detector for the next tap.

6.2 Zooming and Panning — iOS and iPadOS

To reset the view, tap the button in the upper-right corner of the spectrum chart. The Chart Options sheet opens with two sections, each offering a per-axis or both-axes choice:

These return the chosen axis (or both) to the view stored as your default — see §6.8.

These return the chosen axis (or both) to the app's built-in starting range.

The same sheet also exposes Reset Labels when any peak labels have been dragged from their auto-positions; that control is covered in §6.6.

6.3 Zooming and Panning — macOS, Windows, and Linux Desktop

Desktop interaction follows the same pattern as iOS/iPadOS but uses the scroll wheel and modifier keys. The chart is divided into three hover zones, each with its own scroll behaviour:

Chart hover zones for scroll-wheel zoom — plot area for both axes, frequency axis for frequency only, magnitude axis for magnitude only.

Modifier keys augment scrolling without changing which zone you are in:

Modifier Scroll effect
⇧ Shift Pan the frequency axis
⌥ Option (macOS) / Alt (Windows / Linux) Pan the magnitude axis
⌘ Command (macOS) / Ctrl (Windows / Linux) Zoom both axes

On a trackpad, two-finger pinch works the same as scroll-wheel zoom — over the plot area for both axes, over an axis for that axis only.

To reset the view, click the (Chart Options) button in the upper-right corner of the chart and choose a Reset option, or right-click anywhere in the chart area for the same menu.

Two icons sit in the upper-right corner of the spectrum window: the Chart Options button (axis/label resets, above) and the ? icon, which opens a Zoom & Pan Controls popover that summarises all the gestures and modifier keys for the current platform.

6.4 Auto dB

Auto dB scales the magnitude axis to fit the current signal: the floor moves to just below the lowest visible value and the ceiling to just above the highest. It is the fastest way to land on a sensible magnitude range after a measurement, especially when the captured tap was much louder or quieter than the live signal that preceded it.

A button in the toolbar invokes Auto dB. The keyboard shortcut is ⌘0 on macOS; Ctrl+0 on Windows and Linux.

Use Auto dB after each measurement, or any time the spectrum clips or sits flat against the magnitude floor.

6.5 The Crosshair (iOS and iPadOS)

The crosshair is a touch-based readout for inspecting frequency and magnitude at any point on the chart.

  1. Tap the crosshair icon dot.viewfinder in the toolbar to enable it. The icon switches to plus.viewfinder while crosshair mode is active.
  2. Touch and drag anywhere on the chart. A vertical and horizontal line follow your finger; a small readout shows the frequency (Hz) and magnitude (dB) under the crosshair.
  3. Tap the icon again to disable.

The crosshair is a read-only tool — it does not change the selected peaks, the spectrum, or any saved state. On desktop there is no toggle; the crosshair follows the mouse pointer continuously whenever the pointer is over the chart, showing the frequency and magnitude under the cursor in real time.

6.6 Peak Labels

Each annotated peak carries a label showing the mode name, frequency (and pitch with cents offset in guitar mode). Labels are positioned automatically to minimise overlap, but you can move any label to a position you prefer.

6.7 Annotation Modes

The Annotations button cycles through three states that control which peaks are labelled on the chart:

In plate and brace mode there is no per-peak selection — the identified Longitudinal, Cross-grain, and (when measured) Diagonal peaks are the measurement, not a subset you choose (see §4.9). So All and Selected label the same set — all of them — and only None clears the labels. Guitar mode is the only place Selected differs from All (§3.6).

Cycle via the Annotations button, or with the keyboard shortcut ** on macOS / **Ctrl+ on Windows and Linux.

Annotation mode applies to the current view only — it is not saved with the measurement, and does not affect which peaks contribute to derived values (selection does that, see §3.6).

6.8 Saving the Current View as Default

Once you have zoomed and panned to a view you want as your starting point for every new measurement, save it:

Settings → Advanced → Display Settings → Save Current View

What is saved: the frequency range (low and high Hz) and the magnitude range (low and high dB) of the current chart. The saved view becomes the target of Reset to Saved (§6.2) and of right-click → Reset Axes (§6.3) on subsequent launches.

The default view is a single global setting, not per measurement mode. If you work in plate mode and guitar mode at different ranges, pick the view that suits the work you do most often and zoom from there for the other.

Chapter 7 — Saving, Exporting, and Sharing Measurements

This chapter is a complete reference for everything you can do with a measurement after capture: store it, review it, send it elsewhere, and bring it back later.

7.1 Saving a Measurement

Press Save square.and.arrow.down in the toolbar to store the current measurement. Save is enabled whenever there is a finished measurement on screen — a frozen single tap, a complete plate or brace multi-phase capture, or an active comparison overlay — and disabled when the spectrum is live or no peaks have been identified. Hiding peaks with Peak Min (or the None annotation mode) is only a display choice and never disables Save — the full peak set is stored regardless of what is currently shown.

The Save sheet has two fields:

What is stored depends on the type of measurement:

Keyboard shortcut: ⌘S on macOS; Ctrl+S on Windows and Linux.

After Save, the measurement appears at the top of the Measurements list (§7.2).

7.2 Viewing Saved Measurements

Saved Measurements window with a mix of guitar, plate, brace, and comparison rows.

Open the Measurements list with the toolbar Measurements button list.bullet.clipboard, or with ⌘L on macOS / Ctrl+L on Windows and Linux.

Each row carries up to three lines plus a trailing column:

The list is shown in the order the measurements were saved — newest entries appear at the bottom — not sorted by date or name.

7.3 Loading a Measurement into the View

Either double-click the measurement row, or open the popup menu on the row (click the row's button or right-click on desktop, or long-press on iOS / iPadOS) and choose Load into View.

What is restored on load:

Loading a measurement replaces the analyzer's current settings — threshold, Peak Min, Taps, measurement type, and so on — with the values that were active when the measurement was captured. Your saved Settings values are untouched.

The status bar shows a "loaded settings" notice while this is in effect. The notice matters because pressing New Tap with the loaded settings active will capture using the loaded measurement's values, not the ones you had configured before. If that is not what you want, change Settings (or load a different measurement whose settings you do want) before tapping.

Loading a saved comparison restores all constituent spectra as the overlay, brings up the Comparison Results table, and switches the view into comparison mode.

7.4 Viewing Measurement Details

Open the popup menu on a measurement row (click the row's button or right-click on desktop, or long-press on iOS / iPadOS) and choose View Details, or tap the row directly.

The detail view is read-only. It contains:

For a comparison, the detail view shows the list of constituent spectra and the Air / Top / Back frequency table.

Load, Edit Name & Notes, and the export actions are reached from the popup menu on the row in the Measurements list, not from this view.

To dismiss the detail view: click the window's close button on macOS, press Close in the Python desktop build, or tap anywhere outside the dialog on iOS / iPadOS.

7.5 Editing Name and Notes

You can change a measurement's name or notes at any time after it has been saved.

Open the popup menu on the measurement row (click the row's button or right-click on desktop, or long-press on iOS / iPadOS) and choose Edit Name & Notes. The edit sheet has the same two fields as Save. Tapping Save in the sheet commits the change immediately — there is no separate confirm step and no undo.

7.6 Exporting a Spectrum Image

Produces a PNG of the chart at display resolution. The image reflects whatever the measurement contains: a single tap is exported as one frozen spectrum with annotations, a plate measurement is exported with all of its phase spectra, and a comparison is exported as the overlay with every coloured curve, its label, and the legend.

Two ways to invoke it:

7.7 Exporting a PDF Report

Bundles the chart, the data, and the metadata into a single shareable PDF. Like the spectrum image export, this works on any measurement; the PDF contents follow the measurement type:

Every PDF carries a metadata header with the date, name, and notes.

Two ways to invoke it:

7.8 Exporting a Measurement

The native portable container is the .guitartap file — a self-contained snapshot of a saved measurement that can be moved to any other device and re-opened without loss.

What it contains: the peaks (with selections and mode overrides), the full spectrum data (Base64-encoded little-endian float32 arrays for frequency and magnitude), annotation positions, and the settings active at capture time. For a measurement that holds more than one spectrum — a plate measurement with its 2 or 3 phase captures, or a comparison with its constituent waveforms — every spectrum is embedded, so the file is larger but stays fully self-contained.

Which popup-menu item to use depends on platform:

The file extension is .guitartap on every platform, and the format is interchangeable across iOS, iPadOS, macOS, Windows, and Linux builds.

7.9 Importing a Measurement

Saved Measurements dialog on iOS — Import Measurement and Delete All live inside the ellipsis menu in the upper-right.

The access path differs between platforms:

The imported measurement appears in the list regardless of its type — guitar, plate, brace, or comparison.

If the input device named in the imported file is not available on the current system, the import still succeeds and the imported data is unchanged. A warning is shown after the import completes, letting you know that further capture will use a fallback input device until the original is reconnected.

7.10 Exporting or Backing Up the Whole Library

Where §7.8 exports a single measurement, Export All writes your entire saved-measurement library to one .guitartap file. Its purpose is to back up the complete collection or to move it in a single step — from one platform to another (macOS ↔ iPad ↔ Windows / Linux), or, on the web build, from one browser to another.

The action lives in the Saved Measurements list:

The result is a single .guitartap file containing every saved measurement — guitar, plate, brace, and comparison. Re-import it on any platform with Import Measurement (§7.9); the measurements are merged back into the list. The file is interchangeable across all builds, so Export All on one platform followed by Import on another is the supported way to carry a whole library across.

Web build — why the backup matters. In a browser the library is stored in that browser, and the browser can clear it — Safari deletes a site's stored data after roughly seven days without a visit, on both macOS and iOS. Installing the app (Add to Home Screen on iOS, Add to Dock on desktop) promotes the storage to durable; keeping an Export All file elsewhere is the portable backup. The app shows this reminder in the Saved Measurements panel on affected browsers:

Your library is stored in this browser and can be cleared by the browser (Safari deletes it after about 7 days without a visit, on macOS and iOS). Install the app (Add to Home Screen / Add to Dock) for durable storage, and use Export All to keep a backup.

7.11 Sharing Between Devices

Anything you can export — measurements (§7.8), spectrum images (§7.6), or PDF reports (§7.7) — can be shared between devices. Which action to use depends on where the file is going.

Apple ecosystem (iOS, iPadOS, macOS native build). Use the Export Measurement, Export Spectrum, or Export PDF Report popup-menu actions. Each opens the system share sheet, from which:

Non-Apple devices and archival. Use Save Measurement to Disk… (macOS popup menu) — which is the file-save path, not a share-sheet path — to write a .guitartap directly to a folder of your choice. On Python desktop builds (Windows, Linux, and macOS Python) the Export Measurement action opens the same kind of save dialog, since no system share sheet exists on Windows or Linux. From disk the file can travel via any cross-platform channel — Dropbox, Google Drive, email, USB drive, network share — and the receiver imports it with §7.9. This same disk-save path is the right choice when you simply want a permanent file copy outside the app's library.

Cross-platform example. Export from a Windows or Linux build with the Export Measurement action — which opens a save dialog on those platforms — transfer the resulting .guitartap file to an iPhone or iPad (via Files, email, Dropbox, etc.), and import it on the receiving Apple device via §7.9. The .guitartap format is identical on every platform, so no conversion is needed regardless of direction.

7.12 Deleting Measurements

A confirmation prompt appears before deletion so an accidental click or swipe does not lose data. Deleting a measurement removes it and any data embedded in it; nothing else in the list is affected. Because a comparison embeds copies of its constituent spectra at save time, deleting an individual measurement that was previously combined into a comparison leaves that comparison intact, and deleting a comparison leaves its source measurements intact.

Chapter 8 — Settings Reference

The Settings sheet collects every persisted configuration the analyzer uses: audio input, measurement-type-specific inputs (mode frequency windows for guitar, dimensions for plate / brace), and the Advanced display- and analysis-tuning values.

This chapter is the reference for every field. Workflow context for the most-used ones — choosing a measurement type, tuning threshold and peak min, importing a calibration — lives in Chapter 2.

8.1 Opening Settings

Changes apply immediately (no Apply step) and persist across launches.

8.2 Audio Input & Calibration

See §2.3 and §2.4 for the workflow.

Capture sample rate

GuitarTap captures at whatever sample rate the operating system provides for the selected input device — it does not override it. The rate is set outside the app:

Why it matters: the analysis frequency resolution and the captured spectrum are tied to the rate, so the same instrument measured at a different rate will read slightly differently. The rate in effect is recorded with each measurement (see Appendix B) so that loading a measurement can warn you if your current setup differs — see §10.7.

8.3 Measurement Type

The Measurement Type section adapts to the type you select.

Guitar subtype — pick one of:

Below the subtype picker, Mode Frequency Ranges displays the windows the analyzer uses to classify air, top, back, dipole, ring, and upper modes for the chosen subtype. The display is read-only — the windows are a property of the subtype, not a user-tunable value.

For a material type (Plate or Brace), Settings selects the type and — for plate — whether the Diagonal tap is captured. The dimension fields below are the defaults for a new measurement: they seed each measurement's values at capture, but you enter and edit the actual per-measurement dimensions in the Analysis Results (plate §4.9, brace §5.4), and those are what drive the numbers and are saved with the measurement. Editing a value here changes only the default for the next new measurement.

Plate — the section reveals the plate defaults:

Brace — the section reveals the brace defaults:

8.4 Advanced — Display Settings

Tap Advanced to reveal these.

8.5 Advanced — Analysis Settings

Advanced section of Settings showing Display Settings and Analysis Settings sub-sections.

When enabled, a folder row appears beneath the setting showing where the files are saved, with buttons to work with that folder: - macOS: Show in Finder opens the folder; Change… lets you pick any folder (the app remembers your choice across launches); Use Default returns to the app's own storage. The default is inside the app's container; use Change… to send dumps to, for example, ~/Documents/GuitarTap. - Desktop (Python build — macOS / Windows / Linux): the same Open Folder / Change… / Use Default controls. The default is your Documents folder + GuitarTap (your real Documents location, including a redirected or OneDrive Documents). - iPhone / iPad: the app's Documents directory (not settable), reachable via Files → On My iPhone/iPad → Guitar Tap. - Browser (web build): files download to your browser's Downloads folder (not settable — the browser controls where downloads go).

The folder is expected to stay where you put it: if you rename, move, delete, or trash it (or it's on a drive that isn't mounted), Guitar Tap can no longer reach it. When that happens — on New Tap, and also at launch, since Guitar Tap arms for a tap automatically when it opens — it asks you to Change Location, Turn Off Saving, or Cancel before the measurement starts, so a recording is never lost to a missing folder. Cancel leaves the detector idle; press New Tap again when you're ready.

File names are timestamped and prefixed by the originating build — swift_<label>_<timestamp>.wav, python_<label>_<timestamp>.wav, or web_<label>_<timestamp>.wav — so dumps from cross-platform comparison runs are easy to tell apart. - Reset Analysis Settings — restores the analysis defaults.

8.6 About & Help

The final section of the Settings sheet carries three items:

Chapter 9 — Controls Reference

A scannable reference for every button, control, and gesture. For the workflows that exercise them, see Chapters 3–7. For the chart-interaction details, see Chapter 6.

9.1 Toolbar — iOS iPhone (Portrait)

iPhone portrait — navigation toolbar, secondary icon row, and the top of the Tap Controls panel.

Vertical layout with three stacked control rows above the chart.

Top — navigation toolbar:

Middle — secondary icon row (just below the toolbar):

Bottom — Tap Controls panel (§9.6):

Taps stepper, Threshold slider, Peak Min slider, and the action buttons New Tap / Pause-Resume-Accept / Cancel-Redo.

9.2 Toolbar — iOS iPhone (Landscape)

iPhone landscape — Tap Controls panel on the left, spectrum on the right, with the full navigation toolbar across the top and a status bar below the chart.

Horizontal split layout with the Tap Controls in a vertical panel on the left and the spectrum chart filling the right side. The navigation toolbar runs across the top of the screen.

The Tap Controls panel scrolls vertically when there is not enough height to show every control at once.

9.3 Toolbar — iOS iPad