ModusPractica Pro's interface is English. The app pages do not auto-translate in the browser (for example Chrome or Edge will not offer βTranslate this page?β for the Dashboard, Practice Session, Settings, and other app screens). That keeps labels and buttons consistent and avoids broken layouts from unintended machine translation.
You can still translate the UI yourself if you prefer another language:
This Manual, How to Practice, and Science do not block auto-translate, so the browserβs built-in translate offer can still appear on those pages if you want it.
ModusPractica Pro is a practice planner for musicians. Instead of repeating passages until they feel right, the app aims to suggest a structured plan for what to practice and when β inspired by motor learning research on spacing and consolidation. See The Science for what the app estimates versus what it does not measure.
New to the app? On your first visit to the Dashboard, a short Getting started guide walks you through the core concepts and your first piece. You can skip it, turn off auto-show in Settings, or reopen it anytime with Show getting started now.
The top menu bar shows Today with your total practice time for the current day (training, analysis, and free practice). It updates when you return to a page and live while a session timer is running. Next to it, the current app version (for example v1.2.5) links to the release notes β About and Settings use the same version automatically.
A native Mac app wraps the same ModusPractica Pro pages in Electron. Practice data still lives locally (IndexedDB), but in the app's own store β not in Chrome, Edge, or Safari. If you already use the website, export a backup in Settings and import it in the Mac app (and the other way around). Unsigned builds may need a right-click β Open the first time, because Gatekeeper has not seen an Apple Developer signature.
Click the + button in the sidebar next to "My Repertoire". Enter the title and optionally the composer name.
You can attach an external link to any piece β for example a score on IMSLP, a YouTube video, or any other web page. The URL is stored with the piece but is never shown as text in the app; you recognise linked pieces by a small link icon instead.
Open a piece in the Dashboard and click the link button in the action bar (grey when no link is set, blue when a link is saved). Enter or paste the URL and confirm. You can add a link to an existing piece at any time, change it when you find a better source, or clear the field and save to remove the link.
When a link is saved, a blue link icon appears next to the piece title in the repertoire sidebar. Click that icon to open the link in a new browser tab without leaving ModusPractica Pro. Click anywhere else on the row to select the piece as usual.
Separately from web links, you can attach a reference MP3 stored on your computer β for example a recording, backing track, or study version you want to hear while practising.
Open a piece in the Dashboard and click the π§ button in the action bar (grey when no audio is set, blue when an MP3 is saved). Your operating system's file picker opens so you can choose an MP3 from your hard drive. The file is saved locally in your browser; it is not uploaded to any server.
When audio is attached, a player appears in the piece detail view so you can listen without leaving the app. Click π§ again to replace the MP3 or remove it. Reference audio is independent of the link button β use links for YouTube and web pages, and π§ for local MP3 files. MP3s are included when you export a data backup.
Each MP3 can be up to 50 MB. Very large libraries may make backups slower; keep reference files reasonably sized when possible.
One MP3 per piece. You can attach reference audio to as many different pieces as you like β each piece stores its own file separately. They do not overwrite one another.
A copy in your browser, not a file path. When you choose an MP3, ModusPractica Pro saves a copy in IndexedDB (browser storage). It does not remember the folder on your hard drive. If you move or delete the original file on your computer, the copy in the app keeps working. To switch to a different recording, use Replace MP3 via the π§ button.
Archive vs delete. Archiving a piece hides it from Due Today but keeps the piece β and its MP3 β in storage. Delete Permanently removes the piece, its sections, and its reference MP3 from browser storage. Practice history in Statistics is preserved, as with other deletions. To remove only the audio and keep the piece, use Remove MP3 from the π§ menu.
Keep storage lean. When you no longer need reference audio for a piece, remove the MP3 rather than leaving it attached. The piece and all practice history stay intact; only the audio copy is deleted. This keeps browser storage and backup files smaller and faster to export or import.
Backups and browser data. Reference MP3s are included when you export a backup in Settings (see Backup & Restore). If you clear this site's data in your browser, or use Reset App, all stored MP3s are lost unless you have an export file to restore from.
Select your piece, then click + Add Section. A section is any fragment of music you want to practice in isolation β it can be as small as half a bar or as large as you find manageable. There are no rules about size: let your own experience and the difficulty of the passage guide you.
Give it a name β anything that helps you identify it: bar numbers, letter names, descriptive text, or a combination (e.g. "Bars 1β4", "A-section", "left hand only intro"). Then choose a start date for the first practice (defaults to today β pick a future date if you are not ready to begin yet). Tempo is optional: leave it unset when you create the section, and enter achieved and target BPM later in a practice session if you want the app to track tempo progression.
By default a new section starts in Exploration (the first learning phase). If the material is already familiar β for example when you glue smaller practised blocks into one larger section β use Material already known on the same dialog so you skip that phase.
Open a piece and click the pencil button on a section row to change its name, tempo, or start date. When the section has training history, a π button sits next to the section name (always visible, not covered by the hover actions) and opens the same session trend chart as Session Complete. The name is saved as soon as you confirm it. After that you can still update tempo and start date, or cancel those prompts β cancelling them does not restore the old name.
When you add a section, the name dialog includes a checkbox: Material already known β skip acquisition. Leave it unticked for brand-new material. Tick it when you already know the notes well enough that repeating the first learning phase would be wasted time β typically when you create a new section from parts you have already practised.
Example. You practised "Bars 1β5" and "Bars 4β8" as separate sections and both feel solid. Now you want to practise them as one continuous span. Add a new section named e.g. "Bars 1β8", tick Material already known, and choose the start date. The app skips Exploration and places the section straight into Consolidation (spaced practice). Stability starts low on purpose, so the larger span β including the join between the old blocks β is still reviewed soon and must earn its place on the schedule through real sessions.
What the checkbox does not do: it does not merge the old sections, copy their history, or delete them. Your earlier sessions stay on "Bars 1β5" and "Bars 4β8". When you no longer need those fragments on Due Today, archive them from the Dashboard. The new section is its own practice unit with its own schedule.
The same idea applies when you move from hands-separate sections to a hands-together section of the same bars (see Hands separate, hands together): create the new section and tick Material already known if the separate hands are already solid and you mainly need to prove the combined span.
Some material does not belong in the spaced repetition schedule β sight reading, warm-ups, or exploratory reading through new scores. Open the piece in the Dashboard and enable Time tracking only. The piece stays in your repertoire and sessions count toward Statistics, but its sections never appear under Due Today or on the Schedule. Practice opens in Analysis mode automatically; the training counter and scheduling algorithm are not used.
Use this flag for pieces that should stay outside planning β not as a temporary switch on a normal repertoire piece. Turning it on hides the whole piece from Due Today and the Schedule until you turn it off again. Enabling Time tracking only also turns off Maintenance mode if that was active (they cannot be on together).
To log time on scheduled material without moving the algorithm, open a section and use Analysis mode (π), use Extra time on the Dashboard for a whole-piece run-through, or use Free Practice in the navigation bar when no piece applies. See Analysis vs Free Practice and Extra time on a piece.
When a piece is already learned and you only need light, spaced refreshers β not the full acquisition cycle β open it on the Dashboard and enable Maintenance mode. Under the checkbox you can set:
Enabling Maintenance parks individual sections (hidden from Due Today and the Schedule) and creates or reactivates a single Full Piece section, scheduled from the start date, with acquisition skipped and a stability floor of about 14 days. Turning Maintenance mode off restores parked sections and archives the Full Piece section. If you need to work on difficult passages again, turn Maintenance off, keep those sections, and archive the rest β then re-enable Maintenance when you want a single Full Piece refresher again.
Maintenance pieces show a Maintenance badge and a green left border in the repertoire list; the row colour still follows the usual status (red / orange / green β see the Dashboard chapter). During a session the top bar zone shows MAINTENANCE. Enabling Maintenance mode turns off Time tracking only (and vice versa), so the piece stays on the practice schedule.
Sections that are due appear under Due Today on the dashboard. Click Practice to open the session page.
A piece is a complete work (e.g. Elegy by Reinecke). A section is any fragment of that piece that you choose to practice in isolation. You decide entirely how to divide your pieces β there is no prescribed number of sections or minimum size. Some musicians work with two or three large sections per piece; others divide every difficult bar into its own section.
Every section is labelled with a learning stage (a zone), shown in the session top bar, the session summary, Due Today, Schedule, and the print report. A zone describes where the section sits in this appβs scheduling lifecycle β not how well a single session went, and not a laboratory measurement of how automated the passage is in your brain. Zones are a heuristic approximation for coaching and orientation; they are not a scientifically validated diagnosis of motor-learning stage. For the full honesty note, see the Science page. Exploration means you are in the first two days of learning β the material is new and fragile. Consolidation means the section is in the spaced repetition cycle β the app spaces your practice for longer retention. Mastery means the section has been marked as consolidated for long-term retention in the app (not a claim that performance is fully automatic). Maintenance appears when the piece is in Maintenance mode β light refreshers with a fixed low target. Tracking appears for time-tracking-only pieces. Difficulty still updates behind the scenes for scheduling; it is no longer shown as a βComfort %β score.
A number that represents how many days your memory of this section will last. A stability of 5 means the app will schedule the next practice in approximately 5 days. The better you perform, the faster stability grows. After a weak session or a FrustrationGuard stop, stability is reduced so the next review comes sooner β but the size of that setback adapts to your recent training success rate, so a harder stretch of days is not punished as harshly as a one-off slip after consistently strong sessions.
A score from 0 to 1 that reflects how hard this section is for you personally. It adjusts automatically based on your performance. A high difficulty slows down stability growth.
Tempo tracking is optional. When you set both an achieved (start) tempo and a target tempo for a section, the app gradually increases your practice tempo as your performance improves β the scheduling engine manages that progression automatically. Sections without tempo still use stability and difficulty for spacing. During a session you can use the optional built-in metronome (see Chapter 3) to click along; that does not replace the app's BPM progression logic when tracking is on.
The app estimates the best moment for each repetition. Sections appear under Due Today when their scheduled date has arrived. Practicing earlier or later than scheduled reduces the efficiency of the spacing. On a training day, warm the body on other material, then work Due Today cold in Training; extra run-throughs belong afterwards (see Cold start and Extra time on a piece).
The stability and difficulty values are mathematical approximations β a model of how motor memory behaves, not a direct measurement of what happens in your brain. No algorithm can measure the exact state of a synapse. Memory Zones are coarser still: named coaching labels from the appβs lifecycle rules, not validated stages of skill acquisition. The underlying principles β spaced repetition, rest, correct execution β are well supported by motor learning research. The specific numbers and zone labels the app shows are a structured, evidence-informed estimate and a heuristic orientation aid. They are useful precisely because they are consistent and honest about what they are.
Treat ModusPractica Pro as a practice guide, not as absolute truth. It suggests when to return to a passage and helps you structure repetition; it does not judge musical quality, artistry, or interpretation. It does not replace a teacher β a good teacher still shapes sound, technique, repertoire choices, and the musical judgment no scheduler can provide. Use the app alongside teaching and your own ear, not instead of them.
This is why your honest practice counts remain the most important input the scheduling engine receives. The model is only as good as the data you give it.
ModusPractica Pro distinguishes two kinds of work on a section:
Analysis is not a βcheat modeβ and not a substitute for training once a section is in consolidation. It is a deliberate space for orientation and low-pressure work on material that is still new.
On a day when you intend to train a section (especially when it is due), open the practice session and start in Training. Do not run Analysis on that same section first. Analysis is useful to prepare β reading, fingering, notes, planning a split β but the counted session must begin cold.
A physical warm-up is expected: stretch, scales, or Free Practice on material that is not on Due Today. Warm the body, not the passages you are about to count. Playing todayβs due sections (or a run-through of that same piece) before Training is a warm start, not a retention check.
If you play the passage in Analysis and then switch to Training, you have already warmed up that motor trace. The first counted attempts then look easier than they are: entry cost drops, success ratio rises, and the scheduler may treat retention as stronger than a true cold start would show. Only a cold start tells you whether the material still holds after time away.
Recommended order for a sitting: physical warm-up on other material β Due Today Training (cold) β optional extra work (Analysis on a section, Extra time on a piece, or Interleave).
After that cold training session, you may use Analysis on the same section later the same day to practise it again. Extra work after the counted session does not rewrite the next practice date (one scheduling update per section per calendar day). Analysis is the clearer place for that extra run: time is logged, the counters stay off, and you are not mixing a warm repeat into the training record.
Analysis is started from the practice session page of a section (not from the dashboard directly).
Good uses of analysis
Poor uses of analysis (save these for training instead):
Analysis is available on every repertoire section, in Exploration and Consolidation alike. It never updates stability, difficulty, or the next practice date β only time (and optional notes) are logged against that section. Use it to explore a new passage, work on phrasing and sound, practise again after a cold training session the same day, or return in the evening without moving the schedule a second time.
When a section is due for training and you want the spaced-repetition engine to learn from your attempts, start with the training counter (cold). Analysis afterwards that same day is extra practice, not a substitute for that first counted session.
These modes both avoid the training counter, but they serve different purposes:
If you are working on one scheduled passage, prefer Analysis on the section so your practice history stays organised per passage. If the extra work is for the piece as a whole, use Extra time on a piece.
After you save an analysis session on a section, the completion screen offers βΆ Start Training Now. That opens a fresh training session on the same section without returning to the dashboard.
Treat this as an exception, not the default. If you already played the passage during analysis, those first counted attempts are a warm start and will not show true retention. The app shows a short reminder; you can tick Don't show again only if you already understand that trade-off.
The recommended order is the reverse: complete Training first (cold), then use Analysis later the same day if you want another run. See Cold start: Training first.
If you opened Analysis by mistake on a due day and have not yet played the passage, keep the analysis observational (reading, planning in notes), save it, and then start Training β or return to the dashboard and open Training later.
When learning a new passage on a keyboard instrument, it is tempting to combine both hands as quickly as possible. That instinct is understandable β but bimanual coordination is not simply the sum of two single-hand skills. Motor learning research shows that playing with both hands is a cognitively and motorically distinct task: it requires its own acquisition phase, and transfer between single-hand and two-hand practice is only partial, not automatic (Gerloff et al., 1999; Nozaki et al., 2006; Van Vugt & AltenmΓΌller, 2019).
Practising hands separately remains standard piano pedagogy and helps you build a reliable motor sequence in each hand. It does not, by itself, guarantee smooth hands-together playing β you still need dedicated practice for inter-hand coordination. In ModusPractica Pro, the hands-separate phase has a second purpose: each hand produces countable, honest training data before bimanual work begins.
The recommended workflow in ModusPractica Pro is the following.
First, register the right hand and left hand as separate sections and use the training counter for both. Each hand executes a single, well-defined motor sequence that can be repeated correctly and counted accurately. The algorithm receives meaningful input and schedules each hand independently according to its own stability and difficulty.
Once both hands are stable individually, begin combining them. At this stage β and for as long as correct full repetitions cannot be reliably executed β use the Analysis mode (π) rather than the training counter. The counter should only register attempts that you can genuinely judge as correct or failed. If you are working through one bar at a time with both hands and the counter would remain at zero, that is a clear signal that you are still in the exploration phase, not the training phase. Saving a session with zero correct repetitions gives the algorithm incorrect input and produces an unreliable schedule.
When both hands together feel stable enough to produce correct, controlled repetitions, create a new section β for example "Bars 1β4 both hands" β and start the training counter from that point. This section will then follow its own independent spaced repetition schedule. If the hands-separate work is already solid and you mainly need to schedule the combined span, tick Material already known β skip acquisition when you create that section (see Material already known).
Sources cited above: Gerloff, C., et al. (1999). Functional coupling of human cortical sensorimotor areas during bimanual skill acquisition. Brain, 122(5), 855β870. Nozaki, D., Kurtzer, I., & Scott, S. H. (2006). Limited transfer of learning between unimanual and bimanual skills within the same limb. Nature Neuroscience, 9(11), 1364β1366. Van Vugt, F. T., & AltenmΓΌller, E. (2019). On the one hand or on the other: trade-off in timing precision in bimanual musical scale playing. Advances in Cognitive Psychology, 15(3), 216β227.
When practising any section, always include at least the first note β or ideally the first beat β of the following section. This is not optional detail: it is the most demanding moment in motor memory.
A motor sequence is stored in the brain not only as a series of movements but also as a chain of cues: each movement contains an anticipation of what follows. When you stop practising at the last note of your section, the brain learns a termination at that point β not a transition. The result is the familiar hesitation or tempo drop that appears exactly at the boundary between two sections when they are later combined (Rosenbaum, 2010; Gabrielsson, 1999).
By including the first note of the next section in every repetition, you programme the transition directly into the motor memory of the current section. When you later combine the two sections into a larger unit and begin its own acquisition phase, the transition is already partially consolidated β which is why chained sections typically stabilise faster than sections learned in complete isolation.
There is deliberately no countdown or deadline pressure in this app. Practicing under time pressure raises cortisol levels and disrupts the motor consolidation processes that make practice effective. Take all the time you need between repetitions β rest between attempts never penalises you. Slow, conscious, and correct is always more valuable than fast and approximate.
The Session Timer in the left column is a stopwatch showing elapsed time. It logs duration for statistics and today's practice total in the menu bar. Use Start, Pause, and Stop to control it. After a pause the Start button becomes Resume. You can click the time to edit it manually before or during a paused session. If you leave mid-session and return, draft auto-save restores elapsed time.
For Training sessions in spaced repetition, elapsed time is also passed to the scheduler: a successful session that took unusually long reduces difficulty and tempo progress more conservatively, reflecting higher cognitive effort. The threshold is at least ten minutes and grows with your rep target, so a high target is not mistaken for a struggling session.
The Tempo (BPM) panel is optional. Leave both fields empty to practise without tempo tracking. Fill in Achieved Tempo (the speed you can currently play the section cleanly) and Target Tempo (the performance tempo you are working toward) to turn tracking on β both are required. They are saved with the section and used by the BPM progression algorithm when you complete a session. Clear both fields again to turn tracking off.
Below the tempo fields, the built-in metronome helps you practise in time during the session. When you open a practice session with tempo tracking on, it is preset to your achieved tempo; otherwise it starts at 60 BPM. Press βΆ Start to hear steady beats (a higher click on beat 1 of each bar). Choose a time signature (2/4, 3/4, 4/4, 5/4, 6/8, 7/8, 9/8, or 12/8) next to the metronome label; your choice is remembered. Click the BPM number to type a value (30β300), or use + and β to adjust speed between 30 and 300 BPM; the achieved tempo field stays in sync when you use the metronome. Press βΉ Stop when you want silence. Pausing the practice timer also pauses the metronome; pressing Resume on the timer resumes it if it was running. You can also type a new achieved tempo while the metronome is stopped β the display updates to match.
To find a tempo by feel, use Tap below the metronome controls (or press Spacebar when you are not typing in a field). Tap at least twice in steady rhythm; after the second tap the BPM display updates from your average interval. Keep tapping to refine the value. If you pause for about two seconds, tap counting resets. Tap tempo is only available while the metronome is stopped.
The metronome is a practice aid only. It does not affect your counters, scheduling, or session outcome. Your browser may require a click on Start before audio can play β this is normal security behaviour.
Use the + and β buttons to register correct repetitions and failed attempts. A failed attempt is any execution you judge as incorrect. A correct repetition is a clean, controlled execution at the current tempo. When beginning a new section, always start at a very slow tempo β well below what feels necessary. Motor memory is built through correct repetition, not through speed. A single slow, perfectly controlled execution does more for long-term retention than ten rushed approximations. Speed follows naturally once the motor pattern is consolidated. The suggested target reps for each session decrease as stability grows β well-consolidated sections need fewer correct repetitions to maintain the motor trace (down to 2 for highly stable material). New sections and acquisition-stage practice start with a default of 5 correct repetitions per session. When difficulty is high (above 0.5), the app automatically adds one or two extra repetitions (up to a maximum of eight), demanding additional robustness from stubborn passages without you adjusting any setting. Pieces in Maintenance mode are an exception: they use your chosen fixed target of 1 or 2 reps instead of this curve.
The pause between repetitions is not idle waiting time. It is an active phase in which the brain processes feedback from the attempt just completed β the Intertrial Interval or post-KR delay. Use roughly 5β15 seconds to briefly reflect (what went wrong, or what worked?) and form a concrete plan for the next attempt, rather than stacking attempts in quick succession.
When frustration builds during practice, continued failures yield diminishing returns β the session is no longer producing reliable motor learning. FrustrationGuard monitors your Total Error Burden β the sum of failed attempts and streak resets β and intervenes before that burden becomes counterproductive.
A failed attempt is any execution you judge as incorrect. A streak reset occurs in Strict Gebrian mode when you fail after building up several correct repetitions in a row: the streak counter returns to zero and your session target increases. That reset is counted toward the same burden as a failed attempt, because neurologically it is equally disruptive β it breaks the formation of a stable motor pathway just when it was taking shape.
At 5 Total Error Burden, a warning banner appears. Consider lowering your tempo, reducing the section size, or taking a short break. At 8, the session stops automatically. This is not a punishment β continued practice after repeated failures is rarely productive, and stress can interfere with motor learning (JoΓ«ls et al., 2006). The section is rescheduled for the next day so you return to it after a night of sleep-based consolidation. Stability is reduced to shorten the next interval, but not by a rigid fixed factor: the penalty scales with how consolidated the section already is. Deeply anchored passages receive a softer landing; newer sections are set back more sharply. An occasional bad day should not erase weeks of reliable motor memory.
The limits of 5 and 8 are evidence-informed heuristics β pragmatic design choices, not universal biological constants. For the full rationale, see The Science page.
When FrustrationGuard triggers, you have two constructive paths forward: lower the tempo, or make the section smaller by dividing the passage into shorter fragments. For complex motor patterns, fragmentation is often more effective than tempo alone β a shorter passage reduces working-memory load and makes correct repetition reachable. If the guard keeps triggering, archive the section and add smaller fragments rather than pushing through at the same size and speed.
Set your energy level before practicing. A low energy level reduces the stability penalty when FrustrationGuard triggers β the app recognises that fatigue is physiological, not a reflection of your motor skill. The setback also respects how consolidated the section already is rather than applying a one-size-fits-all reduction.
Entry cost is an app-defined metric: the number of failed attempts before your first correct repetition in a session. When that number drops from session to session, it is a useful indicator that the passage is becoming easier to retrieve at the start of practice β consistent with motor learning principles, though not a validated measure of consolidation on its own.
The idea aligns with the Gebrian method: errors before the first correct repetition help determine how many further correct reps you need. Time deliberately plays no role β there is no clock pressure during counting. For how the app frames its measurements more broadly, see The Science page.
Use the Session Notes field to record
observations β fingering decisions, problem spots,
tempo remarks. One field holds your full note history
for the section, sorted newest first. Each entry starts
with a [YYYY-MM-DD HH:MM] timestamp; type
your observation on the line below. When you open a
session, the current timestamp is added at the top so
you can write immediately. Older entries stay visible
below for reference.
In Chrome and Microsoft Edge, a microphone button appears next to the Session Notes title. Click it to start speech dictation; click again to stop. Place the cursor where you want the text to appear first β transcripts are inserted at that position (not at the bottom of older notes). Spoken words update in place while you talk, then settle after a short pause before the next phrase. Say a punctuation command as part of the flowing sentence (not as an isolated word on its own β short standalone words are harder for the recognizer to catch), for example: βmaat acht punt nieuwe regel nog eens langzaamβ. Supported commands: punt / einde zin / period (.), komma / comma (,), nieuwe regel / enter / new line, vraagteken / question mark (?), uitroepteken / exclamation mark (!). You can also press Enter on the keyboard at any time while dictating to start a new line yourself β dictation simply continues from there. The dictation language follows your system language. Notes still save with the usual draft auto-save. The button is hidden in browsers without the Web Speech API (for example Firefox).
Click Save Session when you are done (or Save Analysis during an analysis session). The app saves your counters and session outcome immediately, then shows a short summary with updated stability, zone (learning stage), and your next practice date.
After a normal training session, the summary also includes the session trend charts described below. Use Session quality to see whether you played better or worse, and Interval to see whether the planned gap between reviews is growing. Analysis, Free Practice, and Time tracking only sessions show a shorter summary without those charts.
Scheduling is driven by your counters β correct reps, failed attempts, streak resets (counted the same way as failed attempts), and session outcome (target reached, partial progress, FrustrationGuard, and so on). A training session with no registered attempts is treated as insufficient data (not as success), regardless of the outcome label.
The app schedules one training session per section per calendar day. If you wish to practise the same section again later that day, prefer Analysis after the cold training session: extra time is logged, counters stay off, and the next practice date stays the one calculated from the first training session. A second training session the same day is also recorded in statistics, but it does not update the schedule.
The Session Complete screen shows a line chart for this section. On the Dashboard, the same chart is available before you start: click π Chart on a Due Today card or π on a section row (only when that section already has training history). Two views share the same dates; switch with the Session quality / Interval pills. The last choice is remembered. Session quality is the default: it answers βwas I better or worse?β Interval answers βis the planned gap between reviews getting longer?β
Shared X-axis β calendar days: always at least the last 15 days, and grows with your training history for this section up to 90 days. The title updates to match (for example βlast 28 daysβ). Dates with no training for this section stay empty β that is normal. Each dot is the first training session of that day (the same rule as scheduling: later same-day sessions are logged in statistics but do not rewrite the schedule, unless FrustrationGuard applies a same-day penalty). Hover a dot for the exact value.
Session quality
Interval (stability)
One point only β not enough history yet in the window for a line. After a second training session for this section, the trend becomes visible.
What is not shown
The dashboard is your daily starting point. Due Today shows all sections scheduled for today. Click a section to go directly to the practice session. Each card shows the memory zone, stability (planned interval in days), and β after at least one training session β the last session quality as a percentage. That is the same success ratio as the Session Complete chart: correct reps divided by all registered effort (correct + failed attempts + streak resets). Analysis, Free Practice, and sessions with no registered attempts are not used for this pill. After at least one training session, a π Chart button opens the full session trend chart (quality and interval) without starting practice.
Due Today can be ordered in two ways β choose under Settings β Due Today order:
This ordering is automatic; you do not need to reorder the list manually. Reload the Dashboard after changing the setting.
Plan my session builds a short, time-boxed list from Due Today. Choose how many minutes you have (15, 30, 45, or 60). The app fills the plan using the same priority order as Due Today and estimates minutes per section from your recent training times when available, or from target reps otherwise. Estimates are a guide, not a quota β you can uncheck sections before you start.
Starting the plan opens the first section. After you save a training session, you can continue to the next item in the plan or return to the dashboard. An active plan appears as a banner on Practice Today until you finish it or clear it. The scheduler still updates only when you complete each training session; the plan does not replace a teacher or force you to follow the list.
π Extra time sits next to Due Today on Practice Today. It is for extra work on a piece as a whole after the counted training that feeds the planner β not as a warm-up for todayβs due sections. You pick a title; the app starts a whole-piece Analysis session. Time is stored against that piece. Due dates, stability, and Plan my session do not change.
Example. Warm up first on scales or other material that is not on Due Today. Then train every due section of a Chopin nocturne cold, with the counter. Due Today is now empty; the piece is orange in the repertoire list because you already practiced it today. You still have twenty minutes and want a slow run-through of the whole nocturne β not another counted session on bars 1β8. Click π Extra time, find the nocturne (it sits at the top because you practiced it today), and open it. Play, read, or mark fingerings. Save Analysis. Those twenty minutes appear under that piece in Statistics as analysis. Tomorrow the same sections come due on the same schedule as if you had stopped after training β the run-through did not βuse upβ or postpone them.
If you open Extra time on that nocturne before Training, a run-through warms the same passages the planner needed cold. Save Extra time for after Due Today. See Cold start: Training first.
How to start it:
What is counted: duration on that piece, todayβs total practice time, and the orange analysis segment in Statistics. What is not counted: the training counter, next practice dates, stability, difficulty, or completing an item in Plan my session.
Choose Extra time when the extra work is not about one passage (a run-through, score study, or general extra playing). If you are still working on one section, open that section and use Analysis there instead, so the time stays in that passageβs history. Use Free Practice in the navigation bar only when the time should not belong to any piece.
Do not tick Time tracking only for this. That checkbox is a lasting role for sight-reading books and warm-ups that should never appear in Due Today. Turning it on for a normal repertoire piece hides every section from the planner until you turn it off again β including tomorrowβs due work.
Pieces without sections and archived pieces are omitted from the Extra time list. The button stays available when Due Today is empty, so you can still log extra time after the dayβs training is done.
π Interleave rotates through a set of sections you choose, switching every few minutes on a timer. Instead of keeping three browser tabs open and switching by hand, you pick the sections once and the app moves you on. Like Extra time, it is Analysis: it does not update the practice schedule.
Where it belongs in a sitting. The order is the same every practice day, in one sitting:
Interleaving a section before you have trained it warms up exactly the passage the planner needed cold, and the session that follows no longer reflects how well you actually remember it. The picker marks any selected section that is still due today and untrained, so you can see it before you start. See Cold start: Training first.
How to start it:
On the rotation screen you see the current section in large type, the slice countdown, what comes next, and the total time of this sitting. A short two-note signal plays when the slice runs out and the next section appears automatically. The cue is fairly loud so you can still hear it when the laptop volume is turned down. Pause stops both the clock and the metronome; Skip jumps to the next section straight away. The metronome works exactly as it does in a practice session, including tap tempo with the spacebar, and it shares the time-signature setting with that screen.
Press End sitting when you are done. The app saves one Analysis session per section, with the time summed over all the slices that section received β not one row per slice. Sections you never actually reached are not saved. You then return to the Dashboard.
There are deliberately no counters β no correct or failed attempts, no Gebrian target, no entry cost, and no FrustrationGuard. A section can come round three or four times in one rotation, so a repetition count would mean something different from a count in Training. The point of interleaving is the switching itself, not scoring.
What is counted: time per section, todayβs total practice time, and the orange analysis segments in Statistics. What is not counted: next practice dates, stability, difficulty, the training counters, or completing an item in Plan my session. Interleave never replaces Due Today.
The rotation is listed by piece and then by section name, so the order is predictable. It is worth choosing sections from different pieces β that is what makes it interleaving rather than a timed run through one piece β but nothing forces you to. The rotation belongs to the browser tab you started it in; closing that tab ends it, and you build a new one from the Dashboard.
Archived, deleted, consolidated, parked, and time-tracking-only sections stay out of the picker, the same material the planner ignores.
Your repertoire is listed in the sidebar. Click a piece to see its sections and their current status; sections are listed alphabetically by name. Use the sort menu to order pieces by due date, title, last practiced, or recently added. Drag the vertical handle between the repertoire list and the main panel to adjust the sidebar width β your choice is remembered. Double-click the handle to restore the default width.
Sidebar colours at a glance: red β something is due or overdue today (needs practice); orange β you already practiced this piece today and nothing is left due (including a time-tracking-only piece practiced today); green β on track / mastered (next session is in the future); purple β time-tracking-only piece you have not played yet today. Maintenance pieces keep a green badge and left border; their title and background colour still follow the status above.
Pieces with an external link show a blue link icon beside the title in the sidebar β see Links on pieces in Chapter 1. Pieces with reference audio show a blue π§ button in the piece detail view β see Reference MP3 audio for how to add, replace, or remove a local MP3.
Sections and pieces can be archived when no longer actively studied. Archived items are hidden from Due Today but their full practice history is preserved and remains visible in Statistics. Reference MP3s stay attached to archived pieces β archive does not delete audio. Use Delete Permanently on an archived piece to remove the piece and its MP3 from storage; see Reference MP3 audio for details. Sections can also be permanently deleted directly from the piece detail view β both active and archived sections have a delete button right where you see them, so you never need to archive a section first just to remove it. Deleting a section removes it from your repertoire but retains all recorded session data, so your practice time and history are never lost even when you clean up your repertoire. Archive asks for confirmation by default; tick Don't show again on that dialog, or turn the prompt off in Settings β Archiving. Permanent delete still always asks.
The streak counter at the bottom of the sidebar shows your current consecutive practice days and your personal record.
The Schedule page shows a calendar view of all upcoming practice sessions. Use the week selector to look 1, 2, 4 or 8 weeks ahead. Each day shows which sections are due. This helps you plan practice time and spot overloaded days in advance.
In the List view, overdue sections have a red accent, items due today or tomorrow have an orange accent, and sessions from two days ahead appear in green β on track, no action needed yet.
Switch to the Month tab for an informational calendar of the current month. Past days: fully green means all planned sections for that day were completed; a diagonal green/red split means you practiced but left some sections undone; fully red means nothing was practiced while sections were due. Orange text shows the session count. Today and tomorrow with sections due appear in orange; planned days from two days ahead appear in green. Click a day for completed sessions and missed sections. Overdue sections appear on today. Past planning is reconstructed from your session history, counting only sections that still belong in the schedule (not archived, deleted, or stats-only pieces).
A bar chart of daily practice time with three stacked segments: training (blue), analysis (orange), and Free Practice (green). Hover a bar to see the day total first, then the breakdown. Free Practice is shown in the tooltip only on days where you logged that type of session.
Shows how many active sections are in each stability bracket β a quick overview of where your repertoire stands in the learning curve.
A breakdown of total time, session count and average session length per piece.
You can print or save a static practice report at any time without an AI key. This report displays your raw statistical data β sessions, practice time, stability and performance β in a clean printable format that you can analyse yourself or share with a teacher. Use the π¨οΈ Print Report button in the Statistics page to generate it.
The AI Progress Report analyses your complete practice database and generates a written report covering consistency, tempo trends, sections that need attention, and three concrete action points. The AI does not replace the statistics β it reads and interprets them, providing context and advice that the numbers alone cannot give.
The report requires a personal Groq API key, configured in Settings. Groq was chosen specifically because it uses a pay-per-use model β you only pay for what you actually use, and the cost per report is extremely small (typically a fraction of a cent). You can monitor your exact usage and costs at any time on the Groq console (console.groq.com) .
The AI feature is entirely optional. ModusPractica Pro is fully functional without it β the report is a valuable addition for users who want a deeper interpretation of their data, but it is never required for normal use.
gsk_) and paste
it into the Groq API Key field in
ModusPractica Pro Settings. By default the key
is kept only for the current browser session and
cleared when you close the browser. Optionally
tick Remember this API key on this
personal device to store it in that
browser on a trusted machine. The key is never
sent to any server other than Groq's own API.
Choose how the Dashboard Due Today list and Plan my session sort sections: grouped by piece (default) or individually by urgency. See Dashboard β Due Today for what each option means.
Archiving a piece or section hides it from Due Today but keeps practice history. By default the app asks you to confirm. Tick Don't show again on that dialog to skip it next time, or uncheck Ask for confirmation before archiving in Settings. You can turn the prompt back on here. Permanently deleting a piece or section still always asks for confirmation.
Download a JSON backup of all your data at any time β from Settings β Export Backup, or with the Backup button in the top menu bar on any main page (next to Free Practice). Restore with the Import button next to it, or Settings β Import Backup. Import replaces existing data on this address. This file can be reimported to restore your data or transfer it to another device. Reference MP3s are included in the backup, so the file can be large if many pieces have audio attached. Importing a large backup may take a while; a progress bar shows each step (safety backup, parsing, audio, writing) and the import button stays disabled until finished.
On iPhone and iPad (Safari or any other browser), Backup cannot save a file the same way as on a computer. After the backup is prepared, tap Save backup and choose Save to Files in the share sheet. Import still uses the system file picker.
The app address is moving from parturamusic.be (and moduspractica.be, if you used that bookmark) to parturamusic.com. The .be address closes on 1 September 2026. Practice data is stored in the browser for each address separately, so a bookmark change does not copy your pieces or history. If you have not exported yet, export as soon as possible and import the backup on parturamusic.com. If you do not migrate in time, your practice data will be lost.
If you still open the app on a .be address, a red banner stays at the top until you leave that domain. A reminder dialog also offers: export a JSON backup now, Stay on this .be address for now (snooze 7 days β you keep working here; the banner remains), Open parturamusic.com (new tab β your .be data stays until you import), or confirm that you already use parturamusic.com only (the dialog then stops). After a successful export, open parturamusic.com and import the file with Import in the top menu (or Settings β Import Backup). Import replaces any data already on .com. Use the same browser and the same device. On iPhone or iPad, export uses Save to Files in the share sheet (see Backup & Restore above). The banner and dialog are not shown on parturamusic.com, and they do not interrupt a training session.
Works in: Chrome or Edge on a PC or Android.
Setup is two visits. Chrome and Edge cannot offer lasting folder access in the folder picker β that is a browser security rule, not an app bug. Backups run when you open the app and again after you save a practice session (at most two automatic files per calendar day), not on a background timer. Settings warns if today has no file yet.
moduspractica-pro-backup- and
removes older ones with that prefix only β other files in
the folder are left alone.
If the Restore access banner comes back after you close the app, the last grant did not last. The Dashboard then offers Choose folder again. Use that first, then on the following visit click Restore access and choose Allow on every visit. Chrome often shows that three-way choice only after you have picked the folder again.
Does not work on iPhone or iPad (any browser on iOS or iPadOS), and not in Safari (including Safari on a Mac). Use manual Export Backup, or the backup reminder on the Dashboard (export now, snooze 7 days, or turn off β re-enable in Settings). The same reminder applies in other unsupported browsers.
Enter your personal Groq API key to enable the AI Progress Report in Statistics. Groq uses a pay-per-use pricing model β the cost per report is extremely small and you only pay for what you use. Monitor your usage at console.groq.com . By default the key is kept only for the current browser session and cleared when you close the browser. You can tick Remember this API key on this personal device to keep it in that browser on a trusted machine. Leave the option unchecked on shared computers; if unchecked when saving, any previously remembered key is removed. The key is never transmitted to any server other than Groq.
Permanently deletes all data. Always export a backup before using this option.
ModusPractica Pro stores all data locally in your browser using IndexedDB. There is no cloud server, no account, and no synchronisation. This includes your repertoire, practice history, and any reference MP3 files you attach to pieces β they live in the same local database, not on a remote server. This is a deliberate choice that keeps your data private and under your full control β but it comes with one important consequence: your data lives in the browser you use.
Choose one browser and use it consistently for all your practice sessions. If you switch to a different browser on the same machine, or move to a different device, your data will not be there β unless you explicitly transfer it via an export file. The same applies when the app address changes (for example from parturamusic.be to parturamusic.com) β see Moving from .be to .com. The Mac desktop app is another separate store: use Backup / Restore to copy data between the website and the app.
To move your data to another browser or device: export a backup in Settings, then open ModusPractica Pro in the new browser or device and import that file. Once you have verified the import, use Danger Zone β Reset App on the old browser to remove the duplicate.
You can store your exported backup file in your own cloud storage (Google Drive, iCloud, Dropbox, or any service you trust) so that it is accessible from anywhere. This gives you the flexibility of working across machines while keeping full control of your data.
ModusPractica Pro is well suited for use in a teaching context. Here are some practical guidelines.
Smaller sections allow more precise tracking and more targeted repetition. Do not feel constrained by bar boundaries β a difficult section can be as short as half a bar or even a single beat. The more focused the section, the more efficiently the app can schedule and track it. You can always expand or re-divide sections as your playing develops.
When you use tempo tracking, the target BPM should be the final performance tempo, not a practice tempo. The app manages the gradual build-up automatically.
Keep the gap between start and target BPM manageable. A starting tempo of 30 BPM with a target of 100 BPM creates a gap that the algorithm will bridge gradually, but the intermediate steps may feel disconnected from musical reality. A practical rule: if the gap exceeds 40 BPM, consider setting an intermediate target first β for example 60 BPM β and raising it once that tempo is consolidated. The app does not enforce this; it is a pedagogical decision that remains with the user.
Teach students to start a due section in Training, not Analysis. Analysis first on that same sitting warms the passage up and makes the counted session look better than retention really is. Analysis is still the right place to explore a new section on another occasion (reading, fingering, a mental map) without counting β and, after the cold training session, to practise the same section again later that day without moving the schedule. For due training days, the counter must see the first real run.
Students who are not guided on this point will instinctively try to combine both hands too early. Make the workflow explicit from the first lesson: right hand and left hand are registered as separate sections and trained independently until both are stable. Remind students that hands-together playing is a skill in its own right β practised first in Analysis mode on a separate sitting, then registered as a new "both hands" section once full repetitions are reliably countable. This structure prevents the common error of saving sessions with zero correct repetitions, which corrupts the scheduling data.
Students who understand why the app schedules repetitions the way it does are more likely to trust the system and follow it consistently.
When the guard triggers, do not override it. Use the remaining lesson time for analysis or work on a different piece. Return to the section in the next lesson β or help the student choose between two adjustments: lower the tempo, or divide the passage into smaller fragments. For complex motor patterns, fragmentation is often the more effective lever.
The Statistics page is a useful tool for lesson conversations β success rate, entry cost trends and stability distribution give objective data to discuss progress.
The following tips are grounded in motor learning research and complement the algorithm. They are practical suggestions, not requirements β the app works without them. But applied consistently, they can meaningfully improve the quality of each session.
Research suggests that brief pauses between repetitions support motor memory consolidation. A landmark study found that performance improvements during motor skill learning develop almost exclusively during short rest periods between practice bouts β not during the practice itself. During these pauses, the brain appears to replay recently practised movement sequences, a process linked to the strengthening of motor memory traces (BΓΆnstrup et al., 2019, Current Biology).
A related line of research concerns the Intertrial Interval, also called the post-KR delay: the quiet window after knowledge of results in which sensorimotor recalibration actually occurs. Bock, Thomas & Grigorova (2005) showed that rest breaks shorter than about 5 seconds significantly impair overnight retention of adapted movements; attempts spaced only about 1 second apart were far less effective. The pause is not a gap between learning episodes β it is where much of the motor recalibration takes place.
In practice: after completing a repetition, pause for roughly 5β15 seconds. Release any physical tension, briefly note what went wrong (or what worked), and form one concrete intention for the next attempt β then allow a moment of stillness before playing again. Resist stacking attempts in quick succession; the brain needs that post-KR window to recalibrate.
Sleep is not merely rest β it is an active consolidation process for motor memory traces. Research using piano-type finger sequences has shown that subcortical brain regions involved in motor learning strengthen their mutual connections during sleep, producing measurable improvements in accuracy and timing the following morning β without any additional practice (Walker et al., 2002, Neuron; Debas et al., 2014, NeuroImage).
Two practical consequences follow. First: a section that still feels rough at the end of a session may feel noticeably cleaner the next morning β this is not coincidence but biology. Second: practicing shortly before going to sleep is particularly efficient, because consolidation begins immediately during the first sleep cycle.
This is also why ModusPractica never schedules a section twice on the same calendar day. The algorithm treats one night of sleep as the minimum unit of consolidation β a design choice directly grounded in the research above. You are always free to practice a section a second time on the same day on your own initiative. The additional session will be recorded in your statistics, but the scheduling algorithm will not be updated a second time: the next practice date calculated after your first session of the day remains unchanged.