Connecting MuseScore to Ardour in 2020

• May 26, 2020 - 20:50

I'd like to route MuseScore midi output to Ardour (for various reasons, including the option to record live audio track over midi, using plugins, etc.). I have seen a few posts on this topic on the forum, but some discussions are quite old and I am having some troubles figuring out what is possible now that may wasn't in 2012 or 2011 and what is still not doable (if anything at all). I am new to MuseScore and I would appreciate some help from the experienced users on the forum.

I am using Ardour 6 and MuseScore 3.4.2 on an Archlinux box

I am assuming this is still correct (and don't see why it would have changed, it fact):

  1. The Connection MS/Ardour needs routing through Jack
  2. In MuseScore's preferences, I/O, output is sent to JACK audio server, and the "Use Jack Midi" box is ticked
  3. A Midi track (or more, see below) must be created in Ardour
  4. MuseScore's Midi out is then connected to Ardour's track "midi in" (with a tool like Catia/Claudia/Patchage, qjackctl, etc.)

As a result of the above, MuseScore's built-in synth is cut-off the loop and only the midi control signals are sent out. Sound synthesis is managed by Ardour (whose output is of course connected to the Jack server sink).
So far so good (I hope).

Here is what i am not completely clear about:

A) Is it possible to create a midi channel out in SoundScore for each track? There is an old discussion that said it was not possible directly. The result could nonetheless be achieved by filtering the midi channel with a tool positioned between SoundScore and Ardour. But I also found a reference to a Google Summer of Code project that seemed to indicate the multi-midi-channel options had been implemented. Is that true? I could not find a way to create multiple midi out.

B) I understand that once the MS/Ard are connected, the tempo is decided by Ardour, and changes to the tempo in MS have no effect. Is that still correct?

C) Finally, there was some discussion on whether it was possible to start a MouseScore midi track from Ardour. Apparently , it is not too difficult, technically speaking (I am repeating what the forum message said), to exploit the jack protocol to that effect. But I am not clear if that feature has been implemented or not. I see that museScore exposes a mscore-midi-in input to jack. Is that what should be used?

Thanks for the help.


By "SoundScore", did you mean to write "MuseScore"?

I'm not sure about the tempo change, but I just set this up on a win10.

I used a combination of qjackctrl and ardour to set the input/outputs. I'm not quite done with the setup, but here's the gist of it.

In qjackctl, you'll have these as MIDI inputs:

-capture 1 (label this as what it represents, ie keyboard1_capture)
-capture 2 (label this as what it represents, ie keyboard2_capture)

mscore-midiin-1 | mscore-midi-1, mscore-midi-2


you'll have a bunch of inputs representing all your midi tracks and tons of other stuff

Here's an example:
keyboard1_capture -> mscore-midi-in-1
mscore-midi-1 -> violin_midi_plugin_track

In musescore, you'll have each instrument send to Port1, Channel#
So, in musecore, in the mixer, you'll set "Violin" to Port1, Channel1
And in Ardour, you'll have the violin MIDI track to listen only on Channel1.

And then in Ardour you'll load up the plugin for the various MIDI tracks and pick a VST that you'll like with the various settings. Save the settings in Ardour and as a template. Then if you load it last, it'll make all the connections automatically. Although you should be able use those other tools you mentioned. Make sure you set ardour to jack, which you have to set it as the external sync mode, and then you have to make sure to hit the button for it.

Now you can use the keyboard to input into Musescore and also hear the VSTs with no perceptible delay. I use 48khz with 128 buffer. You can turn down the fader in Musescore so that you don't hear the soundfonts being generated, or you can hear it along with the VSTs.

Also, you can import video into Ardour and you get snapshots on the timeline, and it'll load xjadeo (although in windows you usually have to launch xjadeo separately I find), and set it to jack sync.

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