Topic: Mirror the keyboard

Following the instructions of pianist Marc-André Hamelin, I practice many passages with symmetrical inversion (https://practisingthepiano.com/symmetry_in_practice/)
Unfortunately it sound horrible !
Is there a way to map the keyboard the following ways;
-Mirror on D 4
Mirror on Ab 3
Invert the entire keyboard

Thank you for your help!
Daniel

Re: Mirror the keyboard

Cuenotes wrote:

Following the instructions of pianist Marc-André Hamelin, I practice many passages with symmetrical inversion (https://practisingthepiano.com/symmetry_in_practice/)
Unfortunately it sound horrible !
Is there a way to map the keyboard the following ways;
-Mirror on D 4
Mirror on Ab 3
Invert the entire keyboard

Thank you for your help!
Daniel

Not sure if anybody has done this already, but you can do it yourself very easily with many tools, as follows:

- connect your keyboard to computer using one MIDI channel (say 1)
- use a piece of software in the computer reading from that MIDI channel, doing the transform and spitting out results in a different MIDI channel (say 2)
- set up pianoteq to play only in response to the second MIDI channel (what I have called 2 in the example above)

How to do "the transform"? Pretty easy: for example in Python you can use the mido module, read all data from MIDI channel 1, and write the same data out in MIDI channel 2 *changing only* the note number. If you wanted to "flip" the keyboard completely you will change note number "n" into "127-n", so extremely easy. You may need to use a different number rather than 127 since IIRC the piano keyboard is not in the middle of the MIDI range. How? Simple, middle C is n=60 the C# one semitone up is 61 and the D one other semitone up is n=62. If I understand your requirement correctly, you would like this note to remain the same (if not, just use another note -- or pair of notes -- for the following). You want

m = x - n

where
m is the new note number,
n is the old note number, and
x is the unknown transpose factor

In the example above we want n=62 be mapped to m=62 so we have 62=x-62 and hence x=124 (rather than my first guess of 127, which would still sound good, but transposed by 3 semitones).

Have fun!

PS: I also do a similar kind of practice, but not by playing whole pieces this way.... just doing improvisation on keyboard sections, following the wonderful Phil Best's guidance

Last edited by dv (22-05-2024 04:38)
Where do I find a list of all posts I upvoted? :(

Re: Mirror the keyboard

It should also be possible to achieve the same result in many hosts such as Cakewalk (PC) or Logic (Mac), by applying a custom transposition; of course, you would have to manually transpose each of the 128 available notes (0 = 127, 1 = 126, 2 = 125 and so on), but it's only a matter of time, no calculation is necessary.
The advantage is that this transposition can be done directly, before the midi messages arrive at the Pianoteq, without having to use two midi channels.
To be checked, of course.

Re: Mirror the keyboard

I was hoping that there is a way to do it directly in Pianoteq. In "advanced tuning" is a menu called "Keyboard mapping". There is a command "Reverse keyboard direction", but it gives strange noises instead of the selected piano sound. There is also a command "Load mapping from Scala KBM file".

Any ideas?

Re: Mirror the keyboard

https://forum.modartt.com/viewtopic.php?id=3608 offers a potential solution.

MOTU M2 using native ASIO driver, Windows 11, weird tweaks needed to make it work, but seems fine now.
I have posted several times about tweaking Pianoteq