This project presents a smart guitar learning system that combines embedded real-time digital signal processing with fretboard-mounted LEDs to guide players through songs and verify played notes acoustically.
Beginning guitar players face two persistent difficulties: translating written tablature into correct finger placement on the fretboard, and knowing whether the note that was actually played is the one that was intended. Existing learning tools address both problems on a screen, away from the instrument, and the feedback they provide is either delayed or absent altogether. The work described here moves both functions onto the guitar itself.
Individually addressable WS2812B LEDs are mounted along the fretboard, one per string-and-fret position, so that the required note is indicated exactly where it must be played. An ESP32 microcontroller serves as the central controller: it parses tablature data, drives the LED array, acquires audio from an INMP441 I2S MEMS microphone mounted inside the guitar body, and executes the note-detection algorithm locally, with no external computer or network connection.
Detection is based on the Goertzel algorithm, which was selected because it evaluates the energy at a small set of predetermined musical-note frequencies at a fraction of the cost of a full FFT and is therefore well matched to the processing budget of an embedded platform. The final configuration uses a 4096-sample window at a 10.24 kHz sampling rate, a combination that resolves adjacent guitar notes while keeping latency and memory consumption within the limits of the device. The firmware is organised into separate LED-control and DSP modules, so that tab parsing, LED mapping, frequency analysis and correctness verification form a closed feedback loop: the system illuminates the required note, listens to the player’s response, tests whether the expected frequency is present, and advances to the next note only after a correct match.
Several practical issues were resolved during development. Long songs exceeded the memory available for parsing; steel and nylon strings deliver markedly different acoustic power to the microphone; low-frequency body resonance contaminated the lower detection bands; sustained notes produced repeated triggering; and the microphone wiring proved to be a recurring source of intermittent faults. The detection thresholds were consequently made dependent on the frequency band, with the search depth adjusted accordingly.
In its present form the system handles single-note melodies and short tab excerpts, and within that scope it demonstrates the intended concept of a self-contained, guitar-mounted learning assistant. Proposed extensions include chunked loading of songs from flash storage, dynamic estimation of the noise floor, onset detection or debounce logic to suppress repeated triggering, support for chords, and re-tuning of the detection thresholds for different instruments and acoustic environments.
