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.
Prefer to watch first? This short tour walks through the app β repertoire, sections, practice sessions, and scheduling. Recorded with version 2.0.0; the core workflow is unchanged in the current version. Press play to load the YouTube player, or open it directly: watch on YouTube. Loading the player connects to YouTube.
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 current and target BPM later in a practice session if you want a metronome reference stored with the section.
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 date. Leave both tempo fields empty or enter 0 for no tempo. For a section you have already trained, the date question reads Next practice date instead of start date: pick today or a later date when you choose a new date, or leave the pre-filled date unchanged to keep it as is (including an overdue 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 date, or cancel those prompts β cancelling them does not restore the old name.
Each section can hold one stable task: a detailed description of what every practice session for that section should focus on β for example the bars to polish, the tempo goal, or what to check before counting a repetition as correct. Unlike session notes, the task does not scroll away: it is pinned as a fixed banner at the top of every practice session for the section, listed under the section name on Due Today and in the repertoire detail, and shown as context above the notes in Daily Notes.
Set it with the π― button on a Due Today card or a section row (one prompt, Ctrl+Enter saves, Esc cancels), or as the last step of the βοΈ section editor. Leave it empty to hide the banner.
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 calendar days with counted Training β 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. How fast stability grows depends on your cold start: a clean first rep grows the interval fully, one error first caps its growth, and two or more errors first shorten it (see Entry Cost). After 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 an achieved (current) tempo and a target tempo for a section, the app stores your progress and synchronises the built-in metronome automatically.
The app deliberately does not push your tempo upward automatically. Biomechanics and movement patterns change at different speeds; forcing higher BPM via an algorithm risks encoding physical tension. You decide when a passage feels relaxed and secure enough to increase the metronome speed manually.
Today's date is shown next to Practice Today at the top of the dashboard, so you can see at a glance which day the Due Today list belongs to; it refreshes when you reload the page. The app estimates the best moment for each repetition. Sections appear under Due Today when their scheduled date has arrived. The date is an estimate; a day early or late is not a problem. Practising much earlier or much later than scheduled makes the spacing less efficient. 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). If you save Analysis on a section that is still Due Today or overdue, the app postpones it to tomorrow automatically so no counted Training button remains open for a warm same-day re-test. It returns on Due Today the next morning with the π Analysed yesterday pill. Sections scheduled for a future date are left untouched. If you still want another uncounted pass later today, tick Keep on the dashboard for another Analysis pass today on the completion screen β that reminder sits under Analysed today, not in Due Today.
After a counted Training save, the completion screen offers Mark for follow-up analysis today. It is pre-ticked only when the session had errors, because that is when repair work is useful. After a clean session it is unticked; tick it yourself when you want another same-day Analysis pass. The section remains accessible on the Dashboard in a dedicated dimmed list with a direct π Analysis shortcut. This allows surgical error repair and deconstruction later in the day without corrupting the spaced-repetition scheduler with warm re-tests. The Due Today count ignores these reminders. Saving an Analysis session on that section (or dismissing the card) clears it for the day; flags do not carry over to the next calendar day. Follow-up Analysis is meant for repair after counted Training, so the next practice date has usually already moved. If you instead analyse a section that is still Due Today, that save also postpones it to tomorrow (see Cold start). To keep that section visible for a second Analysis sitting the same day, use Analysed today β a separate opt-in list, not this repair reminder.
After you save an Analysis session on a repertoire section, the completion screen offers Keep on the dashboard for another Analysis pass today (unchecked by default). Tick it only when you know you may want a later uncounted repeat in the same sitting. The section then appears in a dimmed Analysed today list under Due Today β Analysis shortcut and dismiss only, no counted Practice button. The Due Today count ignores these cards. Extra time on a whole piece and standalone Free Practice do not use this list.
Saving Analysis on that section (or dismissing the card) clears the reminder. You can tick the box again if you want yet another pass. Flags do not carry over to the next calendar day: skip the extra sitting and the card is gone tomorrow, while the real next practice date stays whatever the scheduler already set (usually tomorrow after a due-section Analysis). This is a dashboard reminder, not a second Due Today queue.
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.
Product names, author names, and methods cited in this manual belong to their respective holders. Citation is independent attribution or recommended external reading β not collaboration, partnership, sponsorship, licensing, certification, or endorsement. Dr. Molly Gebrian has shared informal personal practice advice that informed some session options; she is not a co-developer of this software. See also About β Disclaimer.
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 you save an Analysis session, return to the Dashboard. Do not open counted Training on that same section in the same sitting. Let consolidation (sleep) take place before a cold Training test on a subsequent day. If that section was Due Today (or overdue), saving Analysis also moves it off Due Today and queues it for tomorrow automatically β so no open Practice button remains for a warm same-day re-test. Tomorrow it appears again with the π Analysed yesterday pill. If the section was not yet due, its date is left unchanged. A same-day extra Analysis pass is optional: tick Keep on the dashboard for another Analysis pass today if you want that reminder (see Analysed today).
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 usually started from the practice session page of a section. You can also open it from the Dashboard reminder lists Follow-up Analysis Today (after a hard Training save) or Analysed today (after an Analysis save you chose to keep) β Analysis only, no Practice button.
Good uses of analysis
Poor uses of analysis (save these for training instead):
Forcing the counter on a brand-new passage is usually the wrong kind of work. Deciphering new material β trying fingerings, isolating a two- or three-note snag, organising a hand shift β is acquisition / encoding: you are still writing the motor programme. Counting those attempts as if they were a retention test adds administrative friction, invites FrustrationGuard during necessary trial-and-error, and pulls attention away from the music.
Retention / retrieval is a different job. Once a programme exists, the useful test is whether you can produce it cold β after time away, without warming the passage first. That is what Training and the repetition counter are for. See Cold start: Training first. The background is on The Science page.
Register a manageable section (for example two bars), not every micro-loop as its own row. Two- and three-note fragments are tools you use inside Analysis. Turning each of them into a scheduled section produces cognitive fatigue and an unworkable Due Today list, without giving the engine a meaningful unit to schedule.
Complex passages β even one or two bars β cannot and should not be mastered in a single sitting of five counted repetitions. That expectation is machine thinking, and it is a common source of discouragement. You are a musician: encoding a new movement takes several uncounted sittings and nights of sleep. The real learning happens in Analysis, while you explore, fragment, and try fingerings without a counter. Counted Training comes later, as a quiet check that the movement still holds when you are cold β not as an intimidating exam. Background: Acquisition vs retrieval on The Science page.
The human-friendly rule for a challenging new passage:
If the cold test succeeds: save the session. Retention has been checked; the section is complete for today. Optional extra work afterwards belongs in Analysis or Extra time β not in a second counted session.
If it fails β the massed-practice trap: do not drill the passage until it works warm. Warm success after a failed cold start is an illusion of competence: it feels like learning and evaporates by the next morning. Spend at most 3β5 minutes in Analysis on a surgical deconstruction β isolate the single snagged transition, play that movement very slowly, reduce the baseline tempo if needed β then save and stop. Let sleep consolidate again. The next cold Training session is the real re-test. If you want that short repair later in the day, Mark for follow-up analysis today is already ticked when you save Training; leave it on, or uncheck it if you will not return the same day (see Follow-up Analysis Today). An independent teaching sequence (Turnerβs S3I: Stop, Identify, Isolate, Incorporate) can be used in that Analysis block; do not run Isolate or Incorporate inside counted Training. That sequence is recommended external reading, not an app feature and not an affiliation. See How to Practice.
Do you need to finish Section 1 before starting Section 2? No. Waiting until one passage is fully mastered or consolidated β isolating it until it feels βdone,β then starting the next fragment β is a blocked-practice habit. It is inefficient, and it misses what spaced repetition is for. Once a section has had its daily cold retrieval (typically a few minutes of counted Training), further repetition of that same fragment the same day yields diminishing returns. The scheduler then inserts idle days on purpose. Those minutes are meant for the next fragment, not for polishing the first one until it is perfect.
Treat a longer span as a rolling assembly line, not as a queue that must empty before anything else may start. Example: 16 bars divided into two-bar sections (four or eight, depending on density). Do not open uncounted Day 1 Analysis on every fragment in one afternoon β that overloads working memory and leaves you with eight cold tests arriving together. Stagger entry:
As early sections gain stability and their intervals stretch (for example to 3, 5, or 8 days), Due Today naturally thins out. That is the bandwidth for the next fragments to enter acquisition. You do not wait for a Memory Zone of Mastery; you wait only for todayβs cold stimulus on what is due, then spend leftover time encoding what is next. The scientific background β contextual interference across sections, and why simultaneous encoding of many new fragments overloads working memory β is on The Science page.
Overlap the boundaries so parallel sections can chain later. Each two-bar fragment should include the transition note or beat into the next bar β for example Bars 1β3 beat 1, then Bars 3β5 beat 1 β so the join is already practised as part of the current motor sequence. See Include the transition note.
Analysis is available on every repertoire section, in Exploration and Consolidation alike. It never updates stability or difficulty β only time (and optional notes) are logged against that section. The next practice date stays unchanged unless the section is Due Today or overdue: then saving Analysis postpones it to tomorrow so the next counted Training run can start cold. 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 a date that is already in the future. If that evening pass is not happening immediately, tick Keep on the dashboard for another Analysis pass today so the section stays visible under Analysed today.
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.
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. A session with no registered attempts at all leaves no trace in the schedule: it is saved for your time statistics only. If you register only errors, the session is scored as weak and the algorithm reacts to it. The counter is only meaningful for repetitions you can genuinely judge; use Analysis mode for exploration.
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. The app avoids countdowns by design, because time pressure adds stress and stress can interfere with learning (JoΓ«ls et al., 2006). 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 in the spaced phase (after the first two acquisition days), elapsed time can feed the scheduler β but only as a progress dampener on a strong session, never as a verdict. The clock does not mark a session as failed, does not cut stability or shorten the interval, and does not trigger FrustrationGuard (that guard looks only at registered errors β failed attempts, plus streak resets in sessions recorded with older versions). Analysis time is logged for statistics only.
Damping applies when all of these hold: Training (not Analysis); spaced phase; success ratio of 85% or more; and elapsed time above a threshold of at least ten minutes, scaled by about 100 seconds per target repetition (so eight planned reps allow roughly thirteen minutes). Then difficulty falls more conservatively (β0.02 instead of β0.05). That is a safeguard against over-optimistic interval growth when a successful session still cost a lot of time β not a punishment. A cold retrieval check on a two-bar section of about 3β5 minutes stays well below the threshold, so a strong session still gets the full difficulty advance.
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 relaxed) and Target Tempo (the performance tempo you are working toward) to turn tracking on.
During a session, the built-in metronome starts at your current achieved tempo. Use the metronome or Tap Tempo to find or adjust your speed. When you complete a session, the tempo you played is saved directly to your section record. The app never alters your BPM behind the scenes. Clear both fields again to turn tracking off.
Press βΆ Start to hear steady beats (a higher click on beat 1 of each bar). If tracking is off, the metronome starts at 60 BPM. Choose a time signature (2/4, 3/4, 4/4, 5/4, 6/8, 7/8, 9/8, 11/8, 12/8, or 13/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.
In traditional music education, you often hear the advice: "Play it 3, 5, or 7 times consecutively without mistakes; if you fail, start over from zero." Applied blindly β especially too early in the learning process β the unbroken streak is one of the fastest paths to physical tension, cognitive fatigue, and performance anxiety.
ModusPractica Pro therefore keeps two strictly separated roles:
Why no cumulative counting? A total volume (for example 3 clean reps regardless of errors) can label a session βreachedβ while most attempts were flawed β 3 clean against 5 errors is only 37% success. Motor learning treats that as a weak session: the faulty movement gets encoded alongside the correct one, and the interval shortens instead of growing. Counting only consecutive reps keeps the label honest: TargetReached always means the passage was stable that day.
How to handle hesitant repetitions: If a playthrough had the correct notes but felt tense, hesitant, or like a lucky fluke, it does not deserve a β Correct Rep β press β Error instead. Minor fluctuations in dynamics, a slightly uneven touch, or artistic freedom do not make a repetition failed: as long as the note sequence and fingerings were correct and felt relaxed, it is a valid correct repetition.
The golden rule: Sleep over endless repetitions. If a fragment does not settle after a few mindful attempts, playing it 15 more times in frustration will only encode physical tension. Always explore brand-new passages in Analysis mode (π¬) first without counters. Save the session, step away, and let overnight rest stabilise the motor trace. Counted Training is a cold retention checkβnever an exam to endure.
Example A: cold start with stumbles
Goal: 5 consecutive clean and relaxed reps. Errors before the first clean one measure your cold-start retention (Entry Cost).
Result: honest cold-start data, and a clear signal when the passage is not test-ready yet.
Example B: streak broken halfway
Goal: you already hold 3 clean reps and want to complete the 5.
Result: one tap logged both the error for the algorithm and the broken streak. No second button, no double counting.
It is easy to fall into the trap of striving for machine-like perfection, leading to frustration and physical tension when minor slips occur. You might wonder: "If 95% of the notes were correct, can't I just count it as a Correct Rep? We aren't machines after all!"
From a psychological standpoint, being overly strict with yourself is counterproductive; toxic perfectionism creates stress and muscle tension, which ruins piano technique.
However, from a motor learning perspective, the nervous system does not distinguish between a "desired note" and a "minor slip".
If you play a passage of 20 notes, make one small blunder, and log it as a β Correct Rep anyway, repeatedly accepting a flawed version as correct risks reinforcing it.
Repeated often enough, you successfully encode the mistake.
How to handle this in practice (the choice is yours):
β Error button.
Do not view this as a moral failing or a punishment, but simply as neutral feedback for the app's scheduling.
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 β every error you log with the β Error button β and intervenes before that burden becomes counterproductive. (Sessions recorded with older app versions may also show streak resets; those count toward the same burden.)
An error is any execution you judge as incorrect: a wrong note, a rhythmic stumble or stop, or a noticeable physical blockage. Minor fluctuations in dynamics or touch are not errors. Each error is counted toward the same burden, 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 returning to Analysis mode (π¬). Already at 2 errors before your first clean rep, the app advises you to simplify rather than grind: cold-start retention is low, so a smaller fragment or a slower tempo will teach more than persistence. 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 overnight rest. 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 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.
Entry cost also decides how the interval to your next review changes: a clean first rep grows it fully, one error first caps its growth, and two or more errors first shorten it, like a weak session. An unfinished session caps a clean cold start the same way, and so does a clean cold start followed by a weak rest of session (below 60% accuracy) β one good first rep is not enough evidence on its own. Your session accuracy still matters: it steers difficulty, which slows down or speeds up future growth. Sessions from before this rule keep their previous scheduling.
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. On phones and tablets the
notes field is not focused automatically, so the
on-screen keyboard stays hidden until you tap it.
Older entries stay visible below for reference.
Session notes are the scrolling log of what happened. For the stable assignment itself β what each session should focus on β use the section task instead: it stays pinned above the notes in every session.
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 Accuracy to see how accurate your recent sessions were, 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. After Analysis, the footer offers only β Back to Dashboard: counted Training on that same section must wait for a later sitting, so the first attempts stay a cold start. If the analysed section was Due Today or overdue, the summary states that it was postponed to tomorrow; otherwise it still says scheduling was not updated. See Cold start: Training first.
Scheduling is driven by your counters β correct reps, registered errors (failed attempts; streak resets from older versions count the same way), and session outcome (target reached, partial progress, FrustrationGuard, and so on). Session accuracy steers difficulty; errors before the first clean rep (entry cost) steer the interval (see Entry Cost above). A training session with no registered attempts (for example a timed session with no counters) is treated as missing data: it is saved for your time statistics, but it does not change the section's difficulty, interval or due date, and the section stays due. A session with registered errors but no correct repetition is different: that is real performance data and is scored as weak.
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. After a counted Training save, Mark for follow-up analysis today is pre-ticked only when the session had errors, so the Dashboard keeps an Analysis-only reminder for sessions that need repair work; leave it unticked to skip that sitting (see Follow-up Analysis Today). After an Analysis save, the matching opt-in is Keep on the dashboard for another Analysis pass today (see Analysed today).
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). Three views share the same dates; switch with the Accuracy / Interval / Progress pills. The last choice is remembered. Progress is the default: it answers βam I getting better at this section?β Accuracy answers βhow accurate were my recent sessions?β and 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. In the Interval view each dot is the first training session with registered attempts 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.
Accuracy
Progress
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. Use the piece filter next to the count badge to show only sections from one piece (or All sections for the full list). The filter is remembered for your next visit; if that piece has nothing due, the list falls back to All sections. Plan my session uses the same filter. 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 from older versions count the same way). 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 (accuracy and interval) without starting practice. When an uncounted Analysis session was logged for that passage on the previous calendar day, the card also shows an informative π Analysed yesterday pill, so you can approach today's cold training check with the right mindset. That pill typically appears because you analysed the section while it was due (or overdue) the day before: saving Analysis postponed it to this morning automatically. If you analyse a section whose next practice date is still in the future, Due Today does not change.
Two dimmed reminder lists can sit under Due Today. They never add to the Due Today count and they never offer counted Practice. Follow-up Analysis Today is the opt-in after a hard Training save (repair later the same day). Analysed today is the matching opt-in after an Analysis save, when you still want another uncounted pass before tomorrow. Both expire at the next calendar day if you skip them. The piece filter applies to these lists as well.
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 β or only from the piece selected in the Due Today filter. 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, one slice at a time. Instead of keeping three browser tabs open and switching by hand, you pick the sections once and work through them slice by slice. Like Extra time, it is Analysis: it never changes stability, difficulty, or counters; only a section that is still due today is moved to tomorrow, as with Analysis. Use it after counted Training, when next practice dates are already in the future.
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:
Saved rotations (optional). If you return to the same combination of sections, save it from the Saved rotations block in the picker with Save asβ¦: it stores the selected sections plus the order, slice and rounds values. Choosing a saved rotation restores the selection and those values; sections that are no longer available are skipped. Saved rotations are kept in this browser on this device only β they are not part of Export Backup, and they disappear if browser data is cleared.
On the rotation screen the page first waits on a start screen: the full rotation in order, each item with its section task (π―) when it has one, a Test sound button for the switch cue, and a large Start button for the first section. Each slice shows the current section in large type with its task directly below, the slice countdown, what comes next, and the total practice time of this sitting. The position line also shows the round ("Section x of n Β· Round r", with "of N" added when you set a round limit). When the slice runs out, a short two-note signal plays and the next section waits on its own start screen β nothing starts automatically. Start each section when you are ready with the Start button, Enter, the right-arrow key, Page Down, or page-turner pedals that send the right-arrow or Page Down key. Time spent on a start screen is not counted. 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 within a slice; Next ends the slice early and brings up the next start screen. The metronome stops at the end of every slice and never resumes by itself; otherwise it 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. Where the browser supports it, the screen is kept awake for the whole sitting. If the device sleeps mid-slice, the rotation pauses by itself on the next tick and the time away is not counted β press Resume to carry on.
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. A section that is still due today is moved to tomorrow, as with Analysis, so the next Training starts cold. 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: stability, difficulty, the training counters, or completing an item in Plan my session. The only date that moves is the next practice date of a section that is still due today, which returns tomorrow. Interleave never replaces Due Today.
The picker lists sections by piece and then by section name. With the default Alternate order the rotation takes one section from each piece in turn, so the order mixes pieces; Piece by piece keeps the picker order, and Shuffle reorders every round. 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 using the same next-session interval the scheduler stored after each session, counting only sections that still belong in the schedule (not archived, deleted, or stats-only pieces).
The period filter uses calendar ranges: Week means the current calendar week (Monday through today), Month means the current calendar month, Year means the current calendar year, and All Time includes all recorded sessions. In the Week view, use βΉ Prev and Next βΊ to step back to earlier weeks; the label shows the exact dates of the week displayed.
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. The key is kept
only for the current browser session (in memory)
and cleared when you close the tab or browser.
It is never stored on disk. 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.
Automatic folder backup was removed on purpose in version 1.7.1. Browser folder permissions caused too many problems (especially on tablets and phones), so ModusPractica no longer asks for a backup folder.
Use Export Backup in Settings β Backup & Restore, or the Backup button in the top navigation bar. That downloads a JSON file (usually to your Downloads folder). Manage those files yourself β keep copies where you trust them, and use Import Backup when you need to restore.
The Dashboard can show a backup reminder if you have not exported recently (export now, snooze 7 days, or turn off β re-enable in Settings).
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 . The key is kept only for the current browser session (in memory) and cleared when you close the tab or browser. It is never stored on disk, so re-enter it after a restart. On shared computers close the tab when you are done. 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 app address is parturamusic.com (https://www.parturamusic.com/ModusPractica_Pro/). 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. You raise or lower the current BPM yourself when the passage is ready β the app never does this for you.
Keep the gap between current and target BPM manageable. A starting tempo of 30 BPM with a target of 100 BPM is a long road to cover by hand. 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 a date that is already in the future. Analysing a section that is still due postpones the counted check to tomorrow. The Dashboard can hold two Analysis-only reminders for the rest of that day if the student opts in: Follow-up Analysis Today after Training, and Analysed today after Analysis. Neither is a second Due Today queue. 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 using the training counter before full repetitions can be judged, which leaves the schedule with weak or empty sessions.
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 can improve in-session performance. BΓΆnstrup et al. (2019, Current Biology) reported that early gains appeared mainly across short rests ("micro-offline gains"). Whether these reflect genuine offline learning or recovery from fatigue (reactive inhibition) is actively debated (Gupta & Rickard, 2022; Gupta & Rickard, 2026; for the opposing view, Brooks et al., 2026). The practical advice to pause briefly between repetitions is harmless and improves in-session performance either way.
In sensorimotor adaptation (not sequence learning), 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. Because this is an adaptation study, applying it to repertoire practice is an extrapolation. 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 β several studies using finger-sequence tasks reported performance gains after sleep without additional practice (Walker et al., 2002, Neuron; Korman et al., 2007, Nature Neuroscience; Debas et al., 2014, NeuroImage). Later work argues that much of this apparent gain reflects recovery from fatigue rather than true sleep-driven improvement; the question is debated (Rickard et al., 2008; Pan & Rickard, 2015). Debas et al. (2014, NeuroImage) reported that overnight consolidation was associated with changes in a cortico-striatal brain network.
Two practical notes follow. First: a section that still feels rough at the end of a session may feel noticeably cleaner the next morning β this is a common experience; whether sleep itself causes it is debated. Second: practising in the evening before sleep is an option some studies suggest, not a rule; any consistent practice time works.
This is also why ModusPractica never schedules a section twice on the same calendar day. The algorithm updates once per section per calendar day β a design choice that leaves time (including a night) for stabilisation, not proof that sleep adds performance. 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.
Full references: see The Science page.