Chirps - Mono instrument not in MIDI mono mode

• Feb 2, 2016 - 17:15
Type
Functional
Severity
S4 - Minor
Status
active
Regression
No
Workaround
No
Project

MuseScore 2.0.2, default instruments.xml, default SF FluidR3 and other SF

1) This may already already known, but I cannot find a reference, sorry if it is a duplicate
2) I know, MuseScore is not intended be a music synthesizer, but it does seem to be able to work as such.
3) The problem may be OS or hardware specific (Windows 7) so I have incuded an MP3 file showing the effect.
4) The problem will only manifest itself if the start or end of the bend are not 0. This may not be usual for pitch bends, but this is certainly the case for some of the presets.
5) The audibility depends on the bend (the examples are all for 3 tones)

Qualify the title with “for certain instruments”
The example is given with the Bb trumpet (common instruments) in the FluidR3 SF – change the instrument to Bb clarinet and the problem goes away but I originally found the problem with the Bb clarinet in my own soundfont.

This offset between the timing of the pitch bend and the timing of the bent note creates audible chirps

On my machine, when a note is bent up, there is a chirp at the end when the pitch bend returns abruptly to 0.
When a note is bent down (starting from +3) the +3 bend is applied to the end of the previous note (100% note length).

In the attached 4/4 “score”, the first motif is a bent up whole note (120 bpm) with a chirp at the end. The second motif is a half note followed by a bent down whole note creating a chirp at the end of the half note. Adding a 1/16 rest before the bent note removes the chirp. At X there is a 1/32 rest and still no chirp. At Y there is a 1/64 rest and there is a small chirp.

The phrase is repeated at 60 bpm. This time there is no chirp at Y with a 1/64 rest, but there is at Z with a 1/128 rest.

The offset is, therefore, a function of time and not beats being between 4/64 and 4/128 seconds – 40 to 50 ms.

The problem goes away if you change the instrument to Bb clarinet (common instruments).

I found this problem while planning a plugin for portamento using pitch bend. The hand written trials for an octave or more were quite encouraging, except for this problem, but I do not yet know if it will be possible do do it automatically using the plugin interface (the sum total on "bend" in the V2 plugin documentation is "inherits element" which is par for the course in OOP).

Of course, it might be easier to introduce a simple generalised portamento / glide / fall / scoop function along the lines of the Noteworthy MPC with the addition of appropriate preset values (no visible graphics on the score – all the symbols already exist) into MuseScore than to fix the very clever bend function which probably functions very well for normal guitar pitch bend.

Good luck

Attachment Size
Chirp.mscz 7.71 KB
Chirp mp3.zip 681.22 KB

Comments

I have traced the messages sent to the controller and I found that the sequence and timing of messages was OK. The problem lies in the fact that the synthesizer was not being set to mode 2 or mode 4 which is a prerequisite for portamento or a fully functional pitch bend (scoop, etc). For wind instruments, mode 4 is pretty much essential for reasonable playback, whether or not portamento or pitch bend is used. It was clear from the test that the synthesizer was not in mono mode (channel mode message 126 “mono on”).

Is there a facility for doing this?