musescore / musescore/MuseScore

Feature request: automatically send articulation keyswitches to VST instruments

Open
#34,385 0 comments 0 reactions 1 assignee View on GitHub

@RomanPudashkin is already working on this.

Since Jul 31, 2026.

VST
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Your idea

When a score contains an articulation or playing technique that a VST instrument provides as a separate patch (pizzicato, tremolo, harmonic, palm mute, mute...), MuseScore should send the corresponding keyswitch automatically, so the right sound is selected from the notation.

Today MuseScore discards these articulations on the way to a third party VST (only note on/off, velocity, microtuning and a few controller based articulations get through), even though the internal FluidSynth and MuseSampler backends already play them. The only workaround is to notate the keyswitch notes by hand (an extra hidden staff, or the Keyswitch Creator plugin ): more manual work, and a score that pollutes playback whenever that VST is not the active sound (the fake low notes sound as real bass notes if the plugin is missing or swapped for a soundfont).

Second, and closely related: MuseScore should pass the track / instrument name to the hosted VST instrument, which it does not do today. Since the MIDI program does not distinguish similar plucked instruments (bandurria and laud share the same program), the name is the only signal that lets a multi-instrument plugin auto-select the right sound and show it in its UI. VST3 already has a standard mechanism for this (channel context), so no new protocol is needed, only for MuseScore to send it.

Prior art

  • Cubase and Dorico solve this with Expression Maps (a per instrument table mapping articulations to keyswitches / CC / program changes); Sibelius uses Sound Sets.
  • The VST3 SDK defines IKeyswitchController (an instrument can declare its keyswitches to the host) and channel context (IInfoListener) for the track name.
  • The community Keyswitch Creator plugin already generates hidden keyswitch notes from the notation, showing both the demand and the feasibility.
  • Acknowledged as desired in #32150: "dedicated key switch support ... automatically inserted at the right place based on dedicated information that the user adds to the score", and a "configurable table of associations between articulations and keyswitches".

References

Related MuseScore issues / discussions:

Community forum requests:

Checklist

  • This request follows the guidelines for reporting issues
  • I have verified that this feature request has not been logged before

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.