musescore/MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!

15,084

stars

48,221

commits

C++

primary language

Sep 11, 2026

updated

musescore.org
cpp
musescore
music-notation
musicxml
qt
sfz
sheet-music
sheetmusic

README

MuseScore Studio

Music notation and composition software

License: GPL v3 Coverage

MuseScore Studio is an open source and free music notation software. For support, contribution, and bug reports visit MuseScore.org. Fork and make pull requests!

Features

  • WYSIWYG design, notes are entered on a "virtual notepaper"
  • TrueType font(s) for printing & display allows for high quality scaling to all sizes
  • Easy & fast note entry
  • Many editing functions
  • MusicXML import/export
  • MIDI (SMF) import/export
  • MEI import/export
  • MuseData import
  • MIDI input for note entry
  • Integrated sequencer and software synthesizer to play the score
  • Print or create PDF files

More info

License

MuseScore Studio is licensed under GPL version 3.0. See license file in the same directory.

Packages

See Code Structure on Wiki

Building

Read the Compilation section of the MuseScore Wiki for a complete build walkthrough and a list of dependencies.

Getting sources

If using git to download repo of entire code history, type:

git clone  --recurse-submodules https://github.com/musescore/MuseScore.git
cd MuseScore

(The --recurse-submodules ensures that the muse_framework git submodule is checked out into the muse/ subdirectory.)

Otherwise, you can just download the latest source release tarball from the Releases page, and then from your download directory type:

tar xzf MuseScore-x.x.x.tar.gz
cd MuseScore-x.x.x

Release Build

To compile MuseScore Studio for release, type:

cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release

On MacOS, append -G Ninja in order to use the ninja build tool (which you may need to install), since this is required to compile Swift components.

If something goes wrong, append the word "clean" to the above command to delete the build subdirectory:

cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release clean

Then try running the first command again.

Running

To start MuseScore Studio, type:

cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release run

Or run the compiled executable directly.

Debug Build

A debug version can be built and run by replacing -DCMAKE_BUILD_TYPE=Release with -DCMAKE_BUILD_TYPE=Debug in the above commands.

If you omit the -DCMAKE_BUILD_TYPE option entirely then RelWithDebInfo is used by default, as it provides a useful compromise between Release and Debug.

Testing

See the Unit tests section of the MuseScore Studio Wiki for instructions on how to run the test suite.

Code Formatting

Run ./hooks/install.sh to install a pre-commit hook that will format your staged files. Requires that you install uncrustify.

If you have problems, please report them. To uninstall, run ./hooks/uninstall.sh.

Contributors

(top 30 of 352)

RomanPudashkin

5,626 commits

cbjeukendrup

5,016 commits

lasconic

4,712 commits

wschweer

3,517 commits

musescore/MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!

15,084

stars

48,221

commits

C++

primary language

Sep 11, 2026

updated

musescore.org
cpp
musescore
music-notation
musicxml
qt
sfz
sheet-music
sheetmusic

README

MuseScore Studio

Music notation and composition software

License: GPL v3 Coverage

MuseScore Studio is an open source and free music notation software. For support, contribution, and bug reports visit MuseScore.org. Fork and make pull requests!

Features

  • WYSIWYG design, notes are entered on a "virtual notepaper"
  • TrueType font(s) for printing & display allows for high quality scaling to all sizes
  • Easy & fast note entry
  • Many editing functions
  • MusicXML import/export
  • MIDI (SMF) import/export
  • MEI import/export
  • MuseData import
  • MIDI input for note entry
  • Integrated sequencer and software synthesizer to play the score
  • Print or create PDF files

More info

License

MuseScore Studio is licensed under GPL version 3.0. See license file in the same directory.

Packages

See Code Structure on Wiki

Building

Read the Compilation section of the MuseScore Wiki for a complete build walkthrough and a list of dependencies.

Getting sources

If using git to download repo of entire code history, type:

git clone  --recurse-submodules https://github.com/musescore/MuseScore.git
cd MuseScore

(The --recurse-submodules ensures that the muse_framework git submodule is checked out into the muse/ subdirectory.)

Otherwise, you can just download the latest source release tarball from the Releases page, and then from your download directory type:

tar xzf MuseScore-x.x.x.tar.gz
cd MuseScore-x.x.x

Release Build

To compile MuseScore Studio for release, type:

cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release

On MacOS, append -G Ninja in order to use the ninja build tool (which you may need to install), since this is required to compile Swift components.

If something goes wrong, append the word "clean" to the above command to delete the build subdirectory:

cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release clean

Then try running the first command again.

Running

To start MuseScore Studio, type:

cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release run

Or run the compiled executable directly.

Debug Build

A debug version can be built and run by replacing -DCMAKE_BUILD_TYPE=Release with -DCMAKE_BUILD_TYPE=Debug in the above commands.

If you omit the -DCMAKE_BUILD_TYPE option entirely then RelWithDebInfo is used by default, as it provides a useful compromise between Release and Debug.

Testing

See the Unit tests section of the MuseScore Studio Wiki for instructions on how to run the test suite.

Code Formatting

Run ./hooks/install.sh to install a pre-commit hook that will format your staged files. Requires that you install uncrustify.

If you have problems, please report them. To uninstall, run ./hooks/uninstall.sh.

Contributors

(top 30 of 352)

RomanPudashkin

5,626 commits

cbjeukendrup

5,016 commits

lasconic

4,712 commits

wschweer

3,517 commits

Languages

C++

71.1%

CartoCSS

17.9%

QML

6.3%

C

1.9%

CMake

1.1%