[SOLVED] What has happened with midi output?

• Feb 25, 2021 - 12:20

I just got almost everything right with Midi output. I have installed rptMIDI as a "virtual" device. Musescore outputted nicely all midi data in realtime to rptMIDI, which in turn sent it to a microcontroller over Wifi. Really cool stuff! I had Musescore 3.3.something and was not quite satisfied with everything that came through. Note_on events came nicely through, with velocities. And there was a real Note_off event instead of a Note_on with velocity zero. But I needed also a control change event for crescendos, because the instrument playing the notes is a pump organ! And crescendos happen by lifting gradually a lid. Once again, cool stuff! The minor annoyance was that the CC events came nicely through during the crescendo. But when the crescendo ended, the last CC value of the crescendo got repeated for each single note played after that. I don't need unnecessary events in the stream. So I upgraded to the newest Musescore:

OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.6.2.548021803, revision: 3224f34

But now I get no CC events through! Note_on and Note_off work. But the crescendo happens only through velocity. Besides that, a lot of Note_off happens all the time. Attached is a picture of the piece of music I put on play through Midi.
test.png

And below is a data list of all received data. It begins with some CC values, which is quite ok, although I don't use them. Then come Note_off events for keys 0 to 41, and for key 60. Odd selection. Then comes the actual score playback with Note_on and velocity and Note_off. The crescendo is only in the velocities, not as a separate CC event, although I have set in the synthesizer settings that I want CC events only (constant velocity).

After the last note has played, I get a single CC 64 value 0 event. After that I get Note_off events for all keys from 0 to 127. Then a list of CC events. Then again Note_off events from 0 to 127. And finally a single CC event.

The first list of Note_off events obviously gets interrupted by the tune starting to play. Obviously there was a Note_on for key #60, too, but my software missed that. Whether or not there were Note_off events for all 128 keys before the playback started is not of my concern. What concerns me is that in the previous version, Musescore quite nicely added the CC event for the crescendo, but in this newest version, the crescendo won't show up as CC events even though the settings imply it would.

All my 7th grade pupils as well as high school students have MuseScore on their computers and we use it a lot. This project with the pump organ is just a tiny bit of everything. The students can write music on MuseScore. I load their scores on my laptop, hit Play and the pump organ starts playing everything. 3rd time: really cool!

Here is the list of midi events during playback of the attached score.

CC: 0 value: 0
CC: 32 value: 0
CC: 7 value: 100
CC: 10 value: 64
CC: 93 value: 0
CC: 91 value: 0
CC: 64 value: 0
NoteOff 0
NoteOff 1
NoteOff 2
NoteOff 3
NoteOff 4
NoteOff 5
NoteOff 6
NoteOff 7
NoteOff 8
NoteOff 9
NoteOff 10
NoteOff 11
NoteOff 12
NoteOff 13
NoteOff 14
NoteOff 15
NoteOff 16
NoteOff 17
NoteOff 18
NoteOff 19
NoteOff 20
NoteOff 21
NoteOff 22
NoteOff 23
NoteOff 24
NoteOff 25
NoteOff 26
NoteOff 27
NoteOff 28
NoteOff 29
NoteOff 30
NoteOff 31
NoteOff 32
NoteOff 33
NoteOff 34
NoteOff 35
NoteOff 36
NoteOff 37
NoteOff 38
NoteOff 39
NoteOff 40
NoteOff 41
NoteOff 60
NoteOn 62 velocity: 44
NoteOff 62
NoteOn 64 velocity: 55
NoteOff 64
NoteOn 65 velocity: 66
NoteOff 65
NoteOn 67 velocity: 78
NoteOff 67
NoteOn 69 velocity: 89
NoteOff 69
NoteOn 71 velocity: 100
NoteOff 71
NoteOn 72 velocity: 112
NoteOff 72
NoteOn 71 velocity: 112
NoteOff 71
NoteOn 69 velocity: 112
NoteOff 69
NoteOn 67 velocity: 112
NoteOff 67
NoteOn 65 velocity: 112
NoteOff 65
NoteOn 64 velocity: 112
NoteOff 64
NoteOn 62 velocity: 112
NoteOff 62
NoteOn 60 velocity: 112
NoteOff 60
CC: 64 value: 0
NoteOff 0
NoteOff 1
NoteOff 2
NoteOff 3
NoteOff 4
NoteOff 5
NoteOff 6
NoteOff 7
NoteOff 8
NoteOff 9
NoteOff 10
NoteOff 11
NoteOff 12
NoteOff 13
NoteOff 14
NoteOff 15
NoteOff 16
NoteOff 17
NoteOff 18
NoteOff 19
NoteOff 20
NoteOff 21
NoteOff 22
NoteOff 23
NoteOff 24
NoteOff 25
NoteOff 26
NoteOff 27
NoteOff 28
NoteOff 29
NoteOff 30
NoteOff 31
NoteOff 32
NoteOff 33
NoteOff 34
NoteOff 35
NoteOff 36
NoteOff 37
NoteOff 38
NoteOff 39
NoteOff 40
NoteOff 41
NoteOff 42
NoteOff 43
NoteOff 44
NoteOff 45
NoteOff 46
NoteOff 47
NoteOff 48
NoteOff 49
NoteOff 50
NoteOff 51
NoteOff 52
NoteOff 53
NoteOff 54
NoteOff 55
NoteOff 56
NoteOff 57
NoteOff 58
NoteOff 59
NoteOff 60
NoteOff 61
NoteOff 62
NoteOff 63
NoteOff 64
NoteOff 65
NoteOff 66
NoteOff 67
NoteOff 68
NoteOff 69
NoteOff 70
NoteOff 71
NoteOff 72
NoteOff 73
NoteOff 74
NoteOff 75
NoteOff 76
NoteOff 77
NoteOff 78
NoteOff 79
NoteOff 80
NoteOff 81
NoteOff 82
NoteOff 83
NoteOff 84
NoteOff 85
NoteOff 86
NoteOff 87
NoteOff 88
NoteOff 89
NoteOff 90
NoteOff 91
NoteOff 92
NoteOff 93
NoteOff 94
NoteOff 95
NoteOff 96
NoteOff 97
NoteOff 98
NoteOff 99
NoteOff 100
NoteOff 101
NoteOff 102
NoteOff 103
NoteOff 104
NoteOff 105
NoteOff 106
NoteOff 107
NoteOff 108
NoteOff 109
NoteOff 110
NoteOff 111
NoteOff 112
NoteOff 113
NoteOff 114
NoteOff 115
NoteOff 116
NoteOff 117
NoteOff 118
NoteOff 119
NoteOff 120
NoteOff 121
NoteOff 122
NoteOff 123
NoteOff 124
NoteOff 125
NoteOff 126
NoteOff 127
CC: 123 value: 0
CC: 0 value: 0
CC: 32 value: 0
CC: 7 value: 100
CC: 10 value: 64
CC: 93 value: 0
CC: 91 value: 0
CC: 64 value: 0
NoteOff 0
NoteOff 1
NoteOff 2
NoteOff 3
NoteOff 4
NoteOff 5
NoteOff 6
NoteOff 7
NoteOff 8
NoteOff 9
NoteOff 10
NoteOff 11
NoteOff 12
NoteOff 13
NoteOff 14
NoteOff 15
NoteOff 16
NoteOff 17
NoteOff 18
NoteOff 19
NoteOff 20
NoteOff 21
NoteOff 22
NoteOff 23
NoteOff 24
NoteOff 25
NoteOff 26
NoteOff 27
NoteOff 28
NoteOff 29
NoteOff 30
NoteOff 31
NoteOff 32
NoteOff 33
NoteOff 34
NoteOff 35
NoteOff 36
NoteOff 37
NoteOff 38
NoteOff 39
NoteOff 40
NoteOff 41
NoteOff 42
NoteOff 43
NoteOff 44
NoteOff 45
NoteOff 46
NoteOff 47
NoteOff 48
NoteOff 49
NoteOff 50
NoteOff 51
NoteOff 52
NoteOff 53
NoteOff 54
NoteOff 55
NoteOff 56
NoteOff 57
NoteOff 58
NoteOff 59
NoteOff 60
NoteOff 61
NoteOff 62
NoteOff 63
NoteOff 64
NoteOff 65
NoteOff 66
NoteOff 67
NoteOff 68
NoteOff 69
NoteOff 70
NoteOff 71
NoteOff 72
NoteOff 73
NoteOff 74
NoteOff 75
NoteOff 76
NoteOff 77
NoteOff 78
NoteOff 79
NoteOff 80
NoteOff 81
NoteOff 82
NoteOff 83
NoteOff 84
NoteOff 85
NoteOff 86
NoteOff 87
NoteOff 88
NoteOff 89
NoteOff 90
NoteOff 91
NoteOff 92
NoteOff 93
NoteOff 94
NoteOff 95
NoteOff 96
NoteOff 97
NoteOff 98
NoteOff 99
NoteOff 100
NoteOff 101
NoteOff 102
NoteOff 103
NoteOff 104
NoteOff 105
NoteOff 106
NoteOff 107
NoteOff 108
NoteOff 109
NoteOff 110
NoteOff 111
NoteOff 112
NoteOff 113
NoteOff 114
NoteOff 115
NoteOff 116
NoteOff 117
NoteOff 118
NoteOff 119
NoteOff 120
NoteOff 121
NoteOff 122
NoteOff 123
NoteOff 124
NoteOff 125
NoteOff 126
NoteOff 127
CC: 123 value: 0


Comments

Would you mind also sharing the actual score file itself (mscz) for others to start their investigation from the same starting point?

In reply to by jotti

That score however is for a piano instrument. An instrument not capable of SND (as you can see in the staff properties for the instrument as well).

Try again with an instrument actually capable of SND, such as a wind or string instrument

In reply to by jotti

Ok, "Harmonium" didn't work (that's pump organ or reed organ in Swedish). But Trumpet worked. This is a bit unfriendly behaviour to me. If I set in MuseScore that I want CC events for the dynamics, I'd expect to get them, no matter what the instrument is. It's the receiving sound module's responsibility to create the sound, not the module transmitting the data. I'd expect a good sound module not to response to a crescendo on a long note or chord, if the sound is say piano. MuseScore (or any other sending module) shouldn't care whether or not it makes sense to send the data.
And if the Piano doesn't send the CC crescendo, the Harmonium really should! It's a standard feature of a harmonium to include these Schwellwerk like levers, which open or close critical lids, alternatively adds stops and octave couplers the more you push the levers with your knees. My cool microcontroller controlled harmonium is a Carpenter from 1902 (USA). My other harmonium is a Schiedmeyer (Germany) from later 19th century. Both do beautiful crescendos with these Schwellerpedalen.
But I guess I'm able to edit or add instruments to some xml file so that they would include the CC data in Midi output. Or are those things somehow hardcoded in the sound libraries once and for all?

In reply to by jotti

Why? Certain instruments simply can't do single note dynamics, like Percussion, Pianos, plucked strings.

Harmonium might have been an oversight, it uses the "Reed Organ" sound, switch to "Reed Organ expr." and in the Instrument properties switch on Single Note Dynamics. Anctually the latter seems to be sufficient, the former then happens automatically. Or just use "Reed Organ" it has set it right.

In reply to by jotti

As a work around, I can choose Trumpet as an instrument to enable sending CC events for the crescendos. Then I can go to the mixer and change the instrument sound from Trumpet to Harmonium or Reed organ, just so I can hear a harmonium like instrument while editing in MuseScore. And when I actually want my wireless Carpenter harmonium to play the tune, I enable the midi output, put my computer on mute and hit play.
[edit]
Ok, Jojo, that seems to be the proper way. Thanks.

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