Acoustic Guitar Sustain Explorer

Observe the sustain and time-dependent behaviour of acoustic guitars from microphone recordings. 

Sustain Explorer

Observe the response. Explore how it changes in time.

v0.6.1
ReadySelect a measurement tab

Wavelet decay

65 Hz–10 kHz · 50 dB

Recording

No recording
Press Start or load a WAV.
Mic correction: off

Observe how a guitar responds, how its sound changes after a pluck, and where notes behave differently across the fretboard. These four measurement views support the methods presented in Mastering the Sound of the Acoustic Guitar and in the workshops.

The measurements help you locate a frequency region, compare instruments or adjustments, and connect what you hear with what you observe. They do not assign a quality score to the guitar.

Before you begin

Connect the microphone and open Settings. Select the microphone and capture channel, then load its frequency-response calibration file. Use the calibration corresponding to your microphone and its orientation. The calibration is remembered in the same browser when local storage is available.

Start requests microphone permission. Some browsers reveal microphone names only after this first request. In that case, start and stop once, then return to Settings and select the named microphone. Stop releases the microphone; the input level is displayed only during capture.

Keep the guitar support, microphone position, input gain and playing method consistent. Work in a quiet room. Use the positioning and tapping procedure described in Appendix A for body-response measurements. For note-sustain measurements, damp the strings that are not being played without touching the vibrating string or unnecessarily constraining the soundboard.

Use a published HTTPS page for microphone measurements. Recording, analysis and exports run locally in your browser; the app does not upload the audio. Fonts and the Iulius logo may load from website assets.

1. Sustain analyser

Record a note or chord

Choose Sustain analyser, press Start, and leave about one second of quiet. Pluck a single note or play one chord with one stroke, then let it ring without repeating the excitation. Press Stop. The wavelet map is calculated automatically.

Load WAV provides an alternative to direct recording. Use an uncompressed WAV containing the excitation and its sustain, preferably with some quiet before the attack. The Recording panel lets you inspect the capture; Shift-click it to correct time zero when needed.

Read the wavelet map

Time runs from left to right. Frequency runs from bottom to top on a logarithmic scale. Colour represents level. Follow individual ridges to see which frequency components remain, which fade early, and where their level fluctuates.

The default display spans 65 Hz–10 kHz and 50 dB. A single level reference applies across the entire map. A ridge becoming invisible does not necessarily mean its vibration has ended: its level may have fallen below the displayed range. Hatched areas near the recording boundaries indicate reduced reliability from the finite recording length.

Move the Time slider to inspect the Spectrum at that instant. For a single note, select Partials to compare up to four components: P1 is the fundamental, followed by P2, P3 and P4. Verify the detected fundamental, or correct it manually. Click a partial in the legend to emphasise its curve and position on the map.

Use the map and Spectrum for chords. The partial view follows one harmonic series and should not be interpreted as four independent notes of a chord.

Compare two recordings

Use Reference → Keep current as reference, then record or load another take. Show reference switches the main map between the recordings. Both maps share the same level reference. Keep the recording conditions and displayed limits consistent when comparing them.

2. Fretboard map

Acquire measurements without clicking each fret

Choose Fretboard map and select the string you are going to play. This revision covers six strings in standard tuning, from the open string through fret 12.

Press Start and remain quiet until Ready appears. Play one note on the selected string. The app identifies its pitch, highlights the corresponding fret, and captures the sustain automatically. There is no need to select the fret before playing.

Let the note sustain while Measuring is displayed. After analysis, damp the strings and wait for Ready before playing the next note. You may move along the string in order, skip positions, or repeat a note. Repetitions are added as separate takes. Press Stop before selecting another string, or when the sequence is finished. Stopping during a note analyses the available segment; a sustain interval that has not finished is not extrapolated.

A note capture has an internal safety limit of 16 seconds. When the app detects a sharp terminal damping action, it removes the final drop from the analysed segment rather than treating it as natural sustain. An additional excitation or a substantial pitch change can invalidate the take. Check the result when the capture-end indicator is not natural.

Load note WAV can also analyse a previously recorded single note. Select its string first. The file should include quiet before the attack and no more than 16 seconds of note sustain. For a multichannel file, the first import populates the WAV-channel selector in Settings; choose another channel and reload the file to analyse that channel.

3. Tap Frequency Response

Damp the strings and use the support, microphone position and tapping method described in Appendix A. Choose Tap Frequency Response, press Start, and perform a consistent sequence of taps.

The app continuously processes the microphone input and averages the latest 32 FFT frames. You do not need to record a tapping sequence, select a time window or launch a separate FFT afterwards. Watch the whole response: resonance shapes, relative levels and the regions between peaks.

Stop automatically retains the tap curve. Stop while the tapping sequence is still represented in the average, rather than after a long silence. Reset averaging clears the current averaging history without removing a saved reference.

The fixed settings are 32,768 samples, Hann window, 50% overlap and 1/48-octave power smoothing. The initial graph uses a logarithmic frequency axis from 65 to 1500 Hz, with a 50 dB vertical span.

The average count refers to FFT frames, not to the number of hammer taps. The app averages linear power spectra before converting the result to decibels; it does not average a long concatenated tap waveform.

4. Live testing

After measuring the tap response, choose Live testing and press Start. Play individual notes or make the local checks described in the measurement procedure.

Live testing uses the same FFT length, window, overlap and smoothing as Tap Frequency Response, but with four averages for a faster update. The retained tap curve stays underneath at its original level and calibration.

Peak keeps the maximum levels reached by the live averaged spectrum. Turn it off to follow the changing trace. Stop freezes the live result without changing the saved tap response.

The FFT views display dBFS, not absolute sound-pressure level. Their full-scale reference is a bin-centred full-scale sine. Microphone-response correction does not, by itself, calibrate the complete browser and operating-system gain path for SPL.

What each coloured cell represents

Choose Fundamental, P2, P3 or P4 above the fretboard. The entire map changes to show the selected partial’s 20 dB sustain time in seconds. P1 is the fundamental: the app measures four components in total.

The map does not average the fundamental and overtones together. When you repeat a note, the cell shows the median of the valid measurements of that same partial at that same string and fret.

Red means a shorter sustain than the lower display threshold, orange lies between the thresholds, and green is at or above the upper threshold. The two threshold values can be changed above the map. They are comparison limits, not universal criteria for good sound or validated wolf-note thresholds. The starting values of 0.8 and 2.0 seconds are display defaults only.

An unmeasured position is blank. ? means that no valid numerical sustain is available. marks a complex sustain that cannot be represented reliably by one slope. calls attention to possible or resolved peak splitting. Selecting the cell opens its evidence.

Inspect an individual note

Click a measured position to see its four partials. The result table shows each partial’s frequency, early relative level and sustain time. The table and graphs describe the selected take; the line below the table reports the map median, number of valid takes and measured range when there are repetitions. Use the take selector to review another repetition. Delete take removes only the selected repetition.

Each sustain curve is referenced to its own early level, so its rate of sustain is easy to compare with the others. Click a row or legend entry to emphasise one partial.

The displayed sustain time is calculated from a fitted line over the observed −5 to −25 dB portion of the envelope. It is not a reverberation time and is not extrapolated to a 60 dB sustain. A result is withheld when that interval is missing, too close to the noise floor, too fast for the analysis, or too irregular for one slope. A short-lived component and an irregular component are therefore not automatically treated as the same result.

Examine peak structure

Peak structure shows an unsmoothed, close-up spectrum of the selected partial. A pair of sufficiently distinct peaks is reported with both frequencies and their separation. A pair that also appears in early and late analysis windows can be marked Resolved doublet; other detected pairs remain Split candidates.

These labels describe the recording. They do not identify a wolf note or establish its cause. A short or weak recording may not resolve a close pair, and enlarging the graph cannot create missing frequency resolution. Compare the peak structure with the sustain envelope, repeated takes and what you hear.

Locate the frequency on the body response

Select Body response to see the note’s partial frequencies on the linked tap spectrum. Selecting P2, for example, highlights the second partial rather than the played note’s fundamental. This helps locate the actual frequency region involved in an uneven note.

The current tap response is linked when the first note is saved. Reference → Link latest tap response replaces that link with the most recent tap measurement. Save separate maps for different guitars or build conditions to avoid mixing their responses.

A partial lying near a body resonance is a useful association to investigate, not proof of a particular structural cause. The app does not assign automatic Air, Top or Back labels.

See harmonic balance change through time

The four bars below the spectrum show P1–P4 levels at the selected time. Move Time to compare the beginning and later parts of the note. The bars share one fixed reference: the strongest of these four partials in the early reference interval. They are not renormalised at each time.

This distinguishes a component that is weak from the beginning from one that starts strongly and fades quickly. A component too close to the noise floor is left unavailable. Pitch recognition can sometimes succeed even when P1 is too weak to measure; the app does not invent a fundamental sustain in that situation.

Read the signal-quality table

During capture, the table displays the input peak and measured background level. For a saved take, it shows the selected partial’s signal-to-noise margin, which partials have valid sustain estimates, and the reported status of input processing. Pitch and its early variation are shown above the result table.

Avoid clipping. Keep the recording conditions consistent, and repeat uncertain notes. Automatic gain control, noise suppression and echo cancellation are requested off. Unverified means the browser did not confirm all three settings; it does not establish that every operating-system process is disabled. A setting reported on invalidates the fretboard take.

The current numerical acceptance rule requires about 35 dB of initial signal-to-noise margin in the partial’s analysis band, so the −25 dB endpoint can remain at least 10 dB above the estimated floor. This is an implementation criterion for this revision, not a universal measurement standard. A weak fourth partial does not invalidate a usable fundamental. Dotted curve segments fall below the selected noise-margin criterion.

Beating and a changing sustain slope can be properties of the note, not recording faults. The app keeps those curves for inspection even when it cannot provide one dependable sustain number.

Save and compare maps

Export → Save complete map · JSON saves the current map, individual take results, captured audio, linked body response and colour thresholds. Export → Load complete map reopens that file. Keep this export before closing or reloading the page: maps are not automatically saved to a server or browser database.

Reference → Keep current map as reference retains a numerical comparison snapshot. View reference / View current switches between maps using the same colour limits. These in-memory snapshots contain curves and results, not duplicate audio; save the complete current map before clearing it to keep the recordings. Load map reference can open a previously exported map for comparison.

Exports also include a fretboard image, a table of all individual partial results, the selected peak spectrum, and the selected recorded take as WAV. The recorded samples are not level-normalised or microphone-corrected in the WAV export. A fretboard WAV contains the captured note segment and its pre-attack buffer, not the entire listening session.

Audio storage for a current map is limited to 160 MiB. At that limit, additional acquisition stops without deleting existing takes. Export the map before clearing it or starting another map.

Graph controls

Left-click zooms towards the selected point. Middle-button drag changes horizontal and vertical zoom independently. Right-button drag moves the view. The mouse wheel zooms at the pointer; Shift restricts it to the horizontal axis, and hovering beside an axis restricts it to that axis.

Hover over a graph to reveal its controls. Auto fits the relevant content. Reset restores the default view. Limits accepts numerical limits. The enlargement button opens a larger graph. With a graph focused, A runs Auto, 0 resets, and Enter opens Limits.

Shift-click the wavelet to select an inspection time, the Recording graph to adjust time zero, or the fretboard’s Partial sustain graph to move its time cursor. Display navigation never changes the recorded measurement values.

Keeping useful comparisons

Record the instrument, strings, microphone position, support and relevant adjustments. Compare measurements made under consistent conditions, then return to listening. The app records radiated sound at the microphone; it does not directly measure bridge mobility or stored string energy.

The numerical engines have been checked with controlled digital signals. Physical-microphone use and practical diagnostic criteria still require validation on real guitars. Use uncertain results as a reason to repeat or inspect a measurement, not as an instruction to modify the instrument.