# Real guitar comparison: reproduction and limits

Download both source WAVs, both JAMS files, crop.py, convert.mjs, detector-snapshot.js and analyze.py into one directory. Python3 and Node.js are required; no third-party Python packages or model downloads are required.

Run in order:

    python crop.py
    node convert.mjs
    python analyze.py

The WAVs are real microphone recordings from GuitarSet1.1.0, not generated instruments. Single-note excerpt: solo source frames578592–699426 (13.12–15.86 seconds). Chord excerpt: comp source frames0–120834 (0–2.74 seconds). Both use44100Hz PCM16mono. The half-amplitude derivative multiplies signed samples by0.5 and rounds to integers. No audio from a synthesizer replaces the recording.

The published site's unmodified downsample/detectNotes/buildMidi function section is retained as detector-snapshot.js. The harness decodes the supplied WAV PCM directly and calls downsample to11025Hz and detectNotes mode2, then saves buildMidi output. This is a local code-path test, not an asserted interactive UI or DAW test. The source site script is https://audiotomidinow.com/script.js; hashes are in source-provenance.json.

The independent reader in analyze.py parses actual exported MIDI bytes and checks them against detector output within0.003seconds. Note comparison uses nearest-semitone annotation pitch, exact integer match and onset tolerance0.15seconds. References are visited by start order, each assigned to the nearest unused eligible output. There is no note-offset criterion. Boundary-crossing annotation notes remain, clipped at the crop edges. No octave-equivalence credit is given. Counts are not a general accuracy rating.

PASS means the comparison/reproduction checks ran, not that the transcriptions are good. These outputs have substantial errors. No real-time latency, hardware MIDI pickup, competitor output, DAW import or listening-based tone accuracy was measured. Dataset labels are partly automated, may be imperfect, and are not a fresh human transcription. Figures are piano-roll plots of the downloadable reference/output note ledgers, not a fabricated DAW screenshot.

Original files: 00_BN1-129-Eb_comp_mic.wav, 00_BN1-129-Eb_solo_mic.wav, 00_BN1-129-Eb_comp.jams, 00_BN1-129-Eb_solo.jams. Attribution and license are in ATTRIBUTION.md. No authors endorse this comparison.
