Mike Slinn

MuseScore 3 and 4

Published 2023-04-10. Last modified 2024-04-06.
Time to read: 2 minutes.

This page is part of the av_studio collection.

MuseScore is a free and open-source program for writing and playing music. It is available on all major computing platforms.

MuseScore 4 on Windows

I installed Muse Hub, then used it to install MuseScore 4 and Audacity.

There were no issues with my 4K monitors.

Favorite Layout

This layout is optimal for heads-down editing. It is very space-efficient - a 15" laptop is sufficient for uncluttered productivity.

  • F11 - Fullscreen toggle
  • F12 - Timeline toggle
  • Continuous View - Horizontal pull-up menu on the bottom right of the screen

No Rewind Key

Oddly, no rewind hotkey is defined by default, but you can define one easily.

  1. Use the menu item Edit / Preferences / Shortcuts, then look for Player: rewind and select it.
  2. Press Define
  3. Press the key you want to use to rewind:
    1. On an old-school office-type keyboard, you could use the comma (,)
    2. On a multimedia keyboard, such as is often found on a laptop, use the rewind key.
  4. Click on OK

Now you can play the current score from the beginning by typing comma / rewind, then space.

MuseScore 3 on Native Ubuntu

MuseScore 4 is not available for Ubuntu, so I installed v3.

Shell
$ yes | sudo apt install musescore3

Here is the MuseScore 3 handbook. I set up MuseScore 3 on a native Ubuntu 22.10 machine with a 4K monitor, and it worked perfectly.

Shell
$ apt show musescore3
Package: musescore3
Version: 3.2.3+dfsg2-16
Priority: optional
Section: universe/sound
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Thorsten Glaser <tg@mirbsd.de>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 20.3 MB
Depends: libasound2 (>= 1.0.16), libc6 (>= 2.34), libfreetype6 (>= 2.5.2), libgcc-s1 (>= 3.3.1), libpoppler-qt5-1 (>= 0.24.5), libportaudio2 (>= 19+svn20101113), libportmidi0, libpulse0 (>= 0.99.1), libqt5core5a (>= 5.15.1), libqt5gui5 (>= 5.14.1) | libqt5gui5-gles (>= 5.14.1), libqt5help5 (>= 5.6.0~beta), libqt5network5 (>= 5.14.1), libqt5printsupport5 (>= 5.0.2), libqt5qml5 (>= 5.10.0), libqt5quick5 (>= 5.8) | libqt5quick5-gles (>= 5.8), libqt5svg5 (>= 5.6.0~beta), libqt5widgets5 (>= 5.14.1), libqt5xml5 (>= 5.0.2), libqt5xmlpatterns5 (>= 5.0.2), libsndfile1 (>= 1.0.20), libstdc++6 (>= 11), libvorbisfile3 (>= 1.1.2), zlib1g (>= 1:1.1.4), desktop-file-utils, fonts-freefont-ttf, qml-module-qtquick-controls, qml-module-qtquick-dialogs, qml-module-qtquick-layouts, qml-module-qtquick2, shared-mime-info, xdg-utils, musescore3-common (>> 3.2~), musescore3-common (<< 3.3~)
Recommends: libmp3lame0
Suggests: pulseaudio-utils
Homepage: https://musescore.org/en
Task: ubuntustudio-audio, ubuntustudio-publishing
Download-Size: 7993 kB
APT-Manual-Installed: yes
APT-Sources: http://archive.ubuntu.com/ubuntu mantic/universe amd64 Packages
Description: cross-platform multi-lingual music composition and notation, v3
  MuseScore is an Open Source (GNU GPL) music notation software that runs
  on all platforms supported by Qt5 (GNU/Linux, MacOS X, Windows), and is
  available in over forty different languages. It features an easy to use
  WYSIWYG editor with audio score playback for results that look and sound
  beautiful, rivaling commercial offerings like Finale and Sibelius.
  .
  This package provides MuseScore 3. You can install multiple versions of
  MuseScore in parallel, and upstream recommends doing so, because each
  major version has a new, incompatible, layout engine, and changing old
  scores without relayouting them fully with the new version can only be
  done by the old version. For MuseScore 2, install the musescore package,
  and expect a musescore4 package to show up in Debian bookworm.
  .
  Create, play back and print sheet music for free. Features include:
  - easy-to-use and customisable interface
  - optional dark theme (to focus on the score)
  - tours for first-time and returning users
  - albums combining multiple scores
  - unlimited score length
  - unlimited number of staves per system
  - up to four independent voices per staff
  - score creation wizard and templates
  - easy and fast note entry with a (PC) keyboard, the mouse, including
    an on-screen virtual (piano) keyboard, or MIDI (step-time, real-time)
  - timewise input (moving subsequent notes/rests), also for unmetered music
  - half-time and double-time paste commands for copy/paste
  - continuous view: focus on the content, scrolling by as an endless
    ribbon, undistracted by line breaks or page breaks; switch to page
    view to polish up for printing
  - timeline view
  - automatic part extraction (by staves or voices) and transposition
  - advanced transposition: transpose a selected passage to any key,
    or by any interval — or even transpose diatonically within the same key
  - repeats, including segnos, codas, measure repeats, advanced repeats;
    linearisation command to expand repeats
  - dynamics, articulations and other expression markings
  - playback support for almost all notation elements
  - custom text markings
  - style rules that apply to the whole score at once
  - automatic placement system (smart layout), now even more flexible
  - lyrics
  - chord symbols
  - Jazz notation, including lead sheets and slash notation
  - swing and shuffle playback
  - integrated sequencer and two software synthesisers (FluidSynth for
    SF2/SF3, Zerberus for SFZ), which also can use third-party soundfonts
  - single-note dynamics
  - mixer for instrument levels and effects
  - mixing and panning for individual parts
  - percussion notation
  - sticking (“fingering” for drummers)
  - early music notation
  - cross-staff beaming
  - import of graphics
  - custom key signatures
  - additive time signatures
  - system dividers
  - user-defined score styles
  - cutaway staves
  - pianoroll editor, edit playback parameters of each note individually
  - score comparison tool
  - and much more…
  .
  Choir features:
  - powerful lyrics copy and paste tools
  - implode/explode: combine up to four voices on one staff,
    then separate to individual staves
  - hide empty vocal staves, such as in a piano intro
  - figured bass for historical notation
  - smart lyrics: unlimited verses, with notes and staves automatically
    spaced, and verse numbers automatically aligned
  - voice leading checker: download the Check Harmony Rules proofreading
    plugin to check for errors in your part writing, according to
    standard rules
  - part mixer: mute, solo, or change volume of staves to learn
    individual lines — settings even apply to MP3 export
  .
  Piano features:
  - support for solo + piano (add small staff with different instrument)
  - support for cadenzas (smaller notes and variable length measures)
  - complete notation: pedaling, fingering, cross-staff beaming — you
    name it; everything needed to write piano sheet music is here
  .
  Guitar features:
  - bends, fingerings, and other common guitar notations supported
  - add/remove linked staves any time; enter notes on either standard
    (pitched five-line) or TAB staff
  - percussion/drumset also included
  - templates include guitar, tablature, guitar+tablature, rock/pop band
  - complete tablature: multiple tab styles available — from note symbols
    outside the staff to upside-down strings — and linked standard/tab
    staff pairs
  - Guitar Pro import: MuseScore can now open files from Guitar Pro, so
    you can easily migrate over. Import filters are improving with every
    release; GP3, GP4, GP5, GP6, GTP, GPX are currently supported.
  - Fretboard diagrams: 21 default chords for every key, and a powerful
    editor to create your own — with barre, fret position, and any number
    of strings
  - multiple or differently shaped dots per string; partial and multiple
    barres; ability to not show nut; customisable string/fret distance;
    chord symbols for diagrams and saving those to the palette; etc.
  - beyond guitar: banjo, mandolin, ukulele, oud; custom string tunings;
    even historical lute tablature: MuseScore does them all.
  .
  Orchestral features:
  - templates for common instrumentations
  - custom linked parts (e.g. create choral score from orchestra+chorus):
    any change you make to the content of any part is immediately
    reflected in the full score — and vice versa
  - powerful style controls: edit the formatting of parts and score
    independently — or apply the same style to all parts with one click
  - one-click transposition: instantly switch between transposed and
    concert pitch: sounding pitches stay the same while the written notes
    change
  .
  Jazz features:
  - templates for Jazz Lead Sheet, Big Band and Jazz Combo
  - real “handwritten” Book-style jazz font for text and chord symbols
  - formatting tools include adding line breaks every X measures
  - instantly switch between transposed and concert pitch
  - intelligent chord symbol: chord names are automatically formatted
    when you finish typing — plus, they transpose with the notes
  - easy slashes: commands to fill bars with slashes — and to turn notes
    into rhythmic slashes, and even accent notation above the staff
  .
  Marching ensembles features (needs the MDL extension):
  - marching band, indoor percussion, front ensemble, drumline and drum
    corps (even G bugles); no setup or configuration — select a template,
    start writing
  .
  Band features:
  - diverse templates: concert band, brass band, marching band, battery
    and pit percussion — ready out-of-the-box (plus big band for jazz)
  - custom linked parts: you can even keep a drumline score linked to a
    full marching band score and to individual percussion parts
  .
  Most elements in MuseScore are laid out automatically on a “virtual note
  sheet”, with a near professional-quality layout engine, but can also be
  positioned manually, giving you total control of every score element’s
  position. The capabilities of MuseScore can be extended via plugins and
  extensions, and the growing repository on musescore.org contains many
  plugins submitted by users and an active development team.
  .
  MuseScore includes a set of sounds that reproduce common instruments (as
  defined by General MIDI) without taking up a lot of disk space or memory
  providing full orchestral and band sounds (with the Drumline extension
  installed this includes marching percussion). The general (non-Drumline)
  sound font is available as musescore-general-soundfont Debian package,
  if you wish to reuse it with other synthesisers.) You can also load any
  sound font you prefer for a wider variety of sounds or for more realism.
  .
  MuseScore can import and export MIDI and MusicXML files, and it can also
  import from Capella and several other programs. MuseScore can export to
  PDF, PNG, and other graphic formats, to WAV and other audio formats such
  as OGG Vorbis and MP3, or to GNU Lilypond for an alternative layout and
  print option.
  .
  MuseScore can upload scores to musescore.com, a score sharing site, and
  send scrolling sheet music videos to YouTube. In addition to the desktop
  software, you can rehearse “on the go” with MuseScore mobile apps (which
  do not support note entry, but many advanced playback functions). Note
  that all of these are commercial or otherwise non-free offers optionally
  integrated with, but not part of, the Free notation program. Scrolling
  video scores feature the notes highlighted in the score as they sound —
  and highlighted on a virtual piano keyboard below. 

MuseScore 3 on WSL

I wanted to install MuseScore 3 on WSL/Ubuntu. The procedure was the same as for native Ubuntu:

Shell
$ yes | sudo apt install musescore3

Making it work on Ubuntu/WSL with a 4K monitor was a challenge, however.

For HiDpi screens, it is important to know that MuseScore3 uses QT5. Later versions of QT have better support for 4K monitors.

MuseScore3 stores configuration info in ~/.config/MuseScore/MuseScore3.ini

GWSL is required. I found that the MuseScore3 signon graphic filled the screen and was always on top. It was difficult to terminate the program.

Making a GWSL launch configuration with QT Scale mode set to 1 was important. See also other HiDpi settings for QT.

Shell
$ man mscore3
MSCORE3(1)              General Commands Manual             MSCORE3(1)
NAME mscore3, musescore3 — MuseScore 3 sheet music editor
SYNOPSIS mscore3 [-deFfhIiLmnOPRstvw] [-a | --use-audio driver] [-b | --bitrate bitrate] [-c | --config-folder pathname] [-D | --monitor-resolution DPI] [-E | --install-extension extension file] [-j | --job file.json] [-M | --midi-operations file] [-o | --export-to file] [-p | --plugin name] [-r | --image-resolution DPI] [-S | --style style] [-T | --trim-image margin] [-x | --gui-scaling factor] [--debug] [--diff] [--dump-midi-in] [--dump-midi-out] [--experimental] [--export-score-parts] [--factory-settings] [--force] [--help] [--layout-debug] [--load-icons] [--long-version] [--new-score] [--no-fallback-font] [--no-midi] [--no-synthesizer] [--no-webview] [--raw-diff] [--revert-settings] [--run-test-script] [--score-media] [--score-mp3] [--score-parts-pdf] [--template-mode] [--test-mode] [--version] [file ...]
DESCRIPTION MuseScore is a Free and Open Source WYSIWYG cross‐platform multi‐lingual music composition and notation software, released under the GNU General Public Licence (GPLv2).
Running mscore3 without any extra options launches the full graphical MuseScore program and opens any files specified on the command line.
The options are as follows:
-a | --use-audio driver Use audio driver: one of jack, alsa, portaudio, pulse
-b | --bitrate bitrate Set MP3 output bitrate in kbit/s
-c | --config-folder pathname Override configuration and settings directory
-D | --monitor-resolution DPI Specify monitor resolution (override autodetection)
-d | --debug Start MuseScore in debug mode
-E | --install-extension extension file Install an extension file; soundfonts are loaded by de‐ fault unless -e is also specified
-e | --experimental Enable experimental features, such as layers
-F | --factory-settings Use only the standard built‐in presets (“factory settings”) and delete user preferences; compare with the -R option
-f | --force Ignore score corruption and version mismatch warnings in “converter mode”
-h | --help Display an overview of invocation instructions
-I | --dump-midi-in Display all MIDI input on the console
-i | --load-icons Load icons from the filesystem; useful if you want to edit the MuseScore icons and preview the changes
-j | --job file.json Process a conversion job (see “EXAMPLES” below)
-L | --layout-debug Start MuseScore in layout debug mode
-M | --midi-operations file Specify MIDI import operations file (see “EXAMPLES” be‐ low)
-m | --no-midi Disable MIDI input
-n | --new-score Start with the New Score wizard regardless whether it’s enabled or disabled in the user preferences
-O | --dump-midi-out Display all MIDI output on the console
-o | --export-to file Export the given (or currently opened) file to the specified output file. The file type depends on the extension of the filename given. This option switches to “converter mode” and avoids the graphical user in‐ terface.
-P | --export-score-parts When converting to PDF with the -o option, append each part’s pages to the created PDF file. If the score has no parts, all default parts will temporarily be gener‐ ated automatically.
-p | --plugin name Execute the named plugin
-R | --revert-settings Use only the standard built‐in presets (“factory settings”) but do not delete user preferences; compare with the -F option
-r | --image-resolution DPI Set image resolution for conversion to PNG files.
Default: 300 DPI (actually, the value of “Resolution” of the PNG option group in the Export tab of the pref‐ erences)
-S | --style style Load a style file first; useful for use with the -o op‐ tion
-s | --no-synthesizer Disable the integrated software synthesiser
-T | --trim-image margin Trim exported PNG and SVG images to remove whitespace surrounding the score. The specified margin, in pix‐ els, will be retained (use 0 for a tightly cropped im‐ age). When exporting to SVG, this option only works with single‐page scores.
-t | --test-mode Set test mode flag for all files
-v | --version Display the name and version of the application without starting the graphical user interface
-w | --no-webview Disable the web view component in the Start Centre
-x | --gui-scaling factor Scale the score display and other GUI elements by the specified factor; intended for use with high‐resolution displays
--diff Print a conditioned diff between the given scores
--long-version Display the full name, version and git revision of the application without starting the graphical user inter‐ face
--no-fallback-font Don’t use Bravura as fallback musical font
--raw-diff Print a raw diff between the given scores
--run-test-script Run script tests listed in the command line arguments
--score-media Export all media (except MP3) for a given score as a single JSON document to stdout
--score-mp3 Generates an MP3 for the given score and exports it as a single JSON document to stdout
--score-parts-pdf Generates parts data for the given score and exports it as a single JSON document to stdout
--template-mode Save files in template mode (e.g. without page sizes)
MuseScore supports the automatic Qt command line options (see below).
Batch conversion job JSON format The argument to the -j option must be the pathname of a file comprised of a valid JSON document honouring the following specification:
• The top‐level element must be a JSONArray, which may be empty.
• Each array element must be a JSONObject with the following keys:
in Value is the name of the input file (score to con‐ vert), as JSONString.
plugin Value is the filename of a plugin (with the .qml extension), which will be read from either the global or per‐user plugin path and executed before the conversion output happens, as JSONString. Op‐ tional, but at least one of plugin and out must be given.
out Value is the conversion output target, as defined below. Optional, but at least one of plugin and out must be given.
• The conversion output target may be a filename (with exten‐ sion, which decided the format to convert to), as JSON‐ String.
• The conversion output target may be a JSONArray of file‐ names as JSONString, as above, which will cause the score to be written to multiple output files (in multiple output formats) sequentially, without being closed, re‐opened and re‐processed in between.
• If the conversion output target is a JSONArray, one or more of its elements may also be, each, a JSONArray of two JSON‐ Strings (called first and second half in the following de‐ scription). This will cause part extraction: for each such two‐tuple, all extant parts of the score will be saved individually, with filenames being composed by concatenat‐ ing the first half, the name (title) of the part, and the second half. The resulting string must be a valid filename (with extension, determining the output format). If a score has no parts (excerpts) defined, this will be silently ignored without error.
• Valid file extensions for output are:
flac Free Lossless Audio Codec (compressed audio)
metajson various score metadata (JSON)
mid standard MIDI file
mlog internal file sanity check log (JSON)
mp3 MPEG Layer III (lossy compressed audio)
mpos measure positions (XML)
mscx uncompressed MuseScore file
mscz compressed MuseScore file
musicxml uncompressed MusicXML file
mxl compressed MusicXML file
ogg OGG Vorbis (lossy compressed audio)
pdf portable document file (print)
png portable network graphics (image)
Individual files, one per score page, with a hy‐ phen‐minus followed by the page number placed be‐ fore the file extension, will be generated.
spos segment positions (XML)
svg scalable vector graphics (image)
wav RIFF Waveform (uncompressed audio)
xml uncompressed MusicXML file
See below for an example.
ENVIRONMENT SKIP_LIBJACK Set this (the value does not matter) to skip initiali‐ sation of the JACK Audio Connection Kit library, in case it causes trouble.
XDG_CONFIG_HOME User configuration location; defaults to ~/.config if unset.
XDG_DATA_HOME User data location; defaults to ~/.local/share if un‐ set.
XDG_DOCUMENTS_DIR Location of works the user created with the applica‐ tion; defaults to ~/Documents (or a localised version) and can be set in $XDG_CONFIG_HOME/user‐dirs.dirs.
Note that MuseScore also supports the normal Qt environment variables such as QT_QPA_GENERIC_PLUGINS, QT_QPA_PLATFORM, QT_QPA_PLATFORMTHEME, QT_QPA_PLATFORM_PLUGIN_PATH, QT_STYLE_OVERRIDE, DISPLAY, etc.
FILES /usr/share/mscore3‐3.2/ contains the application support data (demos, instruments, localisation, system‐wide plugins, sound‐ fonts, styles, chords, templates and wallpapers). In the De‐ bian packages, system‐wide soundfonts are installed into /usr/share/sounds/sf2/, /usr/share/sounds/sf3/ or /usr/share/sounds/sfz/, respectively, instead.
The per‐user data (extensions, plugins, soundfonts, styles, templates) and files (images, scores) are normally installed into subdirectories under $XDG_DOCUMENTS_DIR/MuseScore3/ but may be changed in the configuration. Note that snapshot, alpha and beta versions use MuseScore3Development instead of MuseScore3 in all of these paths.
$XDG_CONFIG_HOME/MuseScore/MuseScore3.ini contains the user preferences, list of recently used files and their locations, window sizes and positions, etc. See above for development version paths.
$XDG_DATA_HOME/MuseScore/MuseScore3/ contains updated localisa‐ tion files downloaded from within the program, plugin informa‐ tion, cached scores, credentials for the musescore.com commu‐ nity site, session information, synthesiser settings, custom key and time signatures and shortcuts. See above for develop‐ ment version paths.
EXAMPLES Convert a score to PDF from the command line:
mscore3 -o 'My Score.pdf' 'My Score.mscz'
Run a batch job converting multiple documents:
mscore3 -j job.json
This requires the file job.json in the current working direc‐ tory to have content similar to the following:
[ { "in": "Reunion.mscz", "out": "Reunion-coloured.pdf", "plugin": "colornotes.qml" }, { "in": "Reunion.mscz", "out": [ "Reunion.pdf", [ "Reunion (part for ", ").pdf" ], "Reunion.musicxml", "Reunion.mid" ] }, { "in": "Piece with excerpts.mscz", "out": [ "Piece with excerpts (Partitura).pdf", [ "Piece with excerpts (part for ", ").pdf" ], "Piece with excerpts.mid" ] } ]
The last part of the job would, for example, cause files like “Piece with excerpts (part for Violin).pdf” to be generated alongside the conductor’s partitura and a MIDI file with the full orchestra sound, whereas the equivalent part of the Re‐ union conversion will be silently ignored (because the Reunion piece (a MuseScore demo) has no excerpts defined).
https://musescore.org/sites/musescore.org/files/midi_import_options_0.xml is a sample MIDI import operations file for the -M option.
DIAGNOSTICS The mscore3 utility exits 0 on success, and >0 if an error oc‐ curs.
SEE ALSO fluidsynth(1), midicsv(1), timidity(1), qtoptions(7)
https://musescore.org/handbook Online Handbook, full user manual
https://musescore.org/forum Support Forum
https://musescore.org/handbook/command-line-options-0 Further documentation of command line options
https://musescore.org/handbook/revert-factory-settings-0 Reverting to factory settings (troubleshooting)
https://musescore.org/project/issues Project Issue Tracker
Please check first to if the bug you’re encountering has already been reported. If you just need help with something, then please use the support forum (see above) instead.
http://doc.qt.io/qt-5/qguiapplication.html#supported-command-line-options Documentation of automatic Qt command line options
STANDARDS MuseScore attempts to implement the following standards:
• MusicXML 3.1 (score interchange format)
• SF2 (SoundFont 2.01)
• SF3 (SoundFont with OGG Vorbis‐compressed samples)
• SFZ (Sforzato soundfont)
• SMuFL (Standard Music Font Layout 1.20)
HISTORY MuseScore was split off the MusE sequencer in 2002 and has since become the foremost Open Source notation software.
AUTHORS MuseScore is developed by Werner Schweer and others.
This manual page was written by mirabilos <tg@debian.org>.
CAVEATS The automatic Qt command line options are removed from the ar‐ gument vector before the application has a chance at option processing; this means that an invocation like
mscore3 -S -reverse
has no chance at working because the -reverse is removed by Qt first.
BUGS MuseScore does not honour /etc/papersize.
Probably some more; check the project’s bug tracker (cf. “SEE ALSO”).
MuseScore March 20, 2019 MSCORE3(1)


* indicates a required field.

Please select the following to receive Mike Slinn’s newsletter:

You can unsubscribe at any time by clicking the link in the footer of emails.

Mike Slinn uses Mailchimp as his marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices.