Music notation and composition software
MuseScore is an open source and free music notation software. For support, contribution, and bug reports visit MuseScore.org. Fork and make pull requests!
- 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
- MuseData import
- MIDI input for note entry
- Integrated sequencer and software synthesizer to play the score
- Print or create pdf files
MuseScore is licensed under GPL version 3.0. See license file in the same directory.
Read the Compilation section of the MuseScore Wiki for a complete build walkthrough and a list of dependencies.
If using git to download repo of entire code history, type:
git clone https://github.com/musescore/MuseScore.git
cd MuseScore
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
To compile MuseScore for release, type:
cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release
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.
To start MuseScore, type:
cmake -P build.cmake -DCMAKE_BUILD_TYPE=Release run
Or run the compiled executable directly.
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.
See the Unit tests section of the MuseScore Wiki for instructions on how to run the test suite.
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
.