Thereâs a few related features here, and in a way that it wouldnât make sense to implement the main feature without also implementing some of the others - what use is there to specify a Key if it doesnât do anything? So, I think we should start by picking/prioritizing one of the âsubâ features which are actually the features you want, and talking through how it would work.
Preface
Iâll provide some alternative Bitwig ways to achieve this, but Iâll start by arguing against a few of these requests to get to a common ground before proceeding. To be clear, a Key is the Tonic Note (C) plus the Scale (Major); a Scale is an ordered collection of Notes (CDEFGAB); an Interval is the distance between two Notes (C->E=4); Scales can have different names depending on the ordered collection of Intervals within (Major vs. Minor); and Modes are an easy way of saying that the same exact Scale with a different Tonic is a new Key thatâs harmonically related to the others sharing that same Scale (C Major = A Minor). This is still a simplification, and itâs too specific to Western Harmony, but it will start to illustrate the problems (and solutions).
How does this work with individual Notes?
Considering a Piano Roll that swaps Notes/Pitches for Intervals-compared-to-the-Tonic, you might have to accurately name the Intervals like a Minor-3rd, and that will change between the Scales/Modes (but not the Keys). For example, all Major Scales have a Major-3rd, and all Dorian Scales have a Minor 3rd. Considering that the Interval will change on the 3rd Note, and considering the feature, I have to ask is that what you want? If you put a Note on the Minor-3rd and automate the Key, it would become a Major-3rd instead; what was important to you, the Interval or the Scale Degree? Surely thatâs going to be different depending on the context of the music, i.e. thereâs no global or hard-and-fast rule, and Iâd want that to change differently in different transitions/Chords.
How does this work with Chords?
This problem exactly extends to Chords as well, which have a larger ordered collection of Intervals: did you only care about the Scale Degree, and so the Intervals should adjust to make a completely different Chord; or did you care about the Intervals, and perhaps the Chord moves to a different Tonic to maintain those? In other words, should a Cm13 turn into a Dm13, or a Cdim13 (not a perfect translation, just illustrating the qualities that change). To make any decisions, youâd have to understand the Chord in the first place, which is another problem because that Chord can have many names, all depending on the context theyâre used in; then consider the automation of that context!
Accidentals
Finally, âout of Keyâ is never a bad thing, and I think you understand this at least as much to want to automate the Key; the new Notes would not always be in the previous Key, purposefully, and this is fundamentally the same whether or not you call it a Key Modulation (or automating from one Key to another). This causes problems for both the transposition and the restriction of Notes; an âAccidentalâ in one Key is a âNaturalâ in another, but these are just words used to describe the Notes, they have literally no bearing on the music. In many cases, Accidentals will sound âbetterâ than other Natural Notes in the Scale!
The Piano Roll
Fundamentally, a Piano no longer makes sense to use as a visual or an input device. For the GUI, this is âsimplyâ a whole other tab to visualize/edit Notes in, but how do we handle the HUI provided by MIDI Controllers? What Notes map to this system and why? The Intervals and Notes themselves no longer match up, and I canât get around this being a massively confusing problem to solve. You play a C then D, which are a whole-tone apart, but after the transpositions youâre playing an E then F which are a semi-tone apart. Or you play a D then Eb but itâs just the same D note twice. You have to abandon any knowledge of a Piano and learn a new, dynamic transposition that can only be understood inside Bitwig, depending on where you are in the Timeline of a specific Project.
Where to go from here?
I think by now you might see that you should continue on your Musical Theory journey, and that we have a lot to consider with these features even after weâve simplified them for examples, having ignored a massive portion of music across the globe to focus on the entry-level theory. I hope we can use some of this information to narrow down the feature into something that will consistently be useful for everyone, and something that technically and intuitively makes sense.
An alternative solution
Consider the C Major Scale, which starts at C and only includes the thick/white-keys on the Piano; then, understand that every other Diatonic Mode is derived from that Scale - most commonly A Minor - and this already goes far-beyond the vast majority of music you probably encounter. Using only these Notes, and centering on different Tonics (i.e. are you preferring that Cmaj, or the Emin, or the Amin), you have essentially all the possibilities you will need, and you will gain enormous knowledge about Intervals and Chords.
Then, Bitwig can easily solve the transposition for you with a Note Shifter. Youâre already in control of the Scales, and you hand the Tonics to Bitwig; after all, a C Major sounds the same as any other Major, like an E Major, itâs just overall in a higher frequency range. Thatâs important, because you control how a piece sounds primarily via the Scale, then shifting the Tonic around can be helpful if you wanted a bass-note to be a little higher/lower, or perhaps your melody needs to be higher to âscreamâ a little.
To set this up, add a âGlobal MIDIâ Track somewhere in your Project, mute it or otherwise stop it from outputting sound, and add a DC Offset to it. On any of your other MIDI Tracks, at the beginning, add a Note Pitch Shifter; add an Audio-Rate Modulator to it, choosing that Global MIDIâs DC Offset (not the Track itself) as the Source; finally, assign that Modulator to 100% of the Semitone change. Copy/paste this Note Pitch Shifter onto all of your MIDI Tracks.
Now, you control the Intervals and Chords, and you have access to essentially all of them even by focusing only on the white-keys. This is the primary part of composing, you make sounds over time according to how you want them. Then, if you find that you need certain Notes but they are either too high/bright or low/dark, adjust the DC Offset to transpose everything. It will sound the same, just higher or lower. This is very important; you donât want to change a setting and have all of the Intervals/Chords change!
A final thought
In the last part, the solution purposefully ignores Intervals, Qualities, Chords, Scales, etc. because you âownâ that as the composer. A simple and constant shift of every Note by a static amount of semitones is the definition of a Transposition, which is what you want; what you described is not a transposition, so do not continue to use that term in that way. If you wrote in Major, thatâs exactly what you wanted, you donât want it in Minor or Dorian because then it would sound completely different; but a C Major and an E Major are basically the same exact thing.
I strongly encourage you to not approach composition from the Key; that is entirely backwards. Music Theory is for describing music that already exists; it does not prescribe what music should do. You should not be picking a Key when you start a Project and then following the Notes/Chords within it. The Key follows the composition, not the other way around.