Ardour piano roll pitch display is one octave higher than what is actually triggered

Hi

Using Ardour 8.10 on Mac OS (ARM 64 version - M1) I am using two instrument Steven Slate Drums 5.5 and IK Multimedia Modo Bass.

When I use my keyboard (Novation X Station 25) - the lowest C in lowest octave (C-2 in octave -4) maps exactly to C-2 in Steven Slate Drums (the lowest note in SSD 5.5). But when recording it appears as C-1 in the ardour midi track.

I do notice that C-1 appears to be the lowest note that the piano roll can display so guessing that it’s just a display issue (When I press the lowest note on the virtual keyboard after displaying the entire range 11, it also triggers C-2, so it’s also a display issue on both the piano roll and virtual keyboard)

Is there any way to just shift the piano roll display on ardour midi track by one octave, so that the display is from C-2 rather than C-1.

when I press a key on the piano roll /virtual keyboard- it also triggers the plugin with one octave lower, so this seems to be purely a display issue,

Screenshot attached - for drums to trigger C1, D1 on Steven slate drums (highlghted in blue when triggered), on the piano roll I need to record on C2 D2 (note that on my keyboard I played C1, D1)

I see the same issue when I use modo bass 2 or ample guitar m lite or other instrument plugins.

Note that I create a mid track by selecting the instrument directly when creating the track. Not sure if I need to do something differently. Please let me know.

There are different conventions in the world of MIDI for octave labelling. Same thing happens for patch banks - some use zero as the first, some use one. Ardour has an option for the latter, but not for octave labelling. We should add such an option.

The note numbers are fixed and absolute however, so you should never see a mismatch there.

2 Likes

Thanks for the swift reply @paul

Yes I did note that the note numbers are fixed and all the midi files I export trigger correctly as well

Understood that there is no GUI config option to change octave labelling.

Is any config file I can edit manually via a text editor to tweak in the display, e.g. could this be done through one of ardour’s midi maps? (I did look into a couple but it seemed that it was more relevant for specific controls /transport rather than for changing the key - octave labelling).

No, the note_number → note label is hard coded, you’d have to change the source.

ParameterDescriptor::midi_note_name()

which says:

/* MIDI note 0 is in octave -1 (in scientific pitch notation) */
1 Like

I see it ( [ardour/libs/ parameter_descriptor.cc] (ardour/libs/ardour/parameter_descriptor.cc at master · Ardour/ardour · GitHub)) line 362

/* MIDI note 0 is in octave -1 (in scientific pitch notation) */
const int octave = b / 12 - 1;

I suppose if I wanted a quick fix , I could change it as below, presumably also would fix the virtual keyboard and the midi editor mouse over text.

/* MIDI note 0 is in octave -2 (in scientific pitch notation) */
const int octave = b / 12 - 2;

But to your point, if there are other plugins where note 0 is visually mapped to C-1 , then the display would again be incorrect for their tracks.

I guess the most flexible solution would be to have some sort of a track level config (maybe in the right click drop down on the track) where one could select the select the lowest octave for note 0, based on which this function would pick that value/modifier and update the octave parameter (no longer a constant). Also some sort of default config in preferences > midi to set the lowest default octave for the piano roll/virtual keyboard - by default would be -1 for backward compatibility.

Sounds like a bit of work, so I can see this would be lower in your priority list.

In the meantime I can live with mentally subtracting 1 from the displayed octave number.

Thanks again for your time @paul

We do not communicate things like “C0” to plugins. All MIDI pitches are defined by note numbers, for all MIDI things. The octave-based naming is purely for human display/consumption. The only time you could get unexpected results is if a plugin allows you to type pitches into it as “C0” … that would give a different MIDI note number than it would in ardour (or perhaps another plugin).

Understood and fixed my text above - it’s the midi note numbers (0-127) that are relevant for communicating with plugins and that the pitch/octave is display only.

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