MIDI Setup
Connect and configure a MIDI keyboard with Pianove.
Auto-Detection
Pianove scans all connected MIDI ports on startup using python-rtmidi. The first available input device is opened automatically. If no device is connected when the app launches, Pianove polls for new devices every few seconds and connects as soon as one is detected — no restart needed.
The currently active device is shown in the Settings tab under MIDI Device.
Manual Device Selection
If you have multiple MIDI devices connected, or want to switch to a different one:
- Open Pianove and go to the Settings tab.
- Tap MIDI Device.
- A list of all currently connected MIDI inputs is shown. Tap the device you want to use.
The selection takes effect immediately and is saved for future sessions.
Key Range Calibration
Pianove needs to know the playable range of your keyboard — specifically the lowest and highest MIDI note numbers — to correctly highlight keys on the on-screen piano during exercises.
On first launch with a new device, the MIDI Setup screen guides you through pressing the lowest and then the highest key on your keyboard. The detected range is saved and used from then on.
Known keyboards with preset ranges skip calibration entirely and load stored values automatically:
- Arturia MiniLab series
- Roland MIDI keyboards (common models)
- Yamaha PSR series
No MIDI? Use the Microphone (Beta)
An acoustic piano — or a digital one without a MIDI cable — works too. Pianove's piano sound detection engine listens through the microphone and works out which keys you play, chords included.
- Go to Settings and switch on Hear My Piano (Microphone). During onboarding, tap Use the microphone instead on the keyboard screen.
- Put the computer near the piano. The status line under the keys shows the microphone's name and a level meter. Play a note; the key lights up.
- If soft notes are missed, raise Microphone Sensitivity. If keys light up that you didn't play (a noisy room, a loud fan), lower it.
How it works: every 10 ms the last eighth of a second of sound is turned into a spectrum on a musical scale and explained as a mix of the 88 keys' own spectra, measured from a real grand piano. A key whose share of the mix rises sharply has been struck. The engine follows the room's noise, the loudness of your playing and the tuning of your piano (up to about a quarter tone off), so neither the microphone's gain nor an old upright gets in the way. Notes are reported about a tenth of a second after you play them.
Pianove doesn't play its own piano sound for notes it hears, and notes it plays itself (in listen mode, for example) are not taken for yours. The microphone is only open while a page with the keyboard is on screen.
sounddevice (pip install sounddevice); without it Pianove falls back to SDL's capture through pygame.Troubleshooting
| Symptom | Fix |
|---|---|
| Device not listed | Connect the keyboard before launching Pianove, or wait a few seconds — the app polls automatically. |
| Notes not registering | Ensure no other app (DAW, browser MIDI API) holds exclusive access to the device. |
| Import error on startup | Run pip install python-rtmidi to ensure the package is installed in the active environment. |
| Wrong keys highlighted | Re-run calibration: Settings → MIDI Device → Recalibrate. |
| "No microphone found" | Plug in a microphone, check that your system lets Pianove use it, and install sounddevice. |
| Microphone: notes missed or extra keys | Adjust Settings → Microphone Sensitivity, move closer to the piano, and turn off other sound sources (music, the MIDI Sound Output on a second device). |