For some time I have been frustrated by the fact that the MIDI music software industry has been unable or unwilling to adopt a standard naming convention for the keys of a keyboard instrument. So I am posting up my own solution to the problem, in case others wish to use it.
“Middle C” (261.63 Hz in “traditional” tuning) or MIDI note 60 is referenced in different ways within VST user interfaces and documentation:
- Some creators reference MIDI note number 60 as “C3”, which means that the lowest possible note (MIDI 0) is “C-2” and the highest possible note (MIDI 127) is “G8”.
- Others reference MIDI note 60 as “C4”, which means that the lowest possible note (MIDI 0) is “C-1” and the highest possible note (MIDI 127) is “G9”.
Within the MIDI standard there is no definition of how to reference a specific octave. I learned Scientific Pitch Notation (SPN), also known as American Standard Pitch Notation (ASPN) and International Pitch Notation (IPN)) – in which Middle C is “C4”. However, MIDI note 60 can be found referenced as C2, C3, C4, or C5 or whatever you want.
In practical terms, what this means is best described by an example. Let’s say I connect my favourite sequencer to a VST instrument in my DAW. Then I create an instruction in the sequencer that looks like this:
[C4 E4 G4]
The sequencer sends MIDI notes 72, 76 and 79. The instrument sounds C5, E5, and G5 – an octave higher than my intention.
My DAW (Reaper) is very powerful, and I can easily configure it to display note names one octave lower – but then I would have to maintain a library of DAW profiles for different instruments, and if I simultaneously use two or more instruments that use different referencing, that approach won’t work.
This solution employs the VST called Notemapper by codeFN42. It is an awesome tool that allows you to alter, redirect, or even filter out any MIDI input to become whatever output you need. So I created a Notemapper preset to modify a “C3” referencing to “C4” standard. It simply subtracts 12 from every incoming MIDI note number, such that (for example) a MIDI 72 input is converted into a MIDI 60 output.
Using this fix, I can now imagine a sound and write “C4” in the sequencer, and then the connected synth will sound and/or record what I understand to be Middle C (MIDI note 60), per my intention. (With a little tinkering, you could create a variant of this for any adjustment you need for a note number/name mapping problem.)
- Download the NoteMapper VST and install it.
- Download my NoteMapper preset file, and copy it into the Presets folder for NoteMapper. By default the folder will be [drive]:\Docs\codeFN42\Notemapper\Presets
Then, whenever you need it:
- In your track FX chain, drop NoteMapper in before whatever would be receiving the “C3” style note messages.
- Open the NoteMapper user interface and Load the preset called C3-Middle-C to C4-Middle-C.codefn42p
- If recording MIDI from this track, don’t forget to set your DAW to record the output MIDI notes, not the input – because on input the NoteMapper hasn’t done its job yet!
NoteMapper by codeFN42 – (Web Page)
Preset: C3 Middle C to C4 Middle C – (Google Drive Download)
- The preset filters out MIDI notes 0 thru 11.
- It converts input MIDI notes 12 thru 127 by subtracting 12.
- It does this on all 16 MIDI channels.
- Nothing else is altered.