Sing + Speak · client-side only
One platform, two lanes. Pick Sing or Speak.
We check that your mic is live so the mirror can see you — nothing leaves this device.
Allow microphone access, then speak until the meter moves. Confirm when you see live input.
Waiting for microphone…
Beginner: wider “on pitch” so you can actually succeed. Switch up when you want a tighter challenge.
Sustain holds train pitch control — the foundation of singing on key.
Echo default: hear the whole phrase, then sing it back in one continuous run.
Pick an exercise and start.
target: —
Find range tells you which songs and notes fit your voice today — your map, not a grade.
Sing your lowest comfortable note and hold it steady.
Ride one target note and see yourself center or drift — same skill as holding a hymn line.
Replay shows where your pitch rode and where it rested — honest gaps, no fake polish.
Record a short phrase. Replay shows your pitch trace — gaps where you weren't voicing stay empty.
Ready
Sing any song — no track loaded. We listen to HOW you sing, not whether the melody is “right.”
Judges steadiness, key consistency, coherence (flair that resolves), transitions, timing — not song-correctness. No reference melody.
Ready — press Start and sing anything.
Your performance
Green = solid · amber = look closer · red = unsteady / unresolved (places to improve — not a failure grade)
Room Ear
Approximation of how you sound to others (bone conduction reduced). Headphones recommended.
Music made simple — one idea at a time. Hear it, try it, no theory dump.
Uses movable Do. Pick a comfortable Do (or set from Find range → Use my range).
Lesson 1
These notes sound good together because they’re one family.
Pick a lesson and press Start.
Your melody
Range, not norm — where you are, warmly. No charisma grades.
Same idea as Sing: Beginner is gentler on pace/melody coaching. Default is Beginner.
A little pitch movement keeps listeners awake — we mirror that melody of speech, never grade your charisma.
settling in
Speak naturally — one idea at a time.
listening: —
—
pace: —
pause: —
—
Coach listens for speech-like rhythm (not pitch alone). Singing/humming stays calm. Heuristic, local, no AI. Pace is not true WPM.
Full-screen view from the stage — circle heads warm blue→green as you reach them. Never hostile.
Esc or the exit control leaves full screen. Herb-safe: cool blue = not yet reached; green = engaged. No red, no jeers.
Room ~18%
The room is quiet — waiting kindly for you.
After you talk, we show a receiver-framed mirror — where a listener might lean in or drift — not a scorecard.
Record a talk. Report shows melody range, pace proxy, pauses, energy map, and friction timeline.
Ready
monotone · rushed · upspeak (approx)
Room Ear
Approximation of how you sound to others (bone conduction reduced). Headphones recommended — not a perfect model.
Transcript (offline STT)
Optional — runs after Stop on the recording only. Never on the live coach.
One talk, remembered — plan the beats, rehearse with full metrics, carry one insight into the next run.
Local by default · Best-Self per project · optional AI assistant (Grok) — off unless you turn it on
Your talks
Coach memory for this talk
—
Open or create a project, then rehearse.
Transcript (offline STT)
After Stop — recording only; live loop untouched.
The open is often the whole game. Practice just the first ~10 seconds — hook, energy, land.
Opens only — we score the first ~10s, not the full talk. Guidelines, not a grade of you.
Ready — deliver your opening line(s).
Room Ear on this open
A short pre-performance check — are you in your trained zone vs your own baseline?
Press start, then speak naturally for ~20 seconds (or hum/sing if you’re prepping a song — speech path is the main gate).
Compares to your journal baselines only (Best-Self). Local, private.
Transfer-Proof — the moat. Singing and speaking share one engine; we only claim transfer when your journal has enough dual-mode data.
Your voice history — private on this device. Best-Self only: you vs you.
localStorage only — never leaves this browser unless you export later.