Synthesia on iPadOS 17.2 via BT freezes(?) FP-10

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.
mikiqex
Posts: 8

Post by mikiqex »

Hello,

I was happily using Synthesia on my iPad (9th gen/2019) connected to my Roland FP-10 for the past year. I was using some older iPadOS version, like 16.2, so I've decided to update it to the latest 17.2.

After the update the piano freezes as soon as I start playing imported MIDI (I'd say built-in pieces will have the same problem). By "freezes" I mean nothing changes visually on the piano - all the LEDs are as they were, but no matter what I press (on the piano), nothing happens - no sound, no volume change etc. The only thing that works in a regular manner is turning the piano off.

After a fresh start/restart It usually works fine for a bit in Free Play, but even then the piano plays double notes (one playing right when I press a key and the other fraction of a second later), which I don't think happened before.

I was able to "trick" it for a bit, when I turned the piano off during MIDI play (while Synthesia was waiting for a key press) and turned it on again. After it connected again to the iPad I was able to play. But when I went back in Synthesia to the previous screen and to play again, the piano froze immediately.

I tried several other apps, that use BT MIDI with iPad, all of which them work fine. When the piano is frozen, Roland Piano Partner 2 can pair with the piano, but can't connect to it due to connection problem.

Please let me know if I can help you debug the issue or you need me to document the behavior more. I also appreciate any suggestions what else should I try, although as a fellow dev I've already tried quite few things and combinations, looking for what exactly was wrong and to provide a better bugreport, but to be honest in this case I don't know where to look and for what (never did BT or MIDI).

Thank you.
Nicholas
Posts: 13169

Post by Nicholas »

How strange. Sorry for the trouble.

The most frustrating part about these sorts of things (when it rains, it pours) is that it's been something like 8 months since the last time I pushed an update to either app store and even before that, the MIDI code is one of the least-frequently changed parts. So, when it is routinely broken by the OS vendors, it can be a bit demoralizing.

Also, as a one-person team with limited bandwidth (a lot of it due to putting out the fires that Microsoft, Apple, and Google light for me :lol: ), I will report that BT-connected MIDI isn't on my everyday testing path. I check on it when someone reports a problem, but it's mostly been a fire-and-forget thing that Just Works™ most of the time (especially on the Apple platforms where things tend to be a little less hectic).

It's worrying that you're seeing good behavior in other apps but bad behavior in Synthesia.

Re: doubled notes in Free Play, are you seeing two notes on the screen (i.e., two Note On messages are arriving)? Or are you just hearing two? The latter is usually when a keyboard has been configured to both have "Local" set to "On" and the "My Notes" option selected on the Settings screen. Turning "Local" to off (also available on the Setting screen) will get rid of the first note. Turning "My Notes" off will get rid of the second. Does that at least solve that piece of the problem?

And, as a double-check, you're doing the Bluetooth pairing through the "Bluetooth Settings" dialog right inside Synthesia, right? For reasons I've never understood, pairing the device out in the OS-level Settings app makes it not work. But using Apple's built-in BLE MIDI device dialog (that Synthesia calls with a one-liner) makes it connect and work normally.

In the meantime, reports like these are also disconcerting. (Anecdotally, when I updated my own phone to iOS 17.2, when it came back up the touchscreen was completely unresponsive. The screen worked; I could see the lock screen, but touch input did absolutely nothing. It even persisted through restarts, which were only possible via the secret handshake.)
mikiqex
Posts: 8

Post by mikiqex »

Thank you for your reply. I finally got to try it out, sadly the piano still freezes. I removed the piano from BT devices and paired properly in Synthesia. It didn't connect the piano right after pairing, the piano remained "Disconnected", but after I tried to connect the paired piano again it worked (sorry, in retrospect I can't remember if I turned off/on the piano, BT on the iPad or both).

That probably solved the double notes. I didn't find the "Local" and "My Notes" though, maybe I was looking in wrong section of Settings? The closest what I found was in Gameplay "Notes From My Keyboard", where "Play All" is nice and I can confirm this works for me properly.

Anyway, after pairing I noticed the piano range setting is showing properly keys I play on the piano, but right when I entered Free Play, the piano froze. I was able to get it going again by turning off/on the piano and go back on the "Disconnected" modal dialog in Synthesia. After that I was able to play. Then I exited Free Play and entered a song, the piano froze immediately after I pushed "Continue" on the screen where you pick how you want to practice (the one right before the falling notes screen). After off/on cycling the piano I was able to hear the "Play All" setting I mentioned before, with playing both the correct note and the wrong note I played on the keyboard. So the double notes issue was probably my mistake not pairing right from Synthesia.

Then I went back and into the Settings again to try once again the piano range, and the piano froze even here. So the problem is somewhat consistent, the piano freezes every time on segue to screen with live communication between Synthesia and piano (so to speak). And it looks it may work once right after pairing for some reason.

I want to try to reset iPad network settings, as few people recommended for the other BT issues in iPadOS 17, but I'm going away for a bit and I don't want to mess the iPad up right before the trip :-)

I've noticed you have TestFlight available, but it says you don't offer new invitations at the moment. I was thinking if you have some BT comm logs in the code, it should be possible to see what command makes the piano freeze, like if it's always the same one. Or maybe if you have some barebone iOS "app" for testing BT MIDI...? (not sure what's possible easily put to TestFlight) I understand this is probably a very particular issue in very specific case.

Just a side note, I remembered one issue I had in the past - when I was playing on the piano with Synthesia, sometimes the piano lagged a bit and then played the notes I played in the meantime (during the lag) in a quick succession. It felt like the piano was overwhelmed by inputs and didn't process everything in real time.

Thank you.
Stef231
Posts: 11

Post by Stef231 »

I can confirm that I exactly have the same issue with my iPad 10th gen running on 17.2.1 and a Roland FP-10 piano.

The issue is very easy to reproduce. It e.g. happens every time when I open the „Play a song“ screen. It seems that the BT Midi connection is being initialized in that moment in a non-compliant way.

The synthesia app is also the only app which causes the piano to freeze.

Please have a look into this issue as it is a real showstopper. I cannot use Synthesia any more.

Stefan
Nicholas
Posts: 13169

Post by Nicholas »

mikiqex wrote: 01-07-24 4:01 am... but right when I entered Free Play, the piano froze.
When you say that the piano freezes, do you mean that it becomes completely unresponsive? Like, even to menu-type button presses?

That shouldn't be possible with any external stimulus and makes me think Roland has some bugs to fix. (Do you have the latest firmware for your FP-10?)
Stef231 wrote: 01-19-24 11:02 amThe issue is very easy to reproduce. It e.g. happens every time when I open the „Play a song“ screen. It seems that the BT Midi connection is being initialized in that moment in a non-compliant way.
Out of curiosity, if you head over to Settings --> Advanced and turn off the "SysEx Messages" option there (under "MIDI Data"), does that change the behavior at all?
mikiqex
Posts: 8

Post by mikiqex »

Nicholas wrote: 01-22-24 11:23 am When you say that the piano freezes, do you mean that it becomes completely unresponsive? Like, even to menu-type button presses?
Yes, exactly. Can't change volume, apparently the only thing that works in that state is to hold the power button to turn the piano off.
Nicholas wrote: 01-22-24 11:23 am (Do you have the latest firmware for your FP-10?)
Oh crap, that's quite embarrassing... but I'm SURE I checked it before! It was actually the first thing I went for :-/ And of course, they fixed some BT MIDI issue, incidentally the problem with occasional delayed sound while playing, that I mentioned to you before. I'll update the piano and will let you know if it fixed this issue as well. I'm sorry I somehow missed that.
mikiqex
Posts: 8

Post by mikiqex »

Unfortunately the update didn't resolve the issue.

If you're interested to see it in action, I recorded it: https://files.qex.cz/fp10-synthesia-ipad-issue.mp4

Comments on timestamps
Before recording: Updated piano to the latest firmware, turned on piano, BT connected automatically.
00:00-00:08 - Plays normally, but note the double sound.
00:09 - Launched Free Play, the piano froze
00:17-00:19 - Volume keys doesn't work
00:20-00:34 - Piano restart, enabling speaker (I keep headphones in permanently), you can skip this part :-)
00:34-00:36 - Volume works normally
00:41-00:46 - BT connected automatically and now it works. Note the double sound is gone in Free Play.
00:49-00:54 - Back to Main screen, still works, but the double sound is back. Btw., on some of my tries, the piano froze even on return to the Main screen.
00:57-01:02 - Launched Free Play, the piano froze

I tried the "SysEx Messages" you suggested to Stef231, but I already had it off. Turning it on didn't make a difference.
Stef231
Posts: 11

Post by Stef231 »

Today I updated the iPad to 17.3 Unfortunately, the same issue still occurs. Switching the SysEx messages on and off doesn’t help neither.

@Nicholas: I agree the piano should never freeze. There must be an issue with the Roland firmware, too. I’m already running the latest firmware version v1.06

However, Synthesia is the only app where the freeze happens. It also doesn’t happen with Synthesia on my old iPad mini 4 running on 15.8.1. It seems that Apple has changed some BT Midi coding guidelines from 15.8.1 to 17.3. Reading the Apple developer documentation there have been major changes starting with iPadOS 16: https://developer.apple.com/documentati ... _bluetooth
e.g this function: https://developer.apple.com/documentati ... ivateallco

So I hope that you can fix this issue within Synthesia instead of having to wait for a Roland fix which will most likely never come. I’m happy to be your Beta tester if required.
Bryter5
Posts: 5

Post by Bryter5 »

Hi

Just to confirm I'm having the same issue on my Roland FP30X, connecting with the iPad Air 5 with the recent IOS update.

The behaviour mirrors that described previously. Upon first connecting I'm able to go into settings and the functionality of the application is fine, however as soon as 'Play Song' or 'Free play' is selected, the Piano seems to change into 'OTHER' mode (from piano), at which point it crashes.
No buttons or keys work on the piano and I'm unable to load any other applications using the BT midi (like the Roland application, which still works ok as long as I use it without activating Synthesia first).
The only way to reset is to Power off the piano (hold power key) as it appears the piano is in a crashed state, there is a 'crunchy' speaker sound prior to shutdown which is not typical for the normal behaviour.

Appreciate that this is probably due to the IOS update.

Thank you.
Stef231
Posts: 11

Post by Stef231 »

Quick update:
- Update to latest iPadOS 17.4 has not solved the issue
- No firmware update for Roland pianos available yet
- No update for the Synthesia App available yet
—> The Synthesia app is currently not usable for the latest and often sold Roland pianos FP-10, FP-30X and most likely many others.
@Nicholas: Please have a look into this.
Nicholas
Posts: 13169

Post by Nicholas »

Stef231 wrote: 03-06-24 6:30 amThe Synthesia app is currently not usable for the latest and often sold Roland pianos...
Only when connected via Bluetooth? Or do the keyboards also freeze when connected via USB?

Last month I returned from something like a (9 month?) hiatus/sabbatical and have been putting fires out ever since. This issue has finally crept to the top of the list so I'm hoping to start tracking it down in the next few days. (With any luck I won't have to buy a Roland keyboard for testing...)
Stef231
Posts: 11

Post by Stef231 »

@Nicholas: I have bought an USB-C to Midi cable today. Yes, the piano also freezes when using a USB cable connection.

I have also found out that I can use the piano as input device for Synthesia without issues. But as soon as I activate „Send output to the piano“ in the settings the piano freezes immediately after clicking the „back“ arrow.
Bryter5
Posts: 5

Post by Bryter5 »

Hi

Is there any update on a fix for this please?
It's been unusable for quite a while now. It only seems to be Synthesia app affected, Roland, YouTube etc all use the BT link and work ok

Thanks
Nicholas
Posts: 13169

Post by Nicholas »

Alright, I haven't been able to reproduce this with my non-Roland BLE test hardware. In an effort to avoid buying more digital pianos for testing that will live in a closet 95% of the time, I've just added some features that should help us narrow down what's causing the problem.

I just pushed a new iPad build to TestFlight (instructions for getting beta builds here) that should show up as Synthesia 10.10.5962 at the bottom-right corner of the title screen. Among a few other things, there is the following new feature:

• Settings --> [output device] --> MIDI Reset.

That's a new submenu that breaks down all of the things that happen when switching between screens. Each one can be individually toggled. (If you turn them all off then nothing happens between screens and the Roland keyboards should stop freezing!)

These used to be global settings that were only available via the configuration window in the PC/Mac versions (and inaccessible in the tablet versions) of Synthesia. This update makes them per-device and accessible everywhere.

In any event, if you guys could try out various combinations of the options that are enabled by default there, we should be able to find out which one is causing the Roland keyboards to freeze. Ideally I'd like to turn off as few of those by default as possible. There are good reasons for each one of the defaults, so hopefully it's just one that is causing the problem and not too much will have to change.
mikiqex
Posts: 8

Post by mikiqex »

I can confirm with everything off it works, next time I'll have more time, so I'll play around with the switches to find the culprit (I wouldn't mind if somebody will beat me to it :) Anyway, thanks so much for the update.
mikiqex
Posts: 8

Post by mikiqex »

And the winner is...
Spoiler:
Set channel volumes to default
Tried several times, works (I mean doesn't work ;-) like a charm. I did a nice small piano session with everything else enabled, no problems whatsoever.
Nicholas
Posts: 13169

Post by Nicholas »

Awesome, thanks for taking the time to investigate the choices. Channel volumes are probably the most niche entry in the list so I'm the least sorry to see it go. It's probably easiest to just disable that reset option by default for all keyboards.

Really, the only time it does something useful is if the MIDI song you're playing decides to adjust a channel's volume via a CC message. In practice this feels fairly rare. Most songs simply adjust the velocity of each note instead of actually changing the whole channel's volume. In the off-chance that someone bumps into a song that actually uses one of those, the workaround will just be to re-enable that reset option for their device (assuming it's not a Roland keyboard with this firmware/freezing bug).

So, consider this fixed in the next update. Thanks again!
Stef231
Posts: 11

Post by Stef231 »

Thanks a lot. Quick update, I have to switch off three settings:
-‚All Controllers Off’ on all channels
- Set channel volumes to default
- Set channel programs to default

Then it is working fine on my FP-10
Nicholas
Posts: 13169

Post by Nicholas »

Hmm, strange that it'd be two different answers for (two different?) Roland keyboards.

Did you try each of those independently? Like, turning all of the options off and then only enabling Channel Programs will still cause your FP-10 to lock up? That would be unfortunate because that's the most important/helpful one in the list, so it's not something I'd like to disable by default. :?
Bryter5
Posts: 5

Post by Bryter5 »

Happy to confirm this working for me.
FP30X and iPad Air5

However, the options for me are.

Either turn off - Set channel volumes to default
OR
Turn off - Any two of the other options which are green by default (top 5 settings)!? ... This also works.

Process
Change settings, go into free play, make sure it responds.
Reset keyboard and check free play again.

When it doesn't respond check settings are still in place.

This seems slightly odd to say the least..

Thanks
Last edited by Bryter5 on 04-23-24 3:47 pm, edited 1 time in total.
Post Reply