Wrapping up Google Summer of Code 2016
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.
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.
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