MIDI pitch adjustment

For a project I have a MIDI track (ACE Fluidsynth plugin) and (existing) audio tracks. The audio tracks are played at a slightly higher pitch than conventional (A=445).
I would have expected a simple means to ‘tune’ the plugin but I can’t seem to find it.
I can bounce the MIDI to audio and then shift pitch, but this feels a bit awkward.
Any suggestions on how to tune the MIDI?

I wonder if you could put an automation track for the tone wheel and then adjust the tone wheel slightly at a constant value to tune the track.

There seems to be a MIDI Tuning Standard that would allow such adjustments. No idea if Fluidsynth supports it. But – please correct me if I’m wrong – if Fluidsynth would support it, then it would have to detune every sample on the fly. So technically it might not be a difference if you detune the whole track in a second step.

tl:dr: Put a control point at the beginning of the “Bender” automation lane for the right MIDI channel and edit the value to 8593.

If that is out of tune then I got the maths wrong and you’ll need to adjust it by ear, or do the maths yourself and get it right: here’s my working:

Bender takes values from 0 (fluidsynth defult setting is that that means downtune 2 tones) to 16383 (uptune 2 tones). Normal pitch is 8192. So a semitone difference corresponds to a difference of 2048.

445/440 = 1.011, which is the 61.34th root of 2.
So the interval you need to uptune is a 61.34th of an octave, which is a 5.11th of a semitone.
8192 + (2048 / 5.11) = 8593

1 Like

Note that the range depends on the instrument (here: soundfont) and synth, and the mapping may or may not be linear.

I just want to point out something that seems to have been missed in this thread so far. You’re using Fluidsynth, a sample playback engine. If playing middle A doesn’t generate a 440Hz tone, then that suggests that the samples themselves are not “in tune”

What soundfont are you using, and are you sure it was created with A=440 ?

[ EDIT: A=440, not C=440 :slight_smile: ]

If middle C generates 440Hz it is badly out of tune
It is A that is supposed to be 440Hz :slight_smile:

And the OP says the audio was recorded with A=445, that is why he needs to retune the synth.

Meh, I can’t even read :frowning: … thanks for pointing out his initial explanation.

The bender 8593 controller setting is good enough for my purposes. Thanks.
Is there a synth plugin for Timidity?

… and can be adjusted. Edited my reply.

Just when you think you’ve understood something…

1 Like

I’ve just added MTS support to a/ACE Fluidsynth.

Ardour 6.5.235 now also includes a script to generate MTS message for 12TET for a given A4 tuning frequency and send it to a track or plugin:

image

2 Likes

Excuse my ignorance… I built 6.5 from git (6.5.250). Where do I find this setting?

It is a Lua script that creates MTS messages. The easiest way to access it is probably to assign to a script button, top-right in Ardour’s main toolbar:

image

Alternatively you can manually run it from Menu > Window > Scripting or assign it in Menu > Edit > Lua Scripts > Script Manager.

You can also use other tools to create MTS (MIDI Tuning Standard) messages and send them to the plugin.

2 Likes

Great, thanks a lot!