MIDI Latency of 200 mSec in Musescore 4, unusable for anything realtime

• Oct 7, 2023 - 19:51

I've seen other reports of unusable latency in MS4, maybe this one will help nail down the problem.

Setup:
Brand new MacBook Pro with M2 Pro running Ventura 13.3
Oxygen49 plugged straight into hub
Tried two different audio interfaces, no difference (one was generic USB, the other Scarlett 2i2)

When running Logic Pro, there is no discernible latency with the identical HW setup. I've tried running Musescore 4 with no other programs running, makes no difference.

I had already moved on to MS4, but I installed MS3 just to see if the problem exists in MS3. It does not, this is an MS4 problem only. Big problem for me, since I've already converted many scores to MS4.

I'm a programmer and therefore very technical, so if there any diagnostics I could run to help the team find this issue, I'm more than willing to do so.


Comments

Similar problem here on my MacBook Pro with M2 Pro (24GB RAM / 2 TB SSD) running Ventura 13.5.2, but on my system it sounds like more than than 200 ms latency.

Not fun at all, so I only look at MS4 for feature peeks and some testing. My production work is strictly in 3.6.2 or in Jojo's 3.7.

Scorster

In reply to by scorster

200 mSec is a lot. Here's a way to measure it, roughly. Fire up Logic Pro or something else that will allow you to play the MIDI keyboard and hear audio. Also have MS4 up at the same time. Now hit a key. You'll hear the note played first by Logic Pro, then by MS4. You'll be able to tap out the delay from the audio cue. Then fire up the stopwatch on your phone, and tap that delay into the stopwatch start/stop button. That's how I measured it, and it's a pretty repeatable way to get the number. I'd be curious if it is the same as my similar system.

Wow! to this and all the other latency threads. I have experienced exactly the same issues moving from 3.6.x to 4.x. Glad to hear it wasn't my "frugal" decision to go with a Windows machine. Also glad to learn that throwing some money at buying an audio interface (which I really don't need) won't make a difference. It's kind of incredible that the dev team and cheerleaders are running this line that we should expect this kind of latency because MS4 is not a DAW or some other nonsense. We should all train ourselves to accept the many (as I'm learning from scanning forum posts) "warts" in the program because "that's just how it is." How about this? Charge $100 for a "pro" version and make it work right. What's the friggin problem with that. I don't want a free version. I want it to work right. It has so much promise. I love creating charts in it, but jeez, really? C'mon guys, it's almost 2024. Really?

In reply to by jonathankraka

You can certainly still use MIDI even with a fraction of a second delay, but indeed, it won't be useful for real-time input (not that MuseScore is really designed for that anyhow). But - do try the latest nightly build of 4.2 - quite a few improvements have been made to note input performance.

In reply to by tommybanana

Go ahead and recommend it - the vast majority of people couldn't care less about MIDI input because they either don't own MIDI keyboards or recognize they are more efficient entering notes normally. So no reason for them to be deprived of the joy of using MusdeScore on account of a slightly latency in a feature they will never use!

In reply to by Marc Sabatella

I would recommend it to folks not wanting to use Realtime input, but that's a big issue for me. And I've spent a lot of time with Musescore's non-realtime input. And it's fine for a lot of things. But for the sort of figures that realtime input would be good for, it would make a huge difference in efficiency for it to work, and 200 mSec is just too much. It's not like we are talking 20 mSec. It's NOT HARD to get latency down to 20 mSec in 2024, I was using a Windows DAW at 5 mSec in the 90's. What makes it particularly irksome is that from what I can tell of the realtime modes in Musescore, they are really nicely designed! I was super excited after I learned how they worked, until I realized they didn't because of this issue. So I'll just have to use MS3 if I need that feature. And come to think of it, that's the worst part. We've gone BACKWARDS! And in every other way MS4 is a huge leap forward. Incredibly frustrating.

In reply to by jamiegrantmusic

I have more testing to do. But here is what I have found out so far. I don't have a way to measure the delay. I have a modest Yamaha keyboard. But I don't use it for note input. I use a mouse. So what am I doing in this thread? I find some of these things interesting. And I like to test my system. So I plugged my Yamaha into MU4 to see what happens. Notes appeared on the staff instantly. There was a slight delay before I heard the note from my computer speakers. 200ms? No idea. So I did the same thing in Sibelius. Seemed the same to me. Also the delay on input sound with the mouse was the same as keyboard input in both programs.
But I need to try some other tests.

In the "good old days" (last year), MS3 and Ableton co-existed happily on my 12 year old MacBookPro. I was able to use the same MIDI keyboard to 1) Check a chord voicing or part on the original recording on Ableton and then 2) Tab over to MS3 and play the chord I had just figured out in to Musescore. Ah how nice. But it wouldn't run MS4 and in general it time for a new machine. Macs being just way too expensive I went with a Windows machine thinking I could install MS4 and everything would be the same. How wrong I was.

First of all MS4 (haven't tried 4.2 yet) won't even run together with Ableton on Windows. So that's out. Secondly, Mark's right that the computer keyboard=based input works quite well. I tried it. However one of the previous posters is also right. Sometimes you need to "plunk" out a chord you just figured out, especially complex jazz chords, and then, while you have the motor skills to replay it, "plunk" it out again on Musescore to at least get in on the page. Yes, some of the notes may need to be changed enharmonically, but whatever.

My solution, now having sort of stepped away from chart writing for a minute, until the next job comes in: Use two machines! The easy part of this - mixing the audio out from both machines so that you can hear Ableton and Musescore together in your headphones - just use a small cheap mixer. The harder part - splitting the MIDI output from a single MIDI keyboard to input to both machines at the same time. As to this, to quote Godfather 2, difficult but not impossible. You would probably have to forgo USB. Take the 5 pin MIDI out off of the keyboard and go in to a splitter. Then each PC would need a MIDI to USB converter so it could see the 5 pin MIDI signal. Pain in the a**? Yes. Worth it if you need that features? I say yes. An alternate, less elegant, more space consuming solution: 2 MIDI keyboards, one for each machine, played via USB. Truthfully you don't need more than 49 keys to input music in MuseScore unless you're writing full on piano music. Other instruments don't have the range. And your not playing in real time. This leads me to the last paragraph.

Mark's right, again to a degree. MuseScore never appeared to me to be a live performance application. So if there's some latency, so what. Composition and arranging are not "real time" activities. They don't happen at a certain tempo like playing does. Nevertheless, in this day and age, Musescore and any other professional app should allow for playing with reasonably low latency like Ableton and most of the other DAWs do. To sum up, if I could have both MuseScore 4 and Ableton open at the same time on the same Windows PC, having each of their sound generators being able to be triggered at once by a single MIDI keyboard, at this point I'd be thrilled and latency be damned.

In reply to by jamiegrantmusic

I think this is a pretty reasoned look at it. I definitely recognize that on the machines in which abnormal latency occurs, it can make real-time input not viable. I would just want people to look at the bigger picture here - and to recognize that even if it doesn't serve your own needs, it's still likely to work well for 99% of others who won't be interested in real-time MIDi input, and thus one shouldn't shy away from recommending it unless you know for a fact they are in the 1% for whom, for whatever reason, real-time MIDI input would be a requirement.

But, I'm curious about your statement that MU4 doesn't run together with Ableton. I don't recall anyone reporting that before, and I don't see any open issue regarding this on GitHub. So if this is a repeatable problem for you and you believe somehow it's MsueScore causing the problem, be sure to open an issue and report any relevant details that would allow the developers to reproduce the problem on their machines.

In reply to by Marc Sabatella

How are you sure that 99% of people are not interested in real time input? And how are you sure that it only doesn't work on certain machines? I've updated my machine during this whole process to a brand new machine, and it makes no difference. And everyone seems to say that MS3 works fine. It sounds like it isn't just "certain machines", since why does MS3 work? But I guess that supports your opinion that 99% of folks don't care that much about real time input, otherwise everyone would be complaining. I guess though that I'd still say that you can't know how popular a feature would be if it doesn't work right. And how do we know that folks either don't bother to try to post to the forum when they discover it doesn't work, or maybe they find this post and realize it's broken so why say something else.

Of course I would recommend MS to someone who doesn't need realtime input. But there is nothing wrong with advocating for improving a program that is so useful but feels crippled (IMO, and once you've actually tried the feature in MS3). The realtime feature in MS is super clever, I think it's actually better than the versions on something like Dorico which is more free form. So of course I want it, and I do suspect it could gain popularity if only it worked. Don't get me wrong, I wouldn't ALWAYS use it. Often non realtime input (still with a MIDI keyboard) is more efficient. But for certain figures where the note duration is rapidly switching back and forth, like a lot of syncopated figures, the normal way of entering notes is tedious.

This leads to a suggestion that would solve that particular issue, which has occurred to me before. Maybe it even exists but is hidden. The idea is this: - Another way to enter the types of figures I'm talking about would be an "auto-tie" mode. Say the note value is a sixteenth. You hit a MIDI key and a sixteenth note is generated. Now if you hit the same key again, and it says "OK, that's now an 8th note", and converts the 16th note to an eighth note. You enter rests the same way. It's sort of a step entry method in which you just keep the note duration at the minimum in that passage. For funky syncopated figures, it would be way more efficient. Of course there would need to be a set of standard rules embedded to know what to do based on where the beats are, inserting the appropriate ties in some cases, whereas in other cases it would be converting (in this case) sixteenth notes to eighth notes as indicated above.

In reply to by jandymanvoelk

Obviously I don't have numbers, but all you have to do is pay attention on this forum to the number of times the subject compared to other forms of input. Or have worked with literally tens of thousands of students over the past 10 years. 99% is probably conservative. And I know the problem you are experiencing only affects certain machines because it doesn't affect mine, and others have reported success as well.

Anyhow, MU3 and MU4 go through different libraries and use different I/O architectures, and that's why some systems seem to work better with one version than another when it comes to those sorts of low-level details. There were some common problems in MU3 that have virtually disappeared in MU4, but unfortunately the reverse is also true. That's an unfortunately fact of life when trying to develop a cross-platform program dealing with low level I/O, especially when the program was never designed for real-time input in the first place.

I'm not really sure what kind of figures you are thinking are more efficient to enter via MIDI than via more traditional methods, but anyhow, the Q & W commands and their retroactive analogues Shift+Q and Shift+W already work to modify durations during note input. Also see the "manual" MIDi input method where you simply pump the pedal to increase duration of the current note - it works almost exactly as you describe. None of these are faster than simply typing the melody, but they certainly provide other options. If you have further questions about this, best to start a new thread, though.

Anyhow, no one is advising anyone not to advocate for improvement. Even better of course would be for volunteers to step forward. Some improvements were already made for 4.2 that made a big difference on some systems. Other improvements are already in the pipeline for future updates as well.

As regards testing Ableton and Musescore on the same Windows machine, that's something I may do in the future. First I would wait until I install Live 12 because I will be upgrading. Second, I'll need to install Musescore 4.2. But definitely MuseScore 4 and Ableton Live 11 Standard won't open on the same Windows machine. And even if they would (I might have been able to get it to happen once or twice by opening a certain one before the other one), you wouldn't get audio from each application simultaneously unless you went through a pretty big hassle and complexity of using something like VoiceMeeter. I mean I'm using this stuff for work as a professional. I really don't have time to be a beta tester. But I'll see what I can do when I get Live 12. The bottom line: I love MuseScore, I will figure out a workaround. I'm gonna use it and I'm gonna use Ableton. Period.

Re: Ableton and Musescore 4 not able to open on Windows 11 machine (which should probably be a new or separate threaad) nevertheless, here is a brief summary: With Ableton Live 11 Standard open, when attempting to then open Musescore 4 (not 4.2), there is a very short (less than one second) splash screen for MS4 and then it disappears. Nothing else. I should try and make a video using ClipChamp but again, time is money and I'm not a beta tester. I can work around it.

FWIW, real-time note input (playing your MIDI controller keyboard) in MS 4.2.1 appears to be based on Preferences > Note Input settings, i.e. it only plays the notes of your selected instrument for the duration that you have set in "Play Notes When Editing > Default duration". There does not appear to be any "MIDI Thru" setting for real-time performance/playback.

MuseScore 4.2.1
MacOS Ventura 13.6.4

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