The Piano Exercise Matrix is a web-based application designed to help piano students and enthusiasts organize practice and track it. It provides a dynamic matrix of balanced technical exercises based on your selected keys and scales, a piano visualiser to display and play scales, and a practice log to keep track of progress and print if you want.
You can try out the Piano Exercise Matrix live https://danielleackerman.github.io/piano-exercise-matrix/
(I will add more detail here about my vision for the Piano Exercise Matrix becoming a multi-instrument and songwriting tool later).
- Dynamic Exercise Matrix: Generates a table of relevant piano exercises based on user-selected musical keys and scale types.
- Scale Visualizer:
- Displays selected scales on a visual piano keyboard.
- Supports a comprehensive list of root notes (including enharmonics) and scale types (major, minor, modes, etc.).
- Interactive Controls:
- Dropdowns to select root notes and scale types for the visualizer.
- "Play Scale" button to update the piano display.
- "Update Matrix" button to populate the exercise table based on the visualizer's current key selection.
- Detailed Exercise Table:
- Lists exercises with options for Tempo, Metronome Click Pattern, BPM, Rhythm Pattern, Subdivision, and practice Time (Hours/Minutes).
- Hierarchical display of exercise names (Key / Base Exercise / Parenthetical details).
- Customizable Metronome settings to record.
- Practice Logging:
- Log exercises directly from the matrix row, capturing all selected parameters.
- Manual practice log for free-form entries.
- Persistent practice history stored in
localStorage. - Ability to delete individual practice log entries.
- Print functionality for the practice history.
- User-Friendly Interface: Clean layout with distinct sections for visualization, matrix, and practice tracking.
- HTML5
- CSS3 (including Flexbox for layout)
- JavaScript (ES6+) - Vanilla JS, no external frameworks for core logic yet.
- Clone this repository or download the files.
- Ensure you have
index.html,style.css, andscript.jsin the same project folder. - Open
index.htmlin any modern web browser (e.g., Chrome, Firefox, Edge, Safari).
✔️ Integrate Tone.js for audio playback of scales and exercises.
- Integrate VexFlow for sheet music display of scales and exercises.
- Develop a more advanced calendaring system for practice tracking.
- Expand to include a "Vocal Exercise Matrix."
- Add a "Songwriting and Story" module with relevant datasets.
- Refine table column widths and overall UI based on further testing.
This project started as a CodePen experiment and is being developed further. It's a learning project focused on building a useful tool for musicians.
(Optional: Add License section if you make it public and want to specify usage rights) (Optional: Danielle/contact me)