Keys illumination working strange in the IOS appp

Trouble with Synthesia, your keyboard, or adapter? Think you found a bug?
When describing problems, always mention your OS and game version (shown at the bottom of the title screen).
  • If your keyboard has USB or MIDI ports, there is a tremendously high chance (>99%) it will work with Synthesia. See what you'll need on the keyboards page.
  • If you have a Logitech webcam and can't get your keyboard/adapter to work, see this post.
Post Reply
Posts: 2

Post by legeomancien »

This post is for the dev team of Synthesia...

I use Synthesia with a lumi keys keyboard.
-on a pc -Windows 10 : V10.8.5686
-on an Ipad : V10.8.5687

It is working perfectly with the PC version (kudos for this excellent training software !)

With the Ipad version, it is very odd :
-not all the notes to be played are illulminated
-when chords most of the time only the lowest note glows
-it is not related to a given key.

To try to understand, I generated my own midi file
and found that only the lowest note of chords glows and some notes keep glowing without being hit...

Maybe my file is not made correctly for Synthesia.
So, I found a very simple song in your Library that perfectly shows the issue.

« oh when the saints », choose the left hand practice.

Here is the detailled behaviour of my lumi keys :

F,G : OK
E,G : OK
D,G : OK
C,E,G : OK
E,G : only E glows
D, G :only D glows
C,E,G :only C glows

The same works perfectly on Windows.

I had a look with a midi analyzer and the main difference between both is that on Windows we see only channels 1 and 2.
On the Ipad,, the channels sometimes switch to 5,6,12 – never above 12.
This looks like an MPE behaviour…

There are 2 differences between window and Ios :
-the version of Synthesia (5686 older for Windows vs 5687 ios)
-the lumi keys is linked by a usb cable on Windows, and Bluetooth for Ios

I tried about all the possible settings in Synthesia but nothing solves the issue.

I suspect a bug somewhere.
Installing IpadOS 16.1.1 from 15.8 did not improve anything.
Updating Lumi Keys firmware, changing the mode (MPE.Multi, singke) did nothing.

So the focus comes on Synthesia for Ipad.
Can you have a look and solve that ?
Posts: 13047

Post by Nicholas »

Thanks for the very detailed bug report.

It's curious that the channels being used are different. I wonder if they have things implemented differently in the firmware between a USB connection or a Bluetooth one? That single digit change between the Windows and iPad version didn't have anything to do with the key light code, so they should be behaving identically. Do you have any way to also connect to your lumi keys via USB on the iPad? (If it's the usual Lightning connector, then Apple's Lightning to USB Camera Adapter is the right tool for the job.) That would be a good way to check if the Bluetooth vs. USB connection was the case. (Although, it seems strange that the ROLI folks would change the keyboard's behavior depending on the connection type.)

I have seen some situations with other Bluetooth MIDI devices where they had trouble sending/receiving messages too quickly. Maybe when the light messages for the chords are being sent, it's too much data and some of it is getting truncated? (Normally that would seem silly because it's just a few bytes, but I've seen it happen via Bluetooth with the ONE Piano Hi-Lite.)
Posts: 2

Post by legeomancien »

Thank you, Nicholas.
Good news.
With USB, there is no problem with IOS.
For those interested, my Lumi needed to be connected through a powered USB Hub to be seen by the Ipad.

So, the trouble comes from the bluetooth midi or maybe the way synthesia uses it.
The Lupi App manages perfectly the Lumi keys via Bluetooth.
Digging a little bit, I found that Bluetooth midi is not handled completely by IOS.
Each app is supposed to manage it.

The change of channel number is a normal MPE behaviour which shows that bluetooth midi is in MPE mode on my Ipad.
The Lumi app probably set it up this way, and no other application resets that.
Other apps not using MPE should initialize it as multihannel = non MPE.

Maybe you should have a look in that direction.

But now that I have a solution, there is no hurry.
Post Reply