Key Kalimba is an interactive, web-based 17-key Kalimba trainer and tuner. Play along with falling notes, load custom MIDI songs, and tune your physical instrument with built-in pitch detection—directly in your browser on desktop, tablet, and mobile devices.
- Falling Notes Visualizer: Learn songs intuitively with falling note tiles synchronized in real time with high-fidelity acoustic Kalimba audio.
- Physical Instrument Calibration: Adjust the scale/zoom so the digital tines perfectly match the physical width of your real Kalimba when placed over your screen.
- Custom MIDI Support: Import any
.midor.midifile and practice at your own pace with adjustable tempo and timeline scrubbing. - Integrated Kalimba Tuner: Tune each tine using your device microphone. Real-time pitch tracking guides you with clear visual feedback (in tune, sharp, flat) and tracks your tuning progress across all 17 keys.
- Customizable Notation: Toggle numbered musical notation (
1 2 3) and octave indicators on the tines, and switch between major and alternate tunings (C Major, G Major, F Major, Bb Major, etc.). - Mobile & PWA Ready: Optimized for touchscreens and landscape orientation, with offline support for practicing anywhere.
| Playing Mode | Tuner Mode |
|---|---|
![]() |
![]() |
- Node.js 18+ and npm
# Clone the repository
git clone https://github.com/jonashuberts/KeyKalimba.git
cd KeyKalimba
# Install dependencies
npm install
# Start development server
npm run devnpm run buildSupport the free, open-source, and ad-free development of KeyKalimba on Ko-fi to help keep it running and accessible for everyone into the future.
- Framework: React + TypeScript
- Build Tool: Vite + PWA Plugin
- Audio Engine: Web Audio API, soundfont-player, MidiPlayerJS
- Icons: Lucide React
This project is licensed under the GNU Affero General Public License v3.0.

