Tuesday, December 31, 2013

musescore - sheet music on linux

Recently I was helping a friend who had written a song. We wanted to produce some sheet music so I though it would be worth checking out any open source music authoring software.

Many years ago I looked at software in this space and some promised much but in the end, none seemed to deliver on any front. At that time, shareware windows software was all that could be found.

This search was a lot more successful. It did not take me long to find MuseScore. This is a cross platform, open source sheet music editor (with playback). The windows version worked out of the box and we soon had the basics mastered; chords, notes, repeats, lyrics etc.

My next instinct was to get it to work on Linux, specifically CentOS-6. After installing a few requirements from rpmforge, I had the code compiled and running (with just a few minor bugs). Once I know that it worked, I wanted to make an RPM. Unfortunately, musescore (or mscore as it is called under Linux) uses an unusual build procedure based on cmake. Adding that into an RPM seemed a little daunting so I found the closest thing I could on the internet to use as a starting point.

Opensuse has an RPM but it would not build on CentOS. After a few simple tweaks I had the package building but it was not being packaged correctly. The %makeinstall macro was trying to install files into the filesystem and not the package buildroot. After much internet searching and testing, I found the answer (which is quite simple. So simple I don't know why no one had written it down before).

The same as you might use for a normal Makefile, just set the DESTDIR environment variable. My %install now has:
export DESTDIR=%{buildroot}
cd build && %makeinstall

And with a few more minor tweaks I had the RPM finished.

Now I just have a few issues to sort out with playback on Linux. musescore does not like the default ALSA settings or ALSA devices (like my USB headset) disappearing and reappearing when I suspend and resume. Portaudio might fix that but it does not seem to work on my home machine.  The topic for another blog no doubt.


  1. The article you have shared here very awesome. I really like and appreciated your work. I read deeply your article, the points you have mentioned in this article are useful
    gun mayhem 2

  2. This comment has been removed by the author.

  3. Thanks a lot for giving everyone an extraordinarily memorable opportunity to read from this web site. It is always very cool and as well , packed with a good time for me and my office co-workers to visit your website on the least three times
    in 7 days to see the newest issues you will have.

    go to cineblog01

  4. great article, I was very impressed about it, wish you would have stayed next share
    kiss manga

  5. Linux รจ un buon sistema operativo, ascolto spesso musica su questa piattaforma e ascolto musica in: https://suonerietelefono.com
    Collezione musicale con impostazioni di suoneria gratuite!
    scarica suoneria per iPhone gratuitamente qui
    scarica suoneria per samsung gratuitamentequi
    scarica suoneria per huawei gratuitamente qui
    scarica effetti sonori mp3 gratuitamente qui

  6. I love all posts, I really liked it, I would like more information about it, because it's very cool Play basketball shotball cool math game. Thanks for sharing.