Skip to content
This repository was archived by the owner on Jan 24, 2026. It is now read-only.

quality-krl/EarGym-TestLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pitch QA — Ear Trainer (EN/HE)

A bilingual (English/Hebrew) pitch-recognition mini site that treats ear training like QA: input (tone) → decision (note) → feedback (pass/fail) → iterate.

If a note feels “off”, it’s a failing test — and the goal is to build a reliable inner loop: hear → verify → improve.


What this is

  • A fast ear-training game: press Play, guess the note, track score/streak.
  • Designed with a QA mindset: measurable reps, instant feedback, consistent progression.
  • Mobile-friendly, with a safe language switch (no dir mutation that can cause blank frames on phones).

Features

  • Two languages: English + Hebrew (RTL content where relevant)
  • Difficulty levels: Easy / Standard / Hard (optional octave shifts on Hard)
  • Assist mode: plays A=440 before the target note (reference anchor)
  • Local best score: saved per language in localStorage
  • Benchmark wall: only publicly documented absolute/perfect pitch references
  • Touch UX: tap a benchmark card to pin tooltip; tap outside to close

Tech

  • Vanilla HTML/CSS/JS
  • Web Audio API (AudioContext, oscillator)
  • No frameworks, no build step

Run locally

Option 1 — VS Code Live Server

  1. Open the folder in VS Code
  2. Install “Live Server”
  3. Right click index.htmlOpen with Live Server

Option 2 — Python HTTP server

From the project folder:

python -m http.server 5500

## QA Exploration (Sample)

This project is also used as a QA practice environment.

Example test scenarios:

| Area | Scenario | Expected Result |
|------|----------|-----------------|
| Audio | Play reference tone (A4) | Tone plays clearly without distortion |
| Input | Guess wrong note | UI shows failure feedback and resets state |
| Language | Switch EN → HE | Layout flips RTL without breaking UI |
| Storage | Refresh page | Best score persists correctly |
| Touch UX | Tap outside tooltip | Tooltip closes reliably |

Known edge cases explored:
- RTL direction mutation causing blank frames on mobile  
- AudioContext resume on iOS  
- LocalStorage per-language isolation  

About

EarGym is a responsive web + phone ear-training app built as a future QA portfolio showcase. Today it delivers fast note-ID drills, score/streak/best tracking, difficulty scaling (naturals → chromatic + octave shifts), and a smooth EN/HE RTL toggle. Next: formal test plan, test cases, and automation coverage as I complete my QA course.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors