Our Progress on MuseScore 4

• Apr 12, 2021 - 13:56

[Edited for clarity: 14, June, 2021]

Hi everyone,

I wanted to give a general update about the remaining work left on MuseScore 4. We've recreated most of the new interface and functionality now and have ported over most of the MuseScore 3 functionality too. Now we feel it is possible to begin mapping out a draft release schedule, although there are still some large chunks of work that are hard to estimate so this timeline may change (hopefully by getting shorter!). In addition, I want to describe what aspects of the application we are planning on delaying until a future release (4.1, 4.2, etc.).

Playback

The single largest piece of remaining work relates to playback. The 'primary' Fluid synthesiser will remain the default, as is the case with MuseScore 3 but we will be removing the the 'secondary' Zerberus sampler/synthesiser and replacing it with VST support (Zerberus is incompatible with the GPL3 license, which we needed to switch to in order to support VST3). We are also developing an optional sound library that will not be packaged with MuseScore, which can be downloaded and activated (for free) once the application has been installed. We will create a separate detailed post about this shortly.

Another consequence of moving to GPL3 is that the old reverb and limiter effects (Zita & SC4) will need to be replaced with new VST effects instead. For now, when installing the new MuseScore library, we will also download and install two of our own VST effects to make up for this. Since we are only beginning on our VST journey, there will be many opportunities to integrate compatible VST and VSTi plugins in later releases.

We will be removing the 'Synthesiser' panel entirely from MuseScore and building some of the functions it served (ordering sounds and library priorities) into our new Mixer. For 'master' FX, we will be creating new auxiliary channels in the mixer, where the reverb FX will be situated. We will be saving user preferences relating to playback (VST settings, Aux channel settings, preferred libraries, etc.) in our project files and will be removing the concept of 'Save to Score' and 'Load from Score'. Instead, we want to develop a system for efficiently switching between projects that have different playback settings.

Stabilisation

We are aware that it can be difficult to determine which parts of MS4 are 'finished' (but still have optimisation bugs) and which parts are just incomplete. We are going to start marking these different strands of work clearly to help the community understand where they can feel free to optimise and improve functionality and where they can expect more changes to appear. The terms we are thinking of using are:

Not started

Incomplete (the designs have not been fully implemented)

Feature Complete (requires optimisation)

Release Ready (no optimisation required)

To give two examples (at the time of writing): Our new 'Note Input Bar' is Feature Complete: the designs have been full implemented but there are a few bugs. For example, when redocking the bar, the ordering of the buttons can become mixed up under certain circumstances. Community members can feel free to optimise this part of the app without worrying about new changes occurring which might cause conflicts and headaches. We constantly review bugs and publish them on our GitHub Projects page.

The 'Inspector' however is Incomplete: there are some parts where the designs have not yet been fully implemented and there is still some significant clean up work to do. In this case, I'll be publishing a new specification highlighting what remaining work needs to be done. In all cases: if community members want to take part in helping to complete work marked as Incomplete, Peter Jonas (our community manager) and I can work closely with you to hash out the details and make sure no work is lost.

Peter will shortly be publishing a general list that outlines the status of each chunk of work shortly. Peter also holds regular live build reviews on our Discord server, where this can be discusses in person.

Timeline

Below is our draft plan for releasing MuseScore 4. Note that marketing and automatic updates will not be switched on until after we are satisfied that the application has no remaining large issues.

(See the link below for a higher resolution version)
2021_TimeLine_Community_Version_v01.png

Delayed features

As announced last year, we decided to delay the sequencer view until a future release. This was a decision taken to enable us to work on a new playback library instead. Regarding the features from MuseScore 3, the main component we are also considering delaying is the piano roll - simply because it is gargantuan in size and because we also want to completely redesign and reimplement it. This is particularly painful because the addition of VST support will make the velocity controls infinitely more desirable and useful. However, we have estimated that porting over the existing piano roll (and incorporating into the new codebase) will delay the MuseScore 4.0 release by up to two months, which we feel is a step too far for a control we ultimately want to replace. This is not to dismiss the wonderful work done by Mark McCay (and others) on the MuseScore 3 piano roll. It is simply an awkward timeline issue.

As a backup plan, we are going to create a very simplistic design for a new piano roll, which will only contain the feature that allows users to edit velocity and expression settings. We are going to open up this design in case any community members wish to build it. We have also added this as a Google Summer of Code project, although it is unlikely that the outcome will be a feature that will be ready for MuseScore 4.0 due to the limited number of hours that GSoC students have to work with.

In the instance where there is no piano roll in MuseScore 4.0, users will need to edit velocity settings using the inspector, as in MuseScore 3. Don't worry though. The piano roll is a vitally important feature, which we are going to prioritise once MuseScore 4.0 is released.

After the release

The best thing about MuseScore 4.0 is that once we've built it (with its new architecture, playback engine and UI), we'll never have to build anything so massive ever again. We then intend to move to a steady release cadence, so we can gradually build up feature improvements in a more manageable and transparent way.

Attachment Size
2021_TimeLine_Community_Version_v01.png 56.96 KB

Comments

In reply to by kuwitt

One "instrument" I'd like to see is a genuine tympani roll. The "tremolo" approach using subdivision into 16ths, 32nds, etc. gives inconsistent results depending on the exact tempo, resulting in rough sounds, and does not support single-note dynamics (at least as of 3.6.2).

In reply to by revdjohngoodman

As the reasoning behind this hasn't really be sufficiently addressed yet (deserving of a separate post entirely), I'll go ahead and try to explain the motivation and goals behind the new playback engine as an option add-on that is not GPL.

The primary challenge is that for the new playback engine to be GPL, all subsequent samples used for the engine must also be open source.

This requirement greatly limits the potential libraries available. While there are many free open source sample libraries out there, none are of the professional level of quality we are aiming for.

It is important to note that though that the new playback engine will be free (as in at no cost to the user), it will not be libre (open source), due to this sample library limitation.

To put this decision in the context of a commitment to open source, had we determined that requirement to distribute this engine as open source was a higher priority than the quality of user experience, then you would have a fantastic open source playback engine with extremely low quality sample libraries that are poorly matched to the capabilities of the playback engine.

There would be no point to update the engine at all and the playback would never be much better than it is now.

This engine, instead, is a massive leap forward, better than anything else in the market, and will give the user much greater capability, for free (just not libre).

Again, this decision is primarily to do with the availability of professional quality sample libraries that are compatible with GPL.

In reply to by Daniel

> The primary challenge is that for the new playback engine to be GPL, all subsequent samples used for the engine must also be open source.

This is wrong: https://www.gnu.org/licenses/gpl-faq.en.html#WhatCaseIsOutputGPL

Otherwise, MuseScore 2/3 would not be legal either.

The output (“waveform”) of playing back a score is determined as follows:

The pitches select a sample from the soundfont (therefore, the waveform is a derived work of the score and the soundfont). The pitch bends, articulations, etc. instruct the synthesiser to further change the sound, which is then mixed together. So the sound is affected by the synthesiser but it is not a derivative of the synthesiser itself, only of the score and the samples.

> It is important to note that though that the new playback engine will be free (as in at no cost to the user), it will not be libre (open source), due to this sample library limitation.

Do not contradict “free” like this. Please use the word “gratis” for “no cost to the user”.

> To put this decision in the context of a commitment to open source, had we determined that requirement to distribute this engine as open source was a higher priority than the quality of user experience, then you would have a fantastic open source playback engine with extremely low quality sample libraries that are poorly matched to the capabilities of the playback engine.

See above, you don’t need to do that. (And even if you still fear that, you could use a nōn-copyleft Open Source licence like MIT, which the current soundfont is also licenced under. Or put a GPL exception on it making clear that the licence of the samples is not affected by the licence of the sound engine. Which it never is already anyway, though… see above.)

The only case where samples might be considered to be required GPL-compatible is when you distribute them inside the executable (e.g. any samples that are contained within the mscore/mscore.exe binary, like some typographic fonts currently are bundled as resources). But soundfonts and other sample libraries are separate.

So, I conclude you either didn’t know (which is why you’ll now be open-sourcing the new sound engine) or you’re actively lieing (about either the Open Source commitment or your knowledge of the licencing situation) and deliberately keeping it private to get a benefit for yourself. These are the only two possibilities.

In reply to by mirabilos

Mirabilos, These seem like very reasonable points to me. I accept the reasonable intentions of the team but I would encourage them to rethink. Personally I have used musescore since it was first available and have deeply appreciated it. For that reason I have also supported it financially throughout. I feel sure there must be a way to have the playback source code available for the community to also join in, contribute and learn from?

In reply to by eyolf

There was actually a response on this point.

The issue here is the assumption that the new playback engine works in any way similar to the previous and that it also uses soundfonts.

It does not work similarly and does not use soundfonts, so comparison to MuseScore 2/3 is not accurate.

In reply to by Daniel

I understand the idea of MuseSampler not being GPL, but still being free to use, not bad. But my remaining question is: can we still create our own sample sets for it using all of its resources? I really hope so, because I usually create and modify libraries for Fluid and Zerberus, so I expect I will be able to do this for MuseSampler as well. And I also hope that the sample sets that will be free will also be editable by anyone, i.e, it won't be a binary encrypted file. Only the paid ones could be a binary/encrypted file.

Just happened upon this thread... what exciting news! Musescore is the main software I launch every day. Thus, I intend to continue my "Pro" membership, to further the cause as much as my pitiful membership is able to do. When I consider my current "workflow" - write in MS, export to MIDI, flesh things out in Reaper - to have VST support in MS is going to be enormously game-changing. This will eliminate a LOT of to-ing and fro-ing from MS to Reaper and back again. True: I could totally just work in Reaper, but working in Musescore is just such a satisfying, beautiful experience. It's like the difference between reading a book vs reading the Kindle version: paper smells nice (mind you: I ONLY buy Kindle versions, but I get it).
So, MANy MANY thanks to the tireless efforts of the development team... as another user put it, Musescore is very much like Blender... it's the killer app of 2021!!

In reply to by Claudio Riffero

Ciao Claudio,
in effetti l'implementazione di NotePerfomer era stata menzionata precedentemente.
Tuttavia nei post ufficiali successivi non se n'è più parlato, citando invece i VSTi della Steinberg.
Speriamo di non rimanere delusi...
Buona giornata

In reply to by EnricoM

Bonjour toutes et tous,

je viens de découvrir par hasard le chantier Musescore 4 et Je trouve cette aventure assez passionnante et remercie tous ceux qui y travaillent.

Claudio, Je ne connaissais pas Noteperformer (très intéressant) quant au VSTi de Steinberg , de quel VSTi il s'agit? Je suis un petit utilisateur de Ableton Live Pro, et divers VST dont Kontact . J'ai aussi testé Cubase Elements mais je l'ai supprimé car malheureusement et contrairement aux autres DAWs, la plus part des produits de Steinberg demandent une double licence (PC+Laptop) ou une utilisation de licence sur clé.

Quoi qu'il en soit ce qui devrait absolument être amélioré sur cette version 4, c'est la liaison de phrasé qui est inexistante sur Musescore 3 ...à moins quelle ait déjàé eté intégrée et soit encore une de mes distractions chroniques. (@cadiz1 Notre échange du 13mars 2019 https://musescore.org/fr/node/285928).

Une intégration même payante de Musescore avec des Daws serait aussi intéressante. Ce qui me manque sur Live Pro c'est justement un lecteur de partitions intégré car je préfère encore la notation sur portée à celle sur pianoroll. Voir l'un et l'autre et faire des corrections interactives en direct serait très agréable.

Quoi qu'il en soit, Je ne boude cependant pas mon plaisir de découvrir un jour cette nouvelle version de Musescore.

Bonne journée musicale à toutes et tous.

In reply to by andres_asm1

Puoi trovare il post originale qui: https://musescore.org/en/MuseScore4
"We plan to implement integration with Steinberg's VSTi SDK, while making sure that our system will integrate with NotePerformer"
Invece nel thread qui presente, si dice: "We have not built NotePerformer support in MuseScore 4.0. As mentioned above, we are working on something else. More updates to come soon."
Qualche tempo fa avevo fisto nel codice sorgente di MuseScore4 degli oggetti relativi a Steinberg e questo mi fa pensare che implementeranno il VST in questo senso, esempio:
https://github.com/musescore/MuseScore/blob/master/src/framework/vst/vi…
Ora posso solo immaginare che gli strumenti siano questi qui:
https://new.steinberg.net/fr/vst-instruments/
Se comunque le interfacce MS4 permetteranno immediatamente altri VST non saprei dirtelo, non essendo nel team di sviluppo...
Infine, come ho detto prima, speriamo solo di non rimanere delusi dal non avere Noteperformer con la prima release....

In reply to by EnricoM

Enrico, grazie mille per le tue informazioni aggiuntive.
Mi ha dato una migliore comprensione.
Spero anche di non essere deluso da Musescore 4. Quindi non vedo l'ora di vedere cosa hanno da offrirci gli sviluppatori.
Hope the googlitaliani is better than the googlish! ; 0)

Just had a sticky-beak at the nightly build for 14th June. I'm very much liking the interface enhancements, particularly the use of tabbed, undock-able dialogue for palettes and the inspector. For those of us with limited screen space, this will be a HUGE enhancement. Well done to the design crew, indeed!!

In reply to by jeetee

Yep, that's what I was after... floating and tabbed. It seems MS4.0 will support that, perhaps? That would be really helpful when transcribing because the original document can take up a fair bit of screen real estate. To have tabbed floating dialogues would be brilliant.

In reply to by latonyahutchi

Please open up an issue of type S5-suggestion for each of these instrument, including a reference to their pitch range (amateur/professional) and the most suited General MIDI fallback sound for them.
As for the percussion instruments, include a reference to the expected drumset notation for them (or ideally an actual drumset file exported from MuseScore)

"Another consequence of moving to GPL3 is that the old reverb and limiter effects (Zita & SC4) will need to be replaced with new VST effects instead."

The wording is at least confusing. How would it be a consequence of moving to the GPL3 ? both ZIta & SC4 can be used in any GPLv2-or-later project. It seems this removal is rather a consequence of you changing the playback pipepline to include non-free elements, than a consequence of the move to GPL3.

If there is no freely metered music creation it is for the dumpster. Just saying, for newbied and people who just don't wanna live in boxes this is a must. The best app I have tried is on Android being newbie friendly is Maestro! Very intuitive, really the best I have found in the way I want something to work. No Boxes just turn of the help and you won't have any problems just use the boxes as you want for other things :)

So hopefully you will take care of that in version 4. I am using Lilypond as well now trying it out with Frescobaldi where you program things but really not that newbie friendly and I am no coder. But it is possible and can be fun at times.

But no non box free sandbox mode and that puts any note program directly into the trash.

We don't need to be put in boxes!!!

Dearly regards Darkijah

Hello,

Great news and update, thank you! Totally understandable re the limited piano roll editor. With the initial simplistic design for piano roll, will it still be possible to edit Len and OnTime values? Or would it be possible to edit those attributes in the Inspector?

Cheers, Phil.

I'm so so excited guys, I'm a high school student that's used Musescore since the early days, since I was in like grade 5, and now I'm going into senior year, it's grown so much! Can't wait :)

Re replacement for the pianoroll editor: I used it in MS2 to edit the cutoff time of notes so as to produce a separation from the following note. One thing I had requested for MS3 was a mod to (1) apply the change over a selection of notes and (2) to give a constant absolute cutoff advance, rather than a constant fraction of the note duration. I started a long thread at the time on this topic. I am now using MS 3.6.2 with the "articulate" plugin, which takes care of (1) and gives me the option of implementing (2) by a mod to the plugin code, if I ever get around to it. But if MS4 can incorporate (1) and (2), this would be very welcome.

Just tried one of the overnights (curiosity heh!)

A feature I absolutely love is the little eye icon to show and hide an instrument - this would be doubly useful if it could have a reverse feature, so for example ALT clicking would turn all the other instruments off (I'm assuming the audio would be muted) so in effect a solo button per instrument or stave. That would be something extremely useful to me!
Fabulous work and can't wait for the real releas.

In reply to by Scardo

There is a "Parts" tab, so one can still use that as the "solo" feature and dont have to bother with the mixer. Remember, Musescore 4 will still be an engraving software, but unlike its predecessors, DAW features will progressively be included making this software to have a unique multi-workflow between engraving & sequencing / automation.

In reply to by Scardo

Pour moi, il ne s'agit pas de savoir si un mac pro est mieux qu'un iPad pro ou l'inverse. Je suis hyper équipé en PC et Laptop Windows . Par contre, il y a deux ans quand j'ai commencé à essayer d'apprendre le saxo, j'ai tout de suite cherché une tablette de 13 pouces pour archiver, lire les partitions et pouvoir y ajouter d'autres applications musique et multimédia. Rien du côté de Windows. J'ai donc opté pour une tablette 13,3" 16x9 donc moins proche d'un A4. Elle est aussi lourde que le Mac pro et d'une lenteur rédibitoire. De plus je regrettais déjà de ne pas pouvoir installer Musescore et non l'appli de Musescore.com. Donc après deux ans,j 'ai finalement opté pour l'iPad pro ( il a 2 jours) qui est un vrai 12,9" , léger et ultra rapide et que je peux poser sur un pupitre.....tout en regrettant de ne pas pouvoir installer Musescore 3 pour lire et modifier mes partitions mscz. D'où ma question innocente.

In reply to by Scardo

Comme je dis toujours, sauf quelques cas malheureux, tout est une question de choix de vie et de gestion de son budget. De plus,pour être certain, je l'ai achetée d'occasion et je suis d'accord que même d'occasion, c'est pratiquement un objet de luxe. Mon saxo , mon mini studio DAW et cette tablette sont mes seuls luxes :0)

In reply to by andres_asm1

(Pardon d'avance, mon francais n'est pas terrible) tout a fait d'accord, Andres... mes luxes, ce sont les bibliothèques de samples (pas chere, bien entendu) et Reaper. Ici en Australie Reaper m'a coûté $110 balles,
en tout cas ça valait le prix. Heureusement, le Musescore est gratuit. Puisque j'approche la retraite, les grands achats ne sont plus possible autant qu'avant.
Moi aussi, j'ai une tablette Android: ce serait formidable d'avoir Musescore ou même trouver quelque chose plus simple pour Android.

In reply to by dimitri fox

hmm.... from my understanding -- yes. You may have to adjust the format a bit to match the updated engraving system, and playback parameters may have to be considered and tweaked to fit the new audio system and soundfonts. But, for as pitch and note recognition, that should be easily transferable ¯_(ツ) . Maybe other users (like "Mr. Cruela" or "Mr. Sugar".........) can explain it better ( ͜。 ͡ʖ ͜。) .

Thank you for this enjoyable annoucement ! Firstly, I would like to express my gratitude for your unbelievable good work on Musescore. We are all very lucky to have this wonderful and high quality tool for free ! The updates of january/february 2021 are really awesome.

I posted yesterday some questions that arise once you have connected your VST to Musescore for playback (Kontakt). Someone recommended me to wait for the .4 release. I would like to know if they are actually part of the new features :

  • use the pizzicato text signal in Musescore to have actual pizzicato played in the VST. Same question for other articulations or dynamics features (fp for instance that exist as such in Kontakt orchestral library). In the case of Kontakt, as you may now, you can change some articulation and dynamics features by pressing some keys in the 0 register on the extremùe left hand on the keyboard, simultaneously or previously to the note played. I have been looking how to catch the order routing that goes from the text in the partition to the sound patch and route it to my VST to have it press the C#0 key but I can't find it). But I have given up...

  • have more than 16 instruments played. I had the great Musescore-to-external-VST procedure done on my computer, using LoopMIDI and ASIO4ALL, that I found here : https://musescore.org/en/node/302532 . But, as you can only route your MIDI out signal to one device (here, LoopMIDI), you can only have 16 channels playing, therefore only 16 instruments. I am writing for an orchestra and this is not enough. Of course, I can simpilfy my instrument display (for instance, routing the 5 string sections in one "string ensemble" section in the VST), but I would like to know if there will be news on that matter in the .4 release. Maybe will we have the possibility to route the MIDI out signal to more than 1 device, i.e. various ports ?

Thanks for your attention !
Sincerely
Grégoire

In reply to by gregoireigert

I'm actually curious about that too, though I'm not sure how much is even decided on yet for us to get an answer.
- For the first bit about articulations, I'm wondering if that means symbols and attributes will all have the ability to switch channels. Staccato, Sfz, Tremolo, are played using midi note length and velocity to my knowledge currently, but having the ability to map those to specific channels would be verry convenient (so that users wouldn't have to use ghost text).
- Next that makes me wonder about channel routing and presets. Will we be able to route different channels through the same plug in and use something like BRSO articulate to route that to yet another plug in? If we can, will we be able to save our setups as presets to use in the instrument panel without having to write out XMLs?

Edit: Just reread "We will be saving user preferences relating to playback (VST settings, Aux channel settings, preferred libraries, etc.) in our project files and will be removing the concept of 'Save to Score' and 'Load from Score'. Instead, we want to develop a system for efficiently switching between projects that have different playback settings."

They plan to redo the whole engine, so I'm sure they'll have more than 16 channels available. Especially when having VST support at all.

In reply to by speedmeteor101

Yeah, whether they have that feature for articulations or not is going to be the deciding factor of whether I buy a VST sound library. I don't care whether I have to map the articulations to channels or if it's done automatically, but I hope the ability is there. And MuseScore (if I understand this correctly) might have to create new channels for things like glissandos where you just press and hold one note the entire time on your MIDI keyboard (or add one note in your score).

Quick question:
Wouldn't the removal of Zerberus remove the direct support of SFZ files? While this can be solved by using the Sforzando VST, my issue is that a lot of my compositions employ the inspector with some plugins manually retuning the notes. As far as my experience using MIDI-out with VST MIDI-in goes, it's not possible to tune VSTs with inspector.
What will happen to my compositions that are retuned to play microtonal notes but use SFZ soundfonts?
Thanks for your awesome work y'all! I'm a big fan of everything you guys do.

Wow, really looking forward to it!
May I ask, what’s the plan about native ARM Mac support? If so, will iPad (with keyboard and trackpad) version be too?

will there be new instruments from other cultures (like the tar, kamancheh, morin khuur, etc.) and potential reworks for some (like the oud, bouzouki, etc.)?

When will we have access to the Alpha version of Musescore 4? In your timeline you have September 15 as the date when the alpha version will be ready, but I am aware that this site hasn't been updated in more than a couple of months, so the date may have been changed. Could someone please update me on when we can try out the development build of Musescore 4 alpha?

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