Designing the Mixer for MuseScore 4
Hello everyone. It's been a few months since I last communicated anything about our development plan and it feels like the right time to begin getting back in touch.
Behind the scenes, we've been doing a lot of haggling, organising and pitching to figure out what our next moves for MuseScore should be. It's been a lot of work but we've now landed on a solid agreement and I'm going to be publishing our plans over the coming weeks and months. As we continue to work through our development and design roadmap and I'll be making sure to let you know how things are progressing. First off, if you don't already know (because it's been spoken about quite a bit in the main development group chat), we're now committed to making MuseScore 4. We've decided to do this because there are certain aspects of the existing system that are in need of an overhaul: most notably, the audio engine. In addition, we would like to make comprehensive adjustments to the interface to include things that have been widely requested by our users over the last two years.
In this first post, I'm going to focus on what is needed from a design point of view to facilitate a new audio engine. Higher quality (or 'more realistic') audio playback has topped all our polls and surveys over the last year. Here are two things we are planning in order to support this request:
:: VST support
:: A revamped audio interface
Since we are currently at the early stages of figuring out how this should work from a technical point of view, the purpose of this post is to focus on the second point: when we do have vastly improved audio capability, how could we best expose this to the user to allow them to take advantage of it? Or to put it another way, what is the goal we want to reach?
Here are some principles I have in mind when designing the ideal interface:
:: Choosing sounds (whether VST or SoundFont) should be fast and simple
:: The interface should be made more flexible to support each user's unique workflow
:: The ability to edit precise values, such as velocity and dynamics, should be more exposed, more powerful and easier to use
For the purpose of keeping the discussion focused, I'm going to talk about just one improvement that touches on the first two of these issues: the mixer.
Even in its current state, the mixer is an interface element that users have repeatedly asked us to improve. One of the most common complaints is how much space it takes up compared to the mixer from MuseScore 2. Another issue with it is that it does not co-exist well in the same panel as the inspector. Moreover... it isn't the nicest looking thing to look at either, is it? I seem to recall once comparing it to a late 90's Flash game on NewGrounds.com...
In a recent post on this forum, MaBlo, who spent a lot of time proposing a new high-level UX for MuseScore 4.
One of the suggestions that MaBlo made was to combine aspects of the 'Synthesiser' (where SoundFonts are selected and various other effects are located) with the mixer, so the user can access all audio output options from one place. This was a great suggestion and - in addition to some of the principles I just mentioned - has helped to inform the V1 design proposed below.
HOW WILL THE MIXER DESIGN PROCESS WORK?
In order to keep this discussion focused, I have removed other aspects of the new design from my mockups and kept the focus squarely on the mixer. The idea behind this post is for users to be able to point out gaps in the design, while also making requests for alterations. The mixer is something I think we all feel strongly about and this initial proposal will need to be changed multiple times before we reach a fully fleshed-out version. Here is how I intend to follow up this thread in a few weeks:
:: Collect feedback from the comments section
:: Speak to those building the audio engine to uncover any practical obstacles or requirements
:: Propose a V2 mixer and post another update on MuseScore.com at a later date
THE V1 MIXER DESIGN
So with all that out of the way, the rest should be pretty straight forward to explain. First of all, we think it makes sense for there to be a dedicated button which users can press to show and hide the mixer (how we make space for that button will be the subject of a different post). In the image below, you can see the mouse hovering over the 'Mixer' button in the top bar.
Using this button, the user can now toggle the mixer ON and OFF quickly. This is the proposed default state (and position) of the mixer, which is taking inspiration from other leading DAWs in the industry. The Mixer is by nature a horizontal beast, and since a user will very often be working with more than 10 instruments in a piece of music, it makes sense for it to stretch across the width of the app. But, again, this is only the default. There's a lot more to talk about.
Before delving into the specifics, I should also point out that the mixer window should be both resizable and scrollable. In the image below, you can see the user resizing the window to show only the volume, mute and solo controls. The user can still scroll to access other parts of the mixer if needed.
If the user wants to undock the mixer, that can be done by selecting the button on the top right of the mixer (see image below)
An undocked, minimal version of the mixer would look like this. It can be minimised further by pressing the 'Show less' button. Pressing the 'Show More' button would gradually expose more functionality until all available options are visible.
Regarding the selection of VST's or SoundFonts, the ideal would be a simple interface, where the user can simply select their preferred sound type by clicking on the area shown below.
The above system will most likely require an additional interface that allows you to set up and save sound profiles. We don't know enough yet to be able to predict with certainty what those interfaces will need to be but the aim is to avoid making them compulsory. Ideally, the user should be able to select sounds using the mixer and should not have to spend time reading the manual or exploring the settings menu in order to do so. This is how many modern DAW's work and we don't want MuseScore 4 to more complicated.
Here is a view of the mixer with all available options switched on:
Here is a proposal for how we gracefully integrate existing effects into the mixer for easier access:
And lastly, here is the docked mixer in Dark Mode:
Here are two final points about this design:
First: We are investigating things like output channels/busses and have not yet incorporated them into the design. Comments and requests about this specific area would be appreciated.
Second: certain options seen here would be incompatible. For example, if you select a SoundFont, then you can choose a specific instrument. However, if you choose a VST, like Kontakt, the Instrument option would be disabled.
That's it for this post. I hope you enjoyed it. I'll be posting a follow-up soon. I know there will be lots of questions. For example, you may have noticed a 'Piano Roll' tab. What's that about? And why is there a wrench icon? Hold on... are those scrollbars??? Wait! Come back... I have more questions! COME BACK!!!
See you next time!