MSCORE(1)

πŸ’– MSCORE(1) β€” MuseScore 4, the sheet music editor bestie πŸ’–

okay so, welcome to the manual for mscore / musescore, aka MuseScore 4 sheet music editor. General Commands Manual energy. pull up a chair, grab a boba, we're doing this πŸ’…


✨ NAME ✨

mscore, musescore β€” MuseScore 4 sheet music editor 🎼


✨ SYNOPSIS ✨

mscore [-deFfhIiLmnOPRstvw] [-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] [--raw-diff]
       [--revert-settings] [--run-test-script] [--save-online]
       [--score-media] [--highlight-config] [--score-mp3]
       [--score-parts] [--score-parts-pdf] [--score-transpose]
       [--template-mode] [--test-mode] [--transpose] [--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). no cap, it's the whole package 🫢

If you just run mscore with zero extra options, it launches the full graphical MuseScore program and opens whatever files you tossed on the command line. main character entrance, honestly ✨

The options are as follows, and yes bestie, we're going through all of them:

  • -b | --bitrate bitrate β€” sets the MP3 output bitrate, in kbit/s 🎧
  • -c | --config-folder pathname β€” overrides the configuration and settings directory, like, "not here, over there" πŸ“
  • -D | --monitor-resolution DPI β€” specify your monitor resolution (this one overrides autodetection) πŸ–₯️
  • -d | --debug β€” starts MuseScore in debug mode πŸ›
  • -E | --install-extension extension file β€” installs an extension file; soundfonts get loaded by default unless you also pass -e πŸ’Ύ
  • -e | --experimental β€” turns on experimental features, such as layers πŸ§ͺ
  • -F | --factory-settings β€” reverts everything β€” all settings, shortcuts, workspaces, extensions, translations, etc. β€” back to factory defaults; go compare it with the -R option before you do anything drastic 😭
  • -f | --force β€” ignores score corruption and version mismatch warnings in β€œconverter mode” πŸ™ˆ
  • -h | --help β€” shows you an overview of the invocation instructions πŸ“–
  • -I | --dump-midi-in β€” displays all MIDI input on the console 🎹
  • -i | --load-icons β€” loads icons from the filesystem; literally so useful if you wanna edit the MuseScore icons and preview your changes 🎨
  • -j | --job file.json β€” processes a conversion job (peep β€œEXAMPLES” below) πŸ“‹
  • -L | --layout-debug β€” starts MuseScore in layout debug mode πŸ“
  • -M | --midi-operations file β€” specifies a MIDI import operations file (again, see β€œEXAMPLES” below) 🎡
  • -m | --no-midi β€” disables MIDI input 🚫
  • -n | --new-score β€” starts with the New Score wizard, no matter whether it's enabled or disabled in your user preferences ✨
  • -O | --dump-midi-out β€” displays all MIDI output on the console πŸ”Š
  • -o | --export-to file β€” exports the given (or currently opened) file to the output file you named. The file type depends on the extension of the filename you gave. Heads up: this option switches to β€œconverter mode” and skips the graphical user interface entirely πŸ‘‹
  • -P | --export-score-parts β€” when converting to PDF with the -o option, appends each part's pages to the created PDF file. And if the score has no parts at all? All the default parts get temporarily generated automatically. iconic behaviour πŸ’…
  • -p | --plugin name β€” executes the named plugin πŸ”Œ
  • -R | --revert-settings β€” reverts user preferences to factory default but retains shortcuts, workspaces, extensions, translations, etc.; compare this with -F ♻️
  • -r | --image-resolution DPI β€” sets the image resolution for conversion to PNG files πŸ–ΌοΈ

Default: 360 DPI (actually, the value of β€œResolution” of the PNG option group in the Export tab of the preferences)

  • -S | --style style β€” loads a style file first; super useful alongside the -o option πŸ’„
  • -s | --no-synthesizer β€” disables the integrated software synthesiser πŸ”‡
  • -T | --trim-image margin β€” trims exported PNG and SVG images to remove the whitespace surrounding the score. The margin you specify, in pixels, gets retained (use 0 for a tightly cropped image). And ngl, when exporting to SVG this option only works with single-page scores βœ‚οΈ
  • -t | --test-mode β€” sets the test mode flag for all files πŸ§ͺ
  • -v | --version β€” displays the name and version of the application without starting the graphical user interface ℹ️
  • -x | --gui-scaling factor β€” scales the score display and other GUI elements by the specified factor; intended for use with high-resolution displays πŸ”
  • --diff β€” prints a conditioned diff between the given scores πŸ”€
  • --long-version β€” displays the full name, version and git revision of the application without starting the graphical user interface 🌈
  • --no-fallback-font β€” don't use Bravura as fallback musical font 🎢
  • --raw-diff β€” prints a raw diff between the given scores πŸ“Š
  • --run-test-script β€” runs script tests listed in the command line arguments πŸƒ
  • --save-online β€” uploads score(s) to its source URL. There must already be an online score at that URL, and the user must be signed-in to the account it belongs to. The online score will be replaced with the uploaded file, but the title and description of the online score's webpage will not change ☁️
  • --score-media β€” exports all media (except MP3) for a given score as a single JSON document to stdout πŸ“¦
  • --highlight-config β€” sets highlight to svg, generated from a given score πŸ–οΈ
  • --score-mp3 β€” generates an MP3 for the given score and exports it as a single JSON document to stdout 🎧
  • --score-parts β€” generates parts data for the given score and saves them to separate mscz files πŸ—‚οΈ
  • --score-parts-pdf β€” generates parts data for the given score and exports it as a single JSON document to stdout πŸ“„
  • --score-transpose β€” transposes the given score and exports the data to a single JSON file, printing it to stdout 🎚️
  • --template-mode β€” saves files in template mode (e.g. without page sizes) πŸ“
  • --transpose β€” transposes the given score (only if the -o option is also set), then exports the given file in accordance with the -o option πŸ”„

MuseScore supports the automatic Qt command line options (see below). πŸ™


πŸŽ€ Batch conversion job JSON format πŸŽ€

The argument to the -j option has to be the pathname of a file made of a valid JSON document that honours this spec, bestie:

  • 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 convert), 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. Optional, 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.
    • transpose β€” value is a JSONString with the transposing options. Optional.
  • The conversion output target may be a filename (with extension, which decided the format to convert to), as JSONString.
  • The conversion output target may be a JSONArray of filenames 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. efficiency, we love to see it ✨
  • If the conversion output target is a JSONArray, one or more of its elements may also be, each, a JSONArray of two JSONStrings (called first half and second half in the following description). 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 concatenating 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
    • midi β€” standard MIDI file
    • mlog β€” internal file sanity check log (JSON)
    • mp3 β€” MPEG Layer III (lossy compressed audio)
    • mpos β€” measure positions (XML)
    • mscz β€” MuseScore File
    • mscx β€” MuseScore Uncompressed File
    • mscs β€” MuseScore Uncompressed 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 hyphen-minus followed by the page number placed before 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 initialisation of the JACK Audio Connection Kit library, in case it causes trouble. just a little "no thank you" to JACK πŸ™…
  • XDG_CONFIG_HOME β€” user configuration location; defaults to ~/.config if unset.
  • XDG_DATA_HOME β€” user data location; defaults to ~/.local/share if unset.
  • XDG_DOCUMENTS_DIR β€” location of works the user created with the application; defaults to ~/Documents (or a localised version) and can be set in $XDG_CONFIG_HOME/user-dirs.dirs.
ngl, 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 πŸ“

okay so file locations, bestie β€” this is where everything lives. /usr/share/mscore-4.7/ contains the application support data (demos, instruments, localisation, system-wide plugins, soundfonts, styles, chords, templates and wallpapers). In the Debian packages, system-wide soundfonts are installed into /usr/share/sounds/sf2/, /usr/share/sounds/sf3/ or /usr/share/sounds/sfz/, respectively, instead. periodt πŸ’…

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. iykyk ✨

$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. lowkey crucial πŸŽ€

$XDG_DATA_HOME/MuseScore/MuseScore3/ contains updated localisation files downloaded from within the program, plugin information, cached scores, credentials for the musescore.com community site, session information, synthesiser settings, custom key and time signatures and shortcuts. See above for development version paths. slay πŸ¦‹

✨ EXAMPLES ✨

Convert a score to PDF from the command line:

mscore -o 'My Score.pdf' 'My Score.mscz'

Transpose, then convert a score to PDF from the command line:

-o 'My Transposed Score.pdf' --transpose '{"mode": "by_interval",
"direction": "up", "transposeInterval": 12,
"transposeKeySignatures": true}' 'My Score.mscz'

Transpose to another score from the command line:

-o 'My Transposed Score.mscz' --transpose '{"mode": "diatonically",
"direction": "down", "transposeInterval": 3,
"useDoubleSharpsFlats": true}' 'My Score.mscz'

Run a batch job converting multiple documents:

mscore -j job.json

This requires the file job.json in the current working directory 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": "Reunion.mscz",
    "out": "Reunion-transposed.mscz",
    "transpose":
        {
          "mode": "by_interval",
          "direction": "up",
          "transposeInterval": 12,
          "transposeKeySignatures": true
        }
  },
  {
    "in": "Reunion.mscz",
    "out": "Reunion-transposed.pdf",
    "transpose":
        {
          "mode": "diatonically",
          "direction": "down",
          "transposeInterval": 2,
          "useDoubleSharpsFlats": true
        }
  },
  {
    "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 Reunion conversion will be silently ignored (because the Reunion piece (a MuseScore demo) has no excerpts defined). the way that works 😭

https://musescore.org/sites/musescore.org/files/midi_import_options_0.xml is a sample MIDI import operations file for the -M option. bookmark it πŸ”₯

🩺 DIAGNOSTICS 🩺

The mscore utility exits 0 on success, and >0 if an error occurs. simple as βœ…

πŸ‘€ SEE ALSO πŸ‘€

go read, bestie πŸ“š

πŸ† STANDARDS πŸ†

MuseScore attempts to implement the following standards:

  • MusicXML 4.0 (score interchange format)
  • SF2 (SoundFont 2.01)
  • SF3 (SoundFont with OGG Vorbis-compressed samples)
  • SMuFL (Standard Music Font Layout 1.4)

standards slay 🌈

πŸ“œ HISTORY πŸ“œ

MuseScore was split off the MusE sequencer in 2002 and has since become the foremost Open Source notation software. iconic behavior πŸ‘‘

✍️ AUTHORS ✍️

MuseScore is developed by MuseScore Limited.

This manual page was written by mirabilos <tg@debian.org>. thank you for your service 🫢

⚠️ CAVEATS ⚠️

The automatic Qt command line options are removed from the argument vector before the application has a chance at option processing; this means that an invocation like

mscore -S -reverse

has no chance at working because the -reverse is removed by Qt first. tragic πŸ’€

πŸ› BUGS πŸ›

MuseScore does not honour /etc/papersize.

Probably some more; check the project's bug tracker (cf. β€œSEE ALSO”). go look πŸ™ˆ


And that's the whole page, bestie 🫢 β€” source/version is MuseScore, dated November 6, 2020, and it's MSCORE(1) energy. Stay slay πŸ’…βœ¨

πŸ“¦ where this page comes from
  • fedora 44: musescore 4.7.5-3.fc44 Β· GPL-3.0-only WITH Font-exception-2.0 AND GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND GPL-3.0-or-later AND LGPL-3.0-only AND LGPL-2.1-or-later AND MIT AND BSD-2-Clause AND (Unlicense OR MIT)
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms