Personal project

Pitch Matching Game

A browser-based singing exercise that turns microphone input into immediate, useful pitch feedback.

Play the game
Pitch Matching Game interface
Role
Product design and development
Type
Interactive browser game
Stack
React · TypeScript · Web Audio API

What it does

Players hear a target note and reproduce it in a comfortable octave. The game listens through the microphone, evaluates pitch and stability, then gives concise feedback after each round.

Main features

  • Single-note and melody-memory exercises
  • Easy and hard note sets
  • Real-time pitch direction and hold feedback
  • Round scoring and local personal bests

How it works

Each round plays a reference note before opening a timed listening window. Audio is analysed locally in the browser, and the interface translates the result into note, direction, stability and score feedback.

Product details

  • No audio is recorded or uploaded
  • Scoring works across comfortable octaves
  • Microphone access begins only after the player starts
  • Reduced-motion preferences are respected

How I built it

The interface is built with React and TypeScript. The Web Audio API handles playback and microphone input, while an AudioWorklet keeps analysis work away from the main interface thread. Game state and scoring are covered by deterministic tests.