A browser-based practice trainer for Carnatic sarali varisai. Pick a shruti, a ragam, and a varisai exercise, then sing along with the metronome — the app listens through your microphone in real time and tells you which notes you nailed and which drifted off.
Live demo: https://subashini7.github.io/swaram-trainer/
- Shruti, ragam, and varisai (1–9) selection, with adjustable BPM and a reaction-delay setting to account for the natural lag between hearing a beat and singing it
- Real-time pitch detection (autocorrelation-based) that anchors to your own sung register rather than a fixed reference
- Pass / fail / "timing" (likely a window-alignment miss rather than a wrong note) verdict per beat, with a toggle to hide the color coding entirely
- A tap-to-hear reference keyboard for the current ragam
- A live scrolling spectrogram of your pitch against horizontal guide lines for each swara
- A running mistakes log with inline playback of what was actually sung, plus a full session recording download (WAV)
- Needs microphone permission — works over HTTPS (like this GitHub Pages deployment) or
localhost. - Headphones are recommended: the metronome click can otherwise bleed into the mic and occasionally confuse the pitch detector.
- Works on both desktop and mobile browsers; the reference keyboard and spectrogram scroll horizontally on narrow screens.
No build step — it's plain HTML/CSS/JS. Serve the folder with any static file server, e.g.:
python3 -m http.server 8000Then open http://localhost:8000.