Hi,
As a newcomer to Midihub and midi more broadly, I find some things very easy to implement with the Midihub and others very difficult. I’ll explain what I’m trying to do below and add an appendix with background information.
1 Introduction
An oriental keyboard can divide the octave into 24 equally divided quarter tones. At initialisation the oriental keyboard is tuned as a normal keyboard. However, there is a number of switches laid out similarly to the keys on one side of the keyboard. If one such switch is turned on, the corresponding key is detuned by 50 cents across all octaves.
I’m trying to implement this on a normal keyboard, namely a Yamaha Reface CP. I’m trying to use the top octave (C#7 to C8) as switches. I struggle both with the pitchbend and the switching function.
2 Pitchbend
First, I made an attempt with using the top octave keys as momentary buttons rather than as switches. I filtered the E notes (E1, E2, …, E7) to a virtual pipe and let all the other notes pass to the midi out. In the virtual pipe I mapped the notes from channel 1 to channel 2. Then I transformed “note on E7 velocity >0” into “pitchbend lsb 0 msb 48” working with channel 2. Furthermore, I transformed “note on E7 velocity =0” into “pitchbend lsb 0 msb 64”. I send the result to the midi out.
What works? E7 is quiet. When pressed the other E keys are tuned down a quarter tone. When released they are tuned back.
What doesn’t work? All other keys are tuned down as well. I thought putting them in different channels would be enough. (Using the microscale function would not be possible as I would need 2^12 different scales, although I guess I don’t need all combinations …) Is there something I have misunderstood about pitch bend and channels?
3 Switches
I don’t want to hold down the keys in the top octave the entire time (ideally). Pressing the key once should tune the key down. Pressing it again should tune the key back up. I’ve tried to implement this with mappings for the bypass, but I have not been successful. I have only been able to get momentary buttons that way. Os there some easy way to implement toggles/switches/flag variables?
Appendix
Setup. I connect the midi out from the Reface into the Midihub midi in A. I connect the midi out A from the Midihub into the Reface midi in. I turn transmit midi on on the Reface.
My attempt at a patch is attached as oriental_keyboard.mhp. (In preset 5 if it matters.)
**
oriental_keyboard.mhp (429 Bytes)
**
The Yamaha Reface manuals are available here: reface - Downloads - Synthesizers - Synthesizers & Music Production Tools - Products - Yamaha USA Note that I have cp and not yc, dx or cs. The data list may be most relevant?
Something similar has been discussed before it seems. On the topic “OnOff Toggle Switch”. But it didn’t make me wiser and I’m not sure if it applies to what I’m trying to do.