A from-scratch HTML/TypeScript engine that reads the original Guit95 data files (INI-based scenes, custom score-sync format, chord database, exercise scripts) and renders them in a modern web UI with slow-down practice, A↔B looping, synchronized scrolling tablature, chord previews, and per-exercise progress tracking.
⚠️ This repository contains only the engine and asset-build scripts. None of the original CD's video, audio, or image content is distributed here. To run the app you need a copy of the originalGuitar.iso(or the physical CD). All music and instructional content is property of the respective artists and Ubi Soft (1995); use this engine for personal practice only.
7 lessons, each ~30 minutes of video instruction:
| # | Song | Artist | Exercises |
|---|---|---|---|
| 1 | Hey Joe | Jimi Hendrix | 15 |
| 2 | No Woman, No Cry | Bob Marley | 13 |
| 3 | Life by the Drop | Stevie Ray Vaughan | 7 |
| 4 | Sweet Home Alabama | Lynyrd Skynyrd | 12 |
| 5 | Dust in the Wind | Kansas | 9 |
| 6 | Blowin' in the Wind | Bob Dylan | 7 |
| 7 | Wild World | Cat Stevens | 10 |
Per song:
- Video lesson (8–10 MB H.264 after conversion from CD AVI)
- 11–25 chord shapes with diagrams + sample audio
- 7–15 exercise videos with voice commentary
- Synchronized tablature strip (~14000 px wide) that scrolls in time
- Difficulty hotspots that link to the relevant exercise
Practice tools:
- Slow-down practice (0.25–1.5×) with pitch preservation
- A↔B loop with bar-snapping, auto-swap, keyboard control
- "Loop here" one-click bar loop
- Page-flip scrolling tablature (Songsterr-style)
- Drag / wheel / touch to manually pan the partition
- NOW / NEXT chord previews auto-update from playback events
- Hand close-up photo of each chord shown in the NOW slot
- "↪ jump in song" icon per chord — seeks video to where the chord is first played
- Multi-segment exercises auto-chain voice → demo → next segment
- Per-exercise progress tracking with
N / total doneon home cards - Resume on reload per song
- iPad / touch support via Pointer Events
- Modern responsive layout (phone / tablet / desktop)
- Keyboard shortcuts (Space, [, ], Shift+[/], L, C, ←/→, Shift+←/→, ?, W, Esc)
- Speed preset buttons (0.5× / 0.75× / 1×)
- Settings panel with default speed / volume / reset progress
CD content preserved (often improved):
- Artist jingles on home card hover (from CD
TITLE/JGL-*.WAV) - Artist portraits on home cards (cropped from
TITLE1B.BMP,TITLE2.BMP) - Title-screen backdrop behind home cards (dimmed)
- Lyrics overlay with original CD BMPs + prev/next pagination (
Wkey) - About / Credits modal with the 6 original Ubi Soft credits pages
- Tuner with 6 reference-note samples from the CD (no microphone / DSP — just listen and tune by ear)
- Toolkit view (9 generic technique exercises) with faithful CD-style playback: hover a button to hear title voice; click opens with multi-segment chain (slow + voice with guitar close-up → silent normal-tempo demo)
- Exercise renumbering by song-curriculum order (first hotspot in the song = "Exercise 1", regardless of CD's file numbering)
Production deployment example: live at
guitar.petrochenko.info behind a
Cloudflare Tunnel — see DEPLOY.md.
- Vite + TypeScript (strict mode)
- Vanilla DOM — no framework
- Plain CSS — no Tailwind/SCSS
- Web Audio API for chord samples
- HTML5 video with
playbackRate+preservesPitch - localStorage for settings/progress/positions
- ffmpeg + sips (macOS built-in) for one-time asset conversion
Total: 0 runtime dependencies (just Vite for build).
You need:
- macOS (the asset pipeline uses
sips; on Linux you can substituteconvertfrom ImageMagick) - Node.js 20+
- ffmpeg (
brew install ffmpeg) - A mounted copy of
Guitar.isoat/Volumes/Guitar/
Then:
git clone https://github.com/<your-username>/guit95.git
cd guit95
npm install
npm run assets # one-time: convert AVI→MP4, BMP→PNG (~10 min)
npm run dev # opens http://localhost:5173- SPEC.md — Reverse-engineered spec of the original CD's data formats (INI scenes, SCO sync, CHD chord DB, EXR exercise scripts).
- ROADMAP.md — 8-phase development plan.
- BACKLOG.md — Deferred ideas (tuner, metronome, visual polish, etc.).
- DEPLOY.md — Production deploy guide (Docker + nginx + Caddy reverse proxy).
- CLAUDE.md — Architecture overview for future AI contributors (read this first if you're an AI assistant).
- phases/ — Per-phase spec files (each ~200–500 lines, self-contained for delegation to Sonnet sub-agents).
Functional and used for practice daily. See CLAUDE.md → "What's done / what's deferred" for the feature list.
Phases 5 (tuner) and 6 (metronome) are deferred to BACKLOG.md.
This project was built primarily by an Opus-orchestrated, Sonnet- implemented agent loop:
- Opus writes a self-contained spec to
phases/N-spec.md - Opus spawns a Sonnet sub-agent with that spec
- Sonnet implements + commits + reports demo steps
- User runs the demo to verify
If you want to use this pattern, see CLAUDE.md → "Sonnet sub-agents".
The engine code in this repository is MIT-licensed (see LICENSE).
The original CD content (video, audio, images, INI scenes) is NOT included and is not licensed by this repository — copyright remains with the original authors and Ubi Soft. This engine is provided for the lawful purpose of letting CD owners interact with their own legally-acquired media on modern hardware.