Guitar Note Trainer

A small web app I built to stop being bad at naming notes on the guitar. It shows me a note, speaks its name out loud, then plays the note on a synthesised guitar tone — so I just watch, listen, and let it sink in. No quizzes, no wrong answers, no pressure. Almost like a metronome, but for note names.

Why I made it

I can sight-read tab, I can play songs from memory, but ask me what note sits on the 7th fret of the D string and my brain goes blank. Most fretboard trainers I found treat this like a test — flash a note, time you, mark you wrong. That’s not how memorisation works for me. I wanted something I could leave running in a browser tab while I held the guitar, and let repetition do the slow, boring work.

How it works

The loop is simple: pick a random note from the set you enabled, display it, speak it out loud, wait a beat, then play a synthesised guitar tone. The voice comes from the Web Speech API; the guitar sound is built in the browser with the Web Audio API — five additive harmonics and a plucked-string envelope, so it actually rings rather than beeps. The BPM slider controls how fast the loop runs. I usually sit somewhere around 40–60 BPM, slow enough that I have time to find the note on the neck before the tone plays.

How to use it

  • Tap Open the Trainer above.
  • Pick which notes you want to practise (or leave all twelve enabled).
  • Set the BPM to something relaxed.
  • Hit Start and put the phone on your music stand.
  • Every time a note comes up, find it on the neck before the tone plays. No score, no timer — just reps.

Languages

The trainer speaks note names in English (C, D, E, F, G, A, B) or German (C, D, E, F, G, A, H — and Cis, Dis, Fis, Gis, Ais for the sharps). Pick whichever matches how you think about music.

Under the hood

It’s a self-contained HTML page — about 40 KB, no dependencies, no frameworks, no tracking, no cookies. Your BPM and note-selection preferences are saved in localStorage so the trainer remembers how you left it. There is a matching SwiftUI iOS version I keep alongside it, but the web version is the one I use day to day.