We’re a bit puzzled by this problem. As Richard has already said, a note on message with a velocity of 0 is often interpreted as a note off message. The question is why notes are being sent with a velocity of 0, given that when we try to play back using your project to an external MIDI device, we get notes sent with non-zero velocities.
And on my video, you can see that all these note messages are sent before the playhead goes on the each note.
I just double-checked on Windows as well as Mac, using MidiView to try to match your setup. If I do the following:
- open your original file from earlier in this thread
- add a new slot in the MIDI rack
- load MidiView into the slot
- assign the “Bassoons” staff to the MidiView entry
- play back
Then as you can see I do get sensible MIDI values:
From my point of view, the way v5.0 generates MIDI data is different than the previous versions.
Scrub playback send the data correctly both notes on and off.
Normal playback (shortcut P) does not generate data correctly.
What are the differences between those two processes ?
P.S. With v5.0, when I click one note, “note on” is sent with velocity of 64.
So I can hear sound, but no “note off” with 0 velocity message is present. So, my piano remains with the key depressed and I should clear it manually.
As I said, my guess at the moment is that the difference between v4 and v5 is the MIDI tempo sync. That would explain why auditioning and scrub playback are fine - we don’t send any tempo information in that case. That’s just a guess though.
If you load MidiView directly into the MIDI rack in v5, and output to that, instead of outputting to one of the rtpMIDI ports, does it then work for you? (Or is that what you’re doing already?)
As MIDIView is an executable, I do not know how to load it in v5.0 MIDI rack.
Could you tell me how to proceed ?
If you start up MidiView before starting Dorico, it will appear as an extra MIDI port in the rack of MIDI devices, so you can choose it in the rack:
Thank you for the instructions.
Here is what I got.
As far as I can see, it is the same.
As I have used rtpMIDI for more than 20 years, I consider it as reliable
For my use, it is necessary to split VSL and Dorico on two different computers, because of the computing power needed, when I work with symphonic orchestra.
I am pretty much out of ideas I’m afraid. @Ulf, do you have any thoughts?
To be honest, me, too. Even though the audio engine is receiving and sending MIDI, it only hands it on and does not interpret the MIDI stream. Therefore I have no idea why note on events would get ditched or transformed to note offs.
My sample rate is 48Khz
Is the MIDI stream bidirectional ?
In other words is Dorico waits or uses data from VSL ?
No, hopefully not – but check on the Play page of Preferences that you don’t have any of your MIDI output devices also chosen as MIDI input devices.
All of my output devices were ticked as input devices as well. Honestly, I do not remember to have done this.
Is it done by default ?
To be on safe side, I unticked all input devices, restarted Dorico, but no changes.
Should I restart the computer ?
I don’t think that would help, but at the same time, I also think it could not hurt!
OK, I am doing it right now…
Another thing to try is turning off ASIOGuard in Play preferences. Again I doubt it will help, because ASIOGuard isn’t normally involved in external MIDI anyway, but it can’t hurt to try.
No changes, even with restarting Dorico each time.
No idea if it’s relevant, but I noticed one change … D4 sends NOTE OFF as Note On with velocity 0, while D5 sends NOTE OFFs using the dedicated code with a value of 64.