CleanScore - Complete Cleanup
What it does
CleanScore removes redundant material that often appears after voice merges or quick edits in choral scores. It is designed to keep your parts readable and rehearsal-ready.
Current capabilities (MuseScore 4.4–4.6)
Remove duplicate notes between Voice 1 and Voice 2 on each staff
Remove all remaining rests in Voice 2
Remove text elements attached to Voice 2 (staff/system text)
Log panel showing what was found and removed
Temporarily disabled (API limitation in 4.x)
Removal of duplicate dynamics (p, mf, f, etc.)
Removal of duplicate hairpins (crescendo, diminuendo)
These two options are visible but intentionally disabled in the UI. The plugin includes internal guards to prevent any attempt to delete dynamics/hairpins until the MuseScore 4.x Plugin API reliably supports it again.
Why this plugin
After importing MIDI, merging voices, or editing SATB material, it is common to end up with stacked elements. CleanScore focuses on the fast, safe cleanup operations that currently work consistently in MuseScore 4.x.
How to use
Open your score.
Go to Plugins → CleanScore - Complete Cleanup.
Select the cleanup options you want to run.
Click Execute and review the log.
Save your cleaned score under a new name if needed.
Optional external workflow (advanced)
If you need to purge stacked dynamics/hairpins today, pair this plugin with an external MusicXML cleaner (Python script) to remove duplicated and entries, then re-import the cleaned MusicXML into MuseScore. A sample script is provided in the repository.
Privacy and safety
The plugin only reads and edits the open score. It does not transmit any data.
Details
Simple dialog UI with checkboxes and an execution log
Voice-aware duplicate detection for chords at identical ticks
Tuplet-safe chord deletion (removes the tuplet container when needed)
Voice-scoped text and rest cleanup for Voice 2
Defensive programming: dynamic/hairpin features are present but disabled to avoid silent failures in 4.x
Designed and tested primarily on Windows, but the QML code is cross-platform
Known limitations
Dynamics and hairpins cannot be reliably removed via the 4.x Plugin API. The controls remain disabled by design.
External MusicXML cleaning is the recommended workaround when you must remove stacked dynamics/hairpins right now.
Attachment | Size |
---|---|
CleanScore.zip | 79.25 KB |