New Chromebook OS Update Breaking Synthesia

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.
Post Reply
Seiwert
Posts: 3

Post by Seiwert »

Game Version: 10.9.5916
OS version: ChromeOS 119.0.6045.212

Hello!

First of all, I have been using Synthesia for over a year now and have really enjoyed the app!

However, I've recently encountered a new issue when connecting to my keyboard and am hoping someone can assist me.

I have a Yamaha YDP-S35 and had been using it flawlessly with my Asus CM3 chromebook. But with this latest ChromeOS update, I noticed two issues.
  1. My folder full of Midi files was no longer accessible. This seems to be due to Synthesia only having access to "Play Files" folder on ChromeOS now. (I have worked around this issue though so not as pressing)
  2. My keyboard no longer worked with Synthesia.
I believe the root issue for both of these problems is there appears to have been more app restrictions put into place with this latest ChromeOS update. With the folder issue, I noticed on some apps they request "Files and Media - All Files" while Synthesia is only requesting "Files and Media - Media". Along these lines, on ChromeOS, Synthesia is not requesting access to USB devices. I believe that is why I am now encountering these issues only with this newest version of ChromeOS (the problems only arose right after updating my device that had been previously working).

The frustrating part of all this though is I tested the Keyboard with my Pixel running Android 14 and everything worked as expected - so this problem is only with ChromeOS. Also, when I plug the piano into my Chromebook it is recognized by the device as potential audio input and output.

Sorry for the novel. Everything had been previously working before so I'm hopeful with a minor app update with additional app permission requests these issues can be solved. More than happy to tests beta builds or debug additionally if need be. Thanks!
Nicholas
Posts: 13170

Post by Nicholas »

Thanks for the detailed report! I prefer a novel over something like a one-sentence description. :)

After the Chromebook update, which version of Android is it running now? (It's a few extra steps to check, sorry.)
Seiwert wrote: 12-19-23 12:00 am... while Synthesia is only requesting "Files and Media - Media"
That's curious. I can't think of anything off the top of my head the app is doing that would only request a subset of files. Although, I have noticed that the Android developers are very persistent about making it as hard as possible to access anything consistently. They have broken Synthesia's ability to find and read files in Android 10, 11, and again in 13. (Not to mention breaking USB-MIDI in 11 and 12.)
Seiwert wrote: 12-19-23 12:00 am... Synthesia is not requesting access to USB devices...
It never has on Chromebook. Since the first Android compatibility layer was added to Chromebooks back in 2016, they disallowed direct USB access of any kind. It was one of the main reasons for adding side-by-side support for the (then) recently introduced Android M MIDI feature where they'd finally built support for MIDI devices right into the OS. I haven't kept up on whether that "no USB" restriction was ever relaxed on Chromebooks, but it's a moot point now because I rather coincidentally spent most of this evening stripping out the custom USB-MIDI driver from the Android version of Synthesia. The next update is going to require at least Android 6 and the "Android M MIDI" feature will be the only supported way to connect devices.

So, for Chromebooks... nothing is changing. They only ever had access to MIDI devices via the support built into the OS and as of tonight, that's the only thing left in the Android version of the app.

I don't have any good hypothesis about what might have changed after the update. I know they've been injecting lots of MIDI 2.0 stuff into the API--now Synthesia's MIDI code gets lots of "this function call has been deprecated" warnings because they want you to use the new version where you have to specify a MIDI version when you e.g., open a MIDI device. That code is definitely being touched by the Android team internally, so it wouldn't surprise me if they broke something.

Out of curiosity (besides the Android version you're running), have you tried any other MIDI-enabled apps after the update? Do any of them work? If this is something Synthesia is doing wrong, I am happy to fix it, but I worry that it might be wider-spread.
Seiwert
Posts: 3

Post by Seiwert »

which version of Android is it running now? (It's a few extra steps to check, sorry.)
No need to be sorry, really appreciate the help!! It is running Android 11
That's curious. I can't think of anything off the top of my head the app is doing that would only request a subset of files.
Gotcha. Yeah this thankfully isn't a big issue as I found a way to work around it. Synthesia still has access to the "Play Files" folder.
So, for Chromebooks... nothing is changing. They only ever had access to MIDI devices via the support built into the OS and as of tonight, that's the only thing left in the Android version of the app.
Copy that
have you tried any other MIDI-enabled apps after the update? Do any of them work?
I have. I tried Perfect Piano and it also did not work - so I don't think this is an issue only with Synthesia.

Even more confusion
My wife also has a Chromebook which has Android 11. Her Chromebook is working perfectly with Syntheisa and the keyboard, just like mine was before. I just checked - she has a ChromeOS update pending. She is currently running 118.05993.124. After updating her chrombook to the same version as mine... hers still works perfectly :oops: . The only difference I see is her Chromebook is on 64bit while mine is 32bit.
Nicholas
Posts: 13170

Post by Nicholas »

Seiwert wrote: 12-20-23 12:12 amAfter updating her chrombook to the same version as mine... hers still works perfectly :oops:
Well, that's not what either of us wanted to hear. :grimace:

The 32 vs. 64-bit difference shouldn't matter. The code is ready for either. (Until just last year, the Windows version of Synthesia was 32-bit only and 99% of the code is shared across all four platforms, so if anything like that were the case I'd hopefully have heard about it years ago.)

Would your wife's Chromebook happen to be the same brand as yours? I know that sometimes it comes down to a flaky hardware vendor with a bad update.

Our #1 most frequent Android crash that shows up on our internal Google dashboard happens when the user adjusts the volume on their device... but only on Redmi/POCO brand devices made by Xiaomi because their final firmware update before a few dozen of their devices went out of support has a bug in the audio section. There is no workaround and there never will be. It's just something we have to wait for users to stop using after they buy a new device. You can imagine how frustrating that is for us and them. With how closed systems are these days, there isn't much any of those users can do.

I'm afraid the answer in this case might be a similar "wait until your next Chromebook update"... which would be awful. Maybe this next build that I push out will have shaken enough things up that it will have incidentally fixed the problem? That would be nice. Going from a minimum target of Android 4.2 up to 6.0 means a lot of the internal bits will end up being built differently and we might get lucky by virtue of all the change.
Seiwert
Posts: 3

Post by Seiwert »

So... Good news! I fixed my issue! Bad news - I feel like an idiot...

A tale as old as time - "have you turned it off and back on again?". Well, I should've listened to this sage wisdom. I power cycled my Chromebook and everything works perfectly now

I don't know why I didn't try this earlier. The thought just kind of occurred to me after all this debugging and digging and yeah - I guess that's all that needed to be done...

@Nicholas - I'm so sorry to have wasted so much of your time on this. I sincerely appreciate all of your help and prompt responses though. All the best to you and thank you for everything you do!
Nicholas
Posts: 13170

Post by Nicholas »

All's well that ends well. :D

I guess it speaks to how frequently these one-off problems have bitten me in the past that it didn't even occur to me to ask about the basic steps first. I think there have been three (or four?) occasions now where it came down to actually buying some old Android thing from eBay to track down a hardware-specific bug. I was nearly at the point of confirming your Chromebook model a second time to do the same for this case. :anxious:

Please let me know if you run into any other trouble.
Post Reply