OpenClaw 8ecb7f2de2 Phrase mode: always-eighths arpeggio/Giuliani, auto meter, custom patterns, alternating bass
- arpeggioGenerator: always 240-tick eighths; auto-derive 3/4 vs 4/4
  from pattern length (remainder heuristic); never stretch the last
  note (fixes the two-octave 2880-tick VexFlow crash in 6/8); rest
  fills built from renderable durations only; new 'custom' pattern
  from digit input (1=root..5=fifth-above-octave); removed meter/rhythm
  config — generator computes its own meter.
- giulianiGenerator: always eighths; meter auto-derived from figure
  length (3v->3/4, 4v->4/4, 5v->4/4+rest, 6v->3/4); fixed pimami
  figure [0,1,2,3,2,1]; added pimai/pmia/pmim figures; alternating
  bass option (even bars voice the fifth as bass); removed the
  quarter-note fallback.
- PhraseTrainer: removed meter/rhythm selects for arpeggio+giuliani;
  custom pattern text input; alternating bass checkbox.
- SettingsTypes: 'custom' arpeggio pattern, customArpeggioPattern,
  giulianiAlternateBass; removed arpeggioRhythm.
- PhraseSheetMusic: minWidthPerBar 420 -> 500 for 16th notes.
- Tests updated for the new invariants + coverage for custom patterns,
  alternating bass, new figures, renderable-tick sweeps (1031 -> 191
  per-file, all green); removed temporary crash_test.test.ts.
2026-09-15 06:29:11 +00:00
2025-12-21 12:58:40 +01:00
2025-12-21 12:20:30 +01:00
2025-12-28 15:31:32 +01:00
2025-12-31 10:35:11 +01:00
2025-12-31 10:35:11 +01:00
2025-12-21 12:20:40 +01:00
2025-12-21 12:20:40 +01:00
2025-12-21 12:20:40 +01:00
2025-12-31 10:35:11 +01:00

Sheet Music Trainer

A web-based application designed to help musicians practice sight-reading and ear training. It listens to your instrument (or voice) via the microphone and gives real-time feedback.

Live Demo (If available)

Features

  • Sight Reading Mode: Read notes from the interactive staff and play them on your instrument. The app listens and confirms when you hit the correct note.
  • Ear Training Mode: Listen to a reference note and try to reproduce it. The reference note duration is configurable, and it can optionally wait for your instrument to go quiet before the next one plays.
  • Phrase Mode: Practice short phrases — several bars of a single-voice line. Material: generated melodies (any key/mode, seeded), scale drills (one/two octaves or within a fretboard position, up/down/up-down), bundled exercises (verified public-domain melodies + original studies), or your own .abc files. Two paces: at your pace (beginner, waits for each note) and with tempo (metronome count-in, forgiving hit/miss tracking). Note that matching checks pitch, not fingering, and repeated identical notes need a brief release between them.
  • Real-time Pitch Detection: Uses your device's microphone to detect notes instantly, with an analysis window and detector adapted to your instrument.
  • Chromatic Tuner: Tunable needle with cents display, always-on when enabled.
  • Instrument Support: Optimized for Guitar, Bass, Piano, Voice and Whistle, with configurable tunings for guitar and bass.
  • Virtual Instruments: On-screen interactive guitar fretboard and piano keys for visual reference or touch input.
  • Customizable: Difficulty (range, accidentals), key signatures, rhythm/metronome settings, reference note duration, microphone sensitivity, and more.
  • Dark & Light Themes: Full theme support including native form controls.
  • Zen Mode: Distraction-free practice interface.

Getting Started

Prerequisites

  • Node.js (v18 or higher recommended)
  • npm

Installation

  1. Clone the repository:

    git clone https://github.com/9x/sheetmusictrainer.git
    cd sheetmusictrainer
    
  2. Install dependencies:

    npm install
    
  3. Run the development server:

    npm run dev
    
  4. Open your browser and navigate to the local URL provided (usually http://localhost:5173).

Technical Details

100% vibe coded using Google Antigravity and Gemini 3 pro.

This project is built with:

  • React + TypeScript
  • Vite
  • VexFlow (for music notation)
  • Pitchfinder (for audio detection)

For more details on the architecture, see TECHNICAL_REALIZATION.md.

License

MIT

Description
No description provided
Readme 1.3 MiB
Languages
TypeScript 90.9%
CSS 5.8%
JavaScript 3.2%