Midi file with pitchbend sounds wrong in Ardour

That midi file sounds in Cubase normal - but in Ardour wrong. Sounds like cat whining.
The reason are the pitchbend datas in the Brass Section, Tenor and Trumpet tracks of this midi file.

Can anyone help me?

Most synthesizer patches have a setting for the amount of pitch change at maximum pitch bend range. You need to find that setting in whatever synthesizer you are using and set it appropriately.

No, that is not the solution. My used sounds and all in GM/GS have 2 semitons max up/down.
With the GM Sound Module in Ardour it must played right.

In Cubase also only used GM Sounds.

The file is a normal midi file who runs originally on all GM Soundmodules / Keyboards.

What synth plugin do you use?

Ardour plays no part in this, it just sends a pitch-bend message to the synth. So it depends on the synth and on the GM/GS soundfont used by the synth.

General Midi Synth of Ardour and Redux. In Redux i can see, that the sound has 2 semitones up and down.
Pitch bend works correct in the synth plugins - i can play it correct with my keyboard. 2 semitones up and down - same as in Cubase or GM.

If you try it out with the General Midi Synth in Ardour - or any other synth plugin, you will see/hear the problem. 3 tracks has a Pitch Bend datas - all have a problem: Brass, Sax and Mute Trumpet tracks.

General Midi defines a registered parameter number for pitch bend range, so you can send an RPN to set the pitch bend range to what you want (assuming GMSynth supports that RPN).

I found this example:
example of changing bend range with RPN

To change the pitch bend range on Channel 1 to +/- 12 semitones, you send the following sequence of Control Change messages:

Control Change Channel 1, Controller 101 (RPN MSB), Value 0
Control Change Channel 1 , Controller 100 (RPN LSB), Value 0
Control Change Channel 1, Controller 6 (Data Entry MSB), Value 12
Optional:
{
Control Change Channel 1, Controller 38 (Data Entry LSB), Value 0
}
Optional:
{
Control Change Channel 1, Controller 101 (RPN MSB), Value 127
Control Change Channel 1, Controller 100 (RPN LSB), Value 127
}

This sequence of Control Change messages sends a Registered Parameter Number (RPN) command.
• Registered Parameter 0 (RPN MSB 0, RPN LSB 0) is for Pitch Bend Range.
• For RPN 0, Data Entry MSB sends an amount of semitones +/- for the range. You need to look in your MIDI device manual or preform some tests to see the maximum range it will support. I think +/- 12 semitones is usually supported.
• For RPN 0, Data Entry LSB sets an amount of cents +/- for the range. However, the MIDI devices I have don’t respond to RPN 0’s Data Entry LSB, so I guess it’s often not implemented.
• The Registered Parameter MSB 127 LSB 127 is used to disable the Data Entry controllers from affecting anything. (It also disables the Data Increment or Data Decrement controllers, which is another way to change RPN values).

I have just checked, for Sax, Muted Trumpet, Ardour’s GMsynth has a pitch-bend range of 2 semitones by default. Though, granted, the soundfont used by gmsynth (S. Christian Collins--Pianist, Composer, Virtual Instrument Designer) does not do a great job for those instruments. – Is that what you refer to? The synth pitches correctly, but it does not sound nice?

Perhaps use ACE Fluidsynth with a better soundfont?

Yes it does. It also supports MIDI tuning standard (MTS) messages.
(same for ACE Fluidsyth).

Hello Guys - thanks your our help. I made 2 Videos - and now i found the cause - see the screenshots below the videos. Wrong Pitch Bend curve in Ardour is the cause.

And the solution you find at the bottom of this post.

In Cubase

in Ardour

I have the cause

Cubase - Pitch Bend

Ardour - Pitch Bend

The pitch bend range in Ardour is wrong!

And now i found the solution: Wrong Automatism Mode at imported midi pitch bend data.
In the Automation section there is a possibility to switch from linear to discrete. After that, the pitch bend curve is right for midi pitch bend.

I beg the development team to adjust this per default. I searched nearly a whole day now about the problem…

BTW: Is there anywhere a list editor that shows ALL data on a midi track (all notes, programm change, controller and of course the pitch bend range)?
If not - let me make here a suggestion for an improvement.

Greetings Stefan

1 Like

I would argue that linear should stay the default.
You would never be able to do those discrete pitch bends using the pitch wheel on an actual synthesizer.

1 Like

I’m glad that you have figures this out!

It is very odd that Cubase uses discrete pitch-bends.

As @peder said is is impossible to do this when playing with a MIDI keyboard to an [analog] synth. You cannot instantly move the pitch-wheel on a keyboard from one position to another.

Then again you could make a case that .mid files (when imported) can do this and should have explicit events for a curve. So the default should only be changed to discrete when importing files.

The question is, if Ardour imports a 0815 standard midi file right or no (if pitch bend data are in such a file). Cubase make that. The problem was 100% on the side of Ardour.
I think the midi file was produced 15-20 years ago in that way - but it sounds great now! The producer of this midi file made extreme good work!

for reference 08/15 is a German idiom for “common” or “ordinary” (references a WW1 machine gun).

In any case, Ardour was already supposed to mark MIDI events as discrete for MIDI imported from a file. For some reason that was lost and nobody noticed since years. Fixed now in Ardour 7.2.7.

1 Like

Wow. Very thanks for your great support. I’m looking forward to download the 7.2.7 (at the moment only the 7.2.5 ist downloadable).

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.