GSoC 2024 Project: Accessibility Profiles for MuseScore

Posted 5 months ago

Greetings,

I am Animesh, currently pursuing my Masters in Computer Science in Ireland. I am excited to start with my contributions under Google Summer of Code (GSoC) with MuseScore for the project “Accessibility Profiles”.

This is actually my second GSoC with MuseScore! In 2018 I worked on the OMR Machine Learning Dataset project mentored by Nicolas Froment.

Project Goal

The fundamental goal of the Accessibility Profiles project is to make the experience of reading music notation in MuseScore Studio more inclusive and user-friendly. To do this, I will add a new section in the Properties panel specifically dedicated to accessibility. This Accessibility section will allow users to easily customise the appearance of notation to suit a diverse range of visual and educational requirements.

Primary Objectives

Accessibility section

The Accessibility section will be visible in the Properties panel when nothing is selected in the score. If an element is selected (e.g. a note), users must press Esc or click on an empty region of the page in order to see this section.

1.png

The section will contain 3 dropdowns labelled:

  • Score style preset
  • Notehead scheme
  • Notehead color

In addition, there will be a button labelled “Customise shapes and colors”.

2.png

Score style preset

This option will contain different sizes of Modified Stave Notation (MSN), such as 16mm, 18mm, 20mm, 24mm and 25mm MSN. Selecting one of these options applies a stylesheet that affects many aspects of notation, including staff size, line thickness, and text settings. The stylesheets we will use have been provided by the Royal National Institute for Blind People (RNIB).

Notehead scheme

This setting affects the shape of noteheads in the score. It can be used to apply a different shape to each note of the scale (C, D, E, F, G, A, B) according to some predefined options, such as “Pitch names”, “Solfege moveable do”, or “7-shape (Walker)”.

These options are already available for individual notes via the Note section of the Properties panel (Note > Head > Show more). However, the new setting will affect the shape of all notes at once, including any future notes that are added to the score after the setting has been applied.

In addition, the dropdown will contain a new option called “Figurenotes (stage 3)”, which uses a differently shaped notehead for each octave. Figurenotes is a simplified notation system that uses shapes and colors to indicate pitch and rhythm. Only Stage 3 of Figurenotes will be supported in MuseScore Studio; stages 1 and 2 require specialist software.

Notehead color

This setting colors each note differently based on its pitch (C, D, E, F, G, A, B) according to some preset coloring schemes. The two options provided are “Boomwhackers” and “Figurenotes (stage 3)”.

In the Boomwhackers scheme, notes are colored like a rainbow: C is red, D is orange, E is yellow, and so on. This is the scheme used by the existing Color Notes plugin, but the new setting will apply to future notes as well as existing ones, and if a note’s pitch is changed then the color will be updated automatically, unlike with the plugin.

When the “Figurenotes (stage 3)” scheme is selected, notes are colored according to the Figurenotes system: C is red, D is brown, E is grey, etc. Users will need to select “Figurenotes (stage 3)” in both dropdowns in order to use the correct shapes and colors for Figurenotes.

Reset and apply to parts

To the right of each of the above settings will be a small three-dots menu with these options:

  • Reset - returns the setting to its default value.
  • Apply to all parts - applies the setting’s current value to each of the parts in a multi-part score.

The “Apply to all parts” option will only be available when viewing a part score, such as the Violin part in a string quartet. It will not be available when viewing the main score.

Customise shapes & colors

This button will take the user to the Notes page within the Format > Style dialog, where additional options will be made available. If the user makes changes in Format > Style then the dropdowns in Properties panel > Accessibility will change to say “Custom”.

3.png

Style dialog

The Note page of the Format > Style dialog will be updated to include settings for “Notehead scheme” and “Notehead color”, which will provide the same options as the corresponding dropdowns in the Properties panel.

4.png

If the user selects Boomwhackers or Figurenotes as the color preset, the colors for each pitch name (C, D, E, F, G, A, B), and for enharmonics such as C# and D♭, will be displayed.

5.png

The user will also have the option to create their own custom color scheme, where they can pick the exact colours used for each pitch name and enharmonic.

6.png

7.png

Extended Goals

These will be implemented if there is time available at the end of the project.

Coloring based on solfège moveable do

This would add the ability to color notes of the scale relative to the current key signature (Do, Re, Mi, Fa, So, La, Ti) instead of based on absolute pitch (C, D, E, F, G, A, B).

8.png

Colouring nearby elements

This would add the ability to colour the entire note, including the stem and flag, instead of just the notehead. Colours could also be extended to elements attached to notes, such as accidentals, augmentation dots, and articulations.

Colouring based on concert pitch

In the case of transposing instruments, notes could be coloured according to their appearance on the page (written pitch), or how they sound to somebody listening (concert pitch).

By default, notes will be colored based on written pitch, unless the user happens to have enabled the “Concert pitch” checkbox in the status bar, in which case colors will be based on concert pitch like the rest of the notation.

9.png

However, within the Style dialog, we could add an option to use concert pitch colors even when “Concert pitch” is unchecked in the status bar. This would make it easier to see how notes for different instruments are related when viewing a transposed score.

10.png

Current status

My plan is to split the work into three phases:

  1. Add the Accessibility section (initially empty) to the Properties panel and implement functionality for the “Score style preset” dropdown.
  2. Add the “Notehead scheme” dropdown in the Accessibility section and Style dialog, and implement its functionality.
  3. Do the same for the “Notehead colours” dropdown in the Accessibility section and associated options in the Style dialog.

I plan to create a branch with the UI for Phase 1 by the end of this week, and start building the Phase 1 functionality the following week.

I’m super thrilled to deliver the best to MuseScore with this Project! If you’d like to follow my progress, you can do so via my:

Thanks,

Animesh