1. Getting Started
What is Tonemap?
Tonemap is a browser-based real-time pitch and intonation visualizer. It listens through your microphone and paints a color-coded grid showing which notes you play and how in-tune they are — sharp, flat, or centered. Nothing is recorded or sent anywhere; all processing happens locally in your browser.
How do I start?
Press the microphone button (or hit Space). Your browser will ask for microphone permission the first time — click Allow. Play a note and you should see the grid light up within a moment. Press the button again (or Space) to stop.
Video walkthroughs
For demos and tutorials, see the Tonemap YouTube playlist — short videos showing how to use the app and what each feature looks like in practice.
Does it work on mobile?
Yes — Tonemap works on iPhone, iPad, and Android in any modern browser. Safari on iOS and Chrome on Android are both supported. A larger screen, and landscape orientation, tend to work better, especially on mobile devices. By tapping the logo, the UI will shrink to give you more space to see the grid.
Do I need to install anything?
No. Tonemap runs entirely in your browser with no download, no account, and no plugins required.
What microphone should I use?
Any microphone works — your device's built-in mic is fine for practice. An external USB mic or audio interface will give cleaner results in noisy environments, but isn't necessary. If the meter stays gray (too quiet), try increasing Microphone Gain in settings or moving closer to the mic. Conversely, if the meter is too sensitive (volume meter color turns red), try decreasing Microphone Gain or the Onset Filter, or moving further from the mic.
2. Reading the Display
The intonation grid
Each cell in the grid represents a semitone. When you sustain a pitch, the cell lights up in a color that reflects your intonation tendency. Colors are blended from your three palette colors (default: orange/green/purple):
The longer a note stays in a cell the more that cell's color is weighted toward your current tendency. Cells fade over time based on your History and Color Hold settings.
The pitch needle
The needle shows your real-time cent deviation from the nearest target pitch. It can be oriented horizontally or vertically (see Needle Direction in settings). The dead zone in the center is the range considered "in tune" — its size depends on your Mode setting.
Note View
Press N (Ribbons) or B (Balloons) — or the Note View button — to switch from the grid to a per-note view. Ribbons show how your intonation changed over time within each note; Balloons show a single averaged color per note. Press G to return to Grid View, or V to cycle through all three modes.
Resetting the heatmap
Press the reset button (or R) to clear all accumulated color from the grid and start fresh.
3. Settings Reference
Open settings with the gear icon or press O. All settings are saved automatically in your browser.
Tuning & Reference
Detection & Response
Memory & Color
Audio Input
Display
4. Free vs. ★ Pro
Most of Tonemap is free. Pro adds a handful of features for musicians who want more precision, longer session memory, or the Quick Recorder.
| Feature | Free | ★ Pro |
|---|---|---|
| Mode (sensitivity) | Relaxed, Medium | + Hard Mode |
| History | Short (1 s), Medium (3 s) | + Long (30 s), Unlimited |
| Color Hold | 30 s | + 5 s, 15 s, 45 s, 1 min, 2 min, 5 min, No Fade |
| Performance Pitch (A4) | 440, 441, 442, 443, 444 Hz | Extended presets (392–470 Hz) + custom |
| Quick Recorder | — | ✓ Record, slow-motion, WAV export |
| Transposition (all keys) | ✓ | ✓ |
| Stretch Tuning | ✓ | ✓ |
| Colors & Palette | ✓ | ✓ |
| Note View, Grid View | ✓ | ✓ |
| Mic Gain & Noise Reduction | ✓ | ✓ |
How much does Pro cost?
Pro is $9.99/year (~83¢/month), with a 7-day free trial. Cancel anytime from your Polar.sh account page.
How do I activate Pro?
After subscribing, go to tonemap.live/activate and enter your license key. Your Pro status is stored as a signed cookie for one year; it re-validates against Polar.sh periodically in the background.
I subscribed but the app still shows Free
Make sure you activated your license at /activate. If you already did, try clearing your browser's cookies for tonemap.live and activating again. If the problem persists, email support@tonemap.live.
How do I cancel or deactivate?
Cancel your subscription from your Polar.sh account page. To remove Pro access from this browser before expiry, go to tonemap.live/deactivate, or click "Deactivate this device" in Options > Status.
5. Quick Recorder ★ Pro
The Quick Recorder lets you capture a take, review it with full Tonemap analysis, and save the audio as a WAV file — all without leaving the tuner.
Recording a take
Open the recorder panel with the record button in the toolbar (or press Z to start/stop recording). The tuner continues running during recording, so you'll see live intonation as you play. A live spectrum visualizer shows your frequency content in real time.
Reviewing playback
After recording, press Play (or X) to hear the take back. The grid replays exactly as it was recorded. Use the slow-motion control to step through difficult passages at a reduced speed.
Saving a WAV
Press the download button in the recorder to export the take as an uncompressed WAV file. Takes are not saved automatically — export anything you want to keep before closing the panel or recording again.
6. Keyboard Shortcuts
7. Troubleshooting
The grid doesn't react when I play
Check the level meter in the Options panel. If it stays gray, the tuner isn't hearing you:
• Make sure your browser has microphone permission (check the address bar or your OS privacy settings).
• Try increasing Microphone Gain — especially on Safari or if using a quiet condenser mic.
• Move the Volume Sensitivity slider left (less restrictive threshold).
• On iPhone/iPad, check that the app you're using isn't muting the microphone in Control Center.
Pitch reads about a semitone sharp for the first few seconds (Safari)
This is a known Safari 26.4+ bug when echo cancellation is turned off. Tonemap applies an automatic workaround (a "shadow" mic stream) on affected Safari versions. You should see "Applied" in the Status panel when the fix is active. If the fix fails — usually because Safari blocks the second stream — try granting mic permission once, quitting and relaunching Safari, then starting Tonemap again. Or just wait about 14 seconds and the bug will usually correct itself.
The pitch jumps around erratically
• Raise the Background Noise Reduction setting to filter out room noise.
• Switch to Relaxed mode for more smoothing.
• Increase the Onset Filter to skip brief transients at the start of each note.
• If you're in a reverberant room, use a closer or directional mic.
Tonemap detects the wrong octave
Pitch detection occasionally locks onto a harmonic rather than the fundamental — especially on low strings, bass instruments, or breathy tones. Try the following: increase Microphone Gain if the input is quiet, reduce room reverb, or play closer to the mic. On very low notes (below C2), the detection algorithm has inherent limitations.
Settings aren't saved between sessions
Tonemap stores settings in your browser's localStorage. If you're in a private/incognito window, or if your browser is set to clear site data on exit, settings will reset. Use a normal browser window for persistent settings.
The app is slow or laggy
Tonemap is CPU-intensive because it runs continuous audio analysis. Close other tabs and apps, especially anything using audio. On older iPhones or low-power devices, try reducing History length and disabling the Note View spectrum.
I see "Mic blocked" or a permissions error
Your browser or OS is blocking microphone access. On macOS: System Settings → Privacy & Security → Microphone → enable your browser. On iOS: Settings → [Browser name] → Microphone → On. On Android: Settings → Apps → [Browser] → Permissions → Microphone.
8. GitHub Project
Tonemap is open source. You can browse the code, report issues, and follow development on GitHub at github.com/crossrhythm/tonemap.live.
9. About
Tonemap was created by Jeremy Black, Principal Second Violin of the Pittsburgh Symphony Orchestra, Concertmaster of the Grant Park Symphony Orchestra, and founder of East End Violin Studio (along with his wife, Kate).
Coding done primarily in VSCode using GitHub Copilot and Claude (Anthropic). Hosted on Cloudflare with authentication and licensing through Polar.
Pitch detection is based on the McLeod Pitch Method (MPM) via Pitchy; the original paper is A Smarter Way to Find Pitch.
Quick Recorder slow-motion playback uses time-stretching via SoundTouchJS (the JavaScript port of SoundTouch, which is designed for high-quality tempo/rate changes).
Follow along
You can find updates and videos here: YouTube (@tonemap) and Facebook.
10. Contact
For questions, bug reports, or feature requests, email support@tonemap.live.
For subscription or billing issues, you can also manage your account directly at the Polar.sh account page.