← Selected Work Software · Web · Computer Vision · ★ Most Risky @ TVG

Harmonium

A browser app where you play piano or guitar with your hands via webcam tracking, work through curated lessons, or jam with a friend over WebRTC — built in under 24 hours.

React · VercelTone.jsMediapipeWebRTC
Shipped · live in the browser
Harmonium
Try it live ↗
Role
ECE · team of 3
Timeline
Oct 2025 · <24 hrs
Context
TVG Vibeathon · Most Risky Hack
Status
Shipped & live

Overview

Buying a physical instrument just to find out whether it suits you is expensive — and there's no good free way to noodle around with one first. Harmonium is a friction-free way to try (and to goof off with friends): free-play piano and guitar, curated piano lessons, and multiplayer jamming over WebRTC, all in the browser.

Highlights

Frequency interpolation for missing samples

Only some note samples were available, so I used Tone.js frequency interpolation to synthesize the in-between tones — a direct application of attack-release envelopes from my Linear Systems & Signals course.

EMA filter on hand tracking

Raw Mediapipe keypoints jittered and made the on-screen instrument feel unstable; an exponential moving average on the landmarks smoothed control — another signal-processing payoff from coursework.

Multiplayer over WebRTC

Peer-to-peer audio/data so two people can jam together in real time, no server in the hot path.

Built in under a day

Scoped aggressively to ship a genuinely playable instrument in <24 h — the ambition is what earned the "Most Risky Hack" prize.

Demo

Results

A fuller write-up with architecture notes is coming. In the meantime the app is live to try.