Wrapping up Google Summer of Code 2016

• Sep 27, 2016 - 19:10

On August 30, it was the end of Google Summer of Code 2016. Google announced over a thousand successful projects and for MuseScore’s third participation, we are extremely happy with the results. We had four students working on several exciting projects for three months. Read further to learn about the results of their summer coding.

Semi-realtime MIDI note entry

MuseScore 2 lets you enter music with the mouse, the computer keyboard or a MIDI piano keyboard. With all of those methods, you need to select the note or rest duration first with your computer keyboard or mouse before entering the chord or the notes you want, even if you then use the MIDI keyboard to specify the pitch of the note. Peter “shoogle” Jonas took up the challenge to improve this and implemented three new ways to enter music in MuseScore, one of which is essentially to play the part on your keyboard with a metronome and watch it be converted to sheet music as you go. To learn more, watch Peter walking you through the new semi real-time MIDI mode, read his summer blog, or test it out in the nightly builds* — click the little arrow next to the N icon in the toolbar.

Improving default playback

Johannes “hpfmn” Wegener wanted to improve MuseScore’s playback capabilities. First he greatly improved the SFZ synthesizer embedded in MuseScore called Zerberus. Before the summer, Zerberus was barely able to play the excellent Salamander Piano bank; now it has been tested with hundreds of free SFZ libraries. You can test it yourself with a nightly* by loading your SFZs into MuseScore via View > Synthesizer > Zerberus, and these improvements will even be in MuseScore 2.0.4 (if and when it happens). SFZ is a lot more versatile and powerful than SF2 SoundFonts. Hopefully Johannes’ efforts pave the way for more high quality free and open source SFZ libraries.

Quality sounds and a more powerful file format to describe them is a mandatory step towards better playback, but MuseScore also needed to understand better some markings on the score. It needs to know how a crescendo on a single note that lasts several measures is played on a violin, or how a slur is played with a flute or a piano. In order to teach MuseScore all these rules, Johannes added a new concept called “Soundbanks”. He explains it in the following video and his blog. It’s still work in progress and not yet available in nightlies*.

Voice to part tool and extended Implode/Explode tool

MuseScore 2 allows linked parts, where you create the score, create parts and any modification in the score is also made in the part and vice versa. However, currently if you have a score with Soprano and Alto lines (for instance) combined on one staff, there is no way to link these voices to two separate parts for Soprano and Alto.

This summer, Felix “RocketOne” Brauchle’s challenge was to solved this problem and he managed! You can try this feature in nightly builds*.

Felix also greatly improved the existing Implode/Explode tools, which will be found under the Tools menu. In MuseScore 2, these tools allow you to explode voice 1 chords onto multiple staves, implode voice 1 from multiple staves into a single staff, and implode voices within a single staff, if they have similar rhythms, to voice 1 chords. Felix made the tools smart enough to handle almost any number and combination of voices in the best way you could expect. These tools should now make it easier to create a piano reduction from a choral score, or a choral score from a piano score, for example.

You can read all the details in Felix’s blog. His code is not yet entirely in the nightlies* but it will be reviewed and merged in the coming weeks.


Ruchit “shredpub” Agrawal had big goals to support annotations in MuseScore. His initial plans included text, range annotation, shapes and the ability to customize and hide annotations. He successfully implemented two annotation features, under the Add > Annotations menu: a new kind of text for Annotations, and a way to add colored highlights to selected notes or measures.

You can read all the details in his blog. His work could be the foundation for a proper annotation support in MuseScore but it’s still in its early stage.


First congratulations to the successful students and thank you to all people involved, mentors and students.

With the results of these four projects, we hope that you will be able to write the sheet music you want faster, that you will have more powerful tools at your fingertips, and that MuseScore will be easier to use. MuseScore’s admins and mentors were delighted to be a part of Google Summer of Code this year, and we all hope to have the opportunity to participate in this program again. Thomas, maybe Marc, and I will be attending the GSoC summit at the end of October to share our experience with fellow open source project participants.

* What’s a nightly? you might ask. For every new change made to MuseScore code, a new version of MuseScore is created and made available for you to test. Nightlies can be downloaded from the download page and feedback is welcome in the Technology Preview forum


There's a problem with the link to Felix' blog:"You can read all the details in Felix’s blog."
It points to this page (Wrapping up Google Summer of Code 2016), not to the blog.

I am glad I was able to participate as a mentor, and am thrilled to see all the code that was produced as a result of GSoC. Congratulations to all involved!

Unfortunately I will not be able to attend the summit - it seems Google keeps picking the same weekend as an annual jazz festival I am involved with, and it's just too stressful to attempt to do a partial job of both.

In reply to by AU86F4RQ

Soundbanks will make it a little bit easier to access specific features of the cinesample sounds if someone takes the time to create a specific soundbank file for each of the cinesample library. However, it will still require Jack to communicate with the Kontakt player used by Cinesample. So, basically, it should already be possible to use MuseScore 2 with Cinesample and Jack. Soundbanks should make it a bit easier, that's all.

In reply to by izzychns

The answer you're likely to get from the actual people doing the coding is "When it's ready." From my understanding, there is still a lot of work that needs to be done before the program is even open for beta-testing. If you can't wait for the release and don't already do so, consider downloading and running a Nightly Build to try out the new features and help squash the bugs.
~Happy trails, Flyingninja77

Can't wait to see the "Voice to part tool" in action. For creating rehearsal sound tracks it was always a bit of pain to split the voices to create separate MP3s and this seems to be very promising. Thank you very much for all the effort!!

these improvements will even be in MuseScore 2.0.4 (if and when it happens)

How much weight does the "if" have vs. the "when?

Do you still have an unanswered question? Please log in first to post your question.