A sophisticated real-time MIDI visualizer that creates immersive piano-roll style visualizations with advanced graphics and hand assignment prediction.
![]() | ![]() |
- Real-time Visualization: Smooth 144 FPS piano-roll style MIDI playback with GPU-accelerated rendering
- Hand Part Prediction: ML-powered hand assignment analysis for piano performances (thanks to pm2s)
- Advanced Graphics: Modern OpenGL shaders with particle effects, glowing notes, and dynamic backgrounds
- Audio Integration: High-quality audio playback with SoundFont support
- Customizable Interface: Configurable colors, effects, and visualization styles
- Optimized: This software aims to be optimized as much as possibe (I'm no expert in shaders and gpu programming). The export logic blocks the UI thread, but its fast :)
# Clone the repository git clone https://github.com/Bbalduzz/keyfall.git cd keyfall # Install dependencies pip install -r requirements.txt # Run KEYFALL python main.py- Python 3.8+
- OpenGL 3.3+ compatible graphics card
- Audio output device
src/ ├── core/ # MIDI parsing and playback logic ├── rendering/ # OpenGL shaders and visualization ├── gui/ # User interface components ├── audio/ # Audio processing and playback ├── pm2s/ # Hand part prediction ML models └── config/ # Configuration and constants This project is open source. See the repository for license details.

