Smart Music Practice Management System
π³π± Nederlandse versie beschikbaar: README-NL.md
ModusPractica is an advanced, scientifically-grounded music practice management system based on the Ebbinghaus memory curve and spaced repetition learning. It uses adaptive algorithms to optimize learning intervals and practice intensity for individual musicians.
- Spaced Repetition Engine - Based on Ebbinghaus forgetting curve
- Adaptive Learning - Personalizes intervals based on your performance
- Memory Stability Tracking - Advanced metrics inspired by SuperMemo SM-17+
- Interleaved Practice - Optimal mixing of different musical pieces
- Practice Intensity Optimization - Adapts session length and difficulty
- Cross-Platform - Windows, macOS, Linux via Electron
- Offline-First - Full functionality without internet connection
- Privacy-First - All data stays on your computer
ModusPractica implements sophisticated learning algorithms:
- Ebbinghaus Memory Curve - Scientifically-proven spacing intervals
- Personalized Memory Calibration - Learns your individual forgetting patterns
- Adaptive Tau Manager - Unified system coordinating all adaptive mechanisms
- Memory Stability Manager - Tracks retention and difficulty per piece
- Intensity Module - Optimizes practice duration and intensity
Learn more: DEVELOPERS.md
- Node.js 16+
- npm or yarn
# Clone repository
git clone https://github.com/frankyzip/ModusPractica.git
cd ModusPractica
# Install dependencies
npm install
# Run development
npm start
# Build for distribution
npm run build:win # Windows
npm run build:mac # macOS
npm run build:linux # LinuxSee README-ELECTRON.md for detailed development instructions.
| Document | Purpose |
|---|---|
| README-ELECTRON.md | Development setup & commands |
| DEVELOPERS.md | Full development history, architecture, algorithms |
| LICENSING.md | Dual licensing: AGPL-3.0 (open) & Commercial |
| CONTRIBUTORS.md | How to contribute, contributor guidelines |
| NOTICES | Copyright and attribution notices |
_dev-docs/ |
Technical algorithm documentation |
EbbinghausEngine.js
βββ Core spaced repetition scheduling
βββ Forgetting curve modeling
βββ Interval calculations
AdaptiveTauManager.js
βββ Coordinates all adaptive systems
βββ PersonalizedMemoryCalibration
βββ MemoryStabilityManager
βββ Performance-based adjustments
IntensityModule.js
βββ Practice duration optimization
βββ Difficulty scaling
InterleavedSessionManager.js
βββ Practice session randomization
βββ Circuit review management
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Desktop: Electron 28+
- Backend: Node.js
- Storage: localStorage, IndexedDB
ModusPractica is Proprietary Freeware
- β Free to use for personal music practice
- β Free for educational purposes
- β No subscription or payment required
- All source code and intellectual property remain the exclusive property of Frank De Baere (Partura Musicβ’)
- You may NOT copy, modify, reverse engineer, or redistribute the code
- You may NOT use for commercial purposes without permission
For commercial use, contact Frank De Baere (Partura Musicβ’)
π License Documents:
- LICENSE-FREEWARE - Current license (free for personal/educational use)
- LICENSE-INFO.md - Easy-to-read license summary
- LICENSE-COMMERCIAL - Commercial licensing terms
Note: This is proprietary software. Direct code contributions are not accepted at this time.
You can help by:
- π Reporting bugs via GitHub Issues
- π‘ Suggesting features via GitHub Discussions
- π Improving documentation
- π Providing translations
- β Starring the repository
See CONTRIBUTORS.md for more details.
- Sign commits with your name
ModusPractica is built on peer-reviewed research:
- Ebbinghaus (1885): Forgetting curve theory
- Cepeda et al. (2006): Meta-analysis of spacing effects
- Dunlosky et al. (2013): Improving students' learning with effective techniques
- SuperMemo research: SM-15, SM-17+ algorithms
- Cognitive psychology: Interleaving and spacing effects in music learning
// Core formula
nextInterval = Ο * (difficulty / targetRetention);
// Where:
// Ο = tau parameter (personalized)
// difficulty = piece difficulty estimate
// targetRetention = target success rate (typically 0.9)// Bayesian updates from performance
If (actual_success > expected):
increase_tau // Increase intervals
Else:
decrease_tau // Decrease intervalsMore details: DEVELOPERS.md
- Optimize practice sessions
- Reduce practice time while improving retention
- Track progress scientifically
- Personalized learning recommendations
- Student practice optimization
- Understanding learning patterns
- Research on effective practice
- Educational software reference
- Music learning algorithm research
- Spaced repetition studies
- Personalized learning effectiveness
- Cognitive science applications
Found a bug? Have a suggestion?
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Commercial Support: Contact Frank De Baere
- Community feedback integration
- Performance optimization
- Additional statistical reports
- Mobile applications (iOS/Android)
- Cloud synchronization
- Multi-device support
- Advanced analytics dashboard
- AI-powered practice recommendations
- Collaboration features
- Teacher/student management system
- API for third-party integration
- Research partnership tools
See DEVELOPERS.md for detailed roadmap.
Copyright Β© 2024-2025 Frank De Baere - Partura Musicβ’
All source code, algorithms, and intellectual property in this repository are original works by Frank De Baere.
Third-party libraries and attributions: See NOTICES
- Ebbinghaus - Memory research foundation
- SuperMemo community - SM algorithms and research
- Electron team - Cross-platform framework
- Music education researchers - Learning methodology
- Open source community - Tools and inspiration
Frank De Baere
Partura Musicβ’
- GitHub: @frankyzip
- Email: [Your email]
- Website: [Your website]
Let's make music learning scientific, personalized, and effective. π΅
Last Updated: December 15, 2025