Synthesia for Android Beta

Archived development update discussion from past versions
Archived development updates.
thedealman
Posts: 25

Post by thedealman »

Nicholas wrote:The sound delay is an unfortunate property of Android. There are very, very few tablets (like 7 models) that take advantage of the new "low latency audio" features added in Android 4. On all the rest, you end up with something like 1/4 second minimum.
I understand. So how about the ability to "offset" or "delay" the audio by a variable number of milliseconds so I can get the tablet metronome in line with MIDI / what I'm seeing on screen?
Or offset the visuals somehow, but I would think the former solution would be the easiest.

Oh, and the "pinch to zoom" the staff worked great. :)
Nicholas
Posts: 13135

Post by Nicholas »

In the case of a constantly-playing song (like Guitar Hero or Synthesia in rhythm practice), allowing for an audio offset can improve things. But in the case of completely user-driven feedback (like Synthesia's melody practice or new Free Play area)... unless your delay feature can predict the future, you'll always be stuck with the full round-trip time from note input to sound output.

In other games with latency compensation features, they're controlling for something else like display lag. When the round trip from Synthesia requesting a sound be played to it actually being sent out the speakers is so long, there is less that can be done about it.

The best answer (in all cases) is to use a keyboard with an on-board synth. It's not the MIDI messages that are slow... just the sound synthesis on Android (and Windows). Keyboard synths are usually super fast, given that's basically a keyboard's whole job to play sounds the moment you strike a key. So ideally sending output to a keyboard will get you near-instant feedback no matter which platform you're running Synthesia on.
Yasje
Posts: 23

Post by Yasje »

I hope you can help me.

Is there an other way then unlocking feature for playing my own midi files?

Thankyou.
Nicholas
Posts: 13135

Post by Nicholas »

Going forward, that's the way the unlock is going to work on all platforms. The initial download lets you play about 20 songs and the unlock opens it up to any MIDI (and eventually MusicXML) song. The iPad version has worked that way since day 1. The desktop is switching over to that model in the upcoming Synthesia 10 release. And Android is going to follow the same model.

There is some discussion about why this should help clear up confusion and make things easier for everyone, over here.

So the very short answer is "no", but the beta build with in-app unlock is coming soon. Our goal is sometime in the next few days.
Yasje
Posts: 23

Post by Yasje »

Ok thankyou, i already ahve the offcial version on the computer unlock.

Cant wait for the android unlock mode, saves me so much space and so much easier to learn with tablet.

greets
chrisrak11
Posts: 14

Post by chrisrak11 »

For some reason the app won't go fullscreen. Is there a way to hide the soft keys bar at the bottom without root. At the moment it's quite difficult to play the white keys without touching the back, home or recent app button.
Spoiler:
Image
Last edited by chrisrak11 on 12-01-14 4:32 pm, edited 1 time in total.
Timothy
Posts: 9

Post by Timothy »

chrisrak11 wrote:For some reason the app won't go fullscreen. Is there a way to hide the soft keys bar at the bottom without root. At the moment it's quite difficult to play the white keys without touching the back, home or recent app button.
Which Android tablet are you using? Also do you know what version of Android you're running?
chrisrak11
Posts: 14

Post by chrisrak11 »

Hey!
I'm using Asus Memopad FHL 10 LTE (ME302KL - NOT the Intel one) and the version of Android is 4.2.2.

I just noticed that when I open the app the soft buttons disappear and everything is on fullscreen, but as I touch the screen, the bar appeares again and coveres the whole blue bar at the bottom of the screen (the one with the language button and version numbers).
klaypigeon
Posts: 2

Post by klaypigeon »

Just installed. On a Motorolla Xoom running 4.1.2 the graphics are not working so good. Seems like some transparencies?? are not functioning or something. The main menus are just rectangles with no text. Basically unusable. Let me know if I can help.
Timothy
Posts: 9

Post by Timothy »

chrisrak11 wrote:Hey!
I just noticed that when I open the app the soft buttons disappear and everything is on fullscreen, but as I touch the screen, the bar appeares again and coveres the whole blue bar at the bottom of the screen (the one with the language button and version numbers).
If you adjust the volume, do the soft buttons disappear again (temporarily until you touch the screen another time)?
klaypigeon wrote:Just installed. On a Motorolla Xoom running 4.1.2 the graphics are not working so good. Seems like some transparencies?? are not functioning or something. The main menus are just rectangles with no text. Basically unusable. Let me know if I can help.
This is currently a known issue we're having with Tegra 2 devices, thanks for letting us know the Xoom is affected too.
chrisrak11
Posts: 14

Post by chrisrak11 »

Timothy wrote:If you adjust the volume, do the soft buttons disappear again (temporarily until you touch the screen another time)?
Yeah, that's exactly what's happening.

Also I just got an OTG cable and when I connect my Casio CTK-800 absolutely nothing happens... I've been using the same keyboard with desktop version for at least 2 years and everything has always worked neatly.
Other devices work fine with the same cable so what can I do to fix the problem? .
I'm getting a Casio Privia PX-850 in Jan or Feb and now I'm starting to worry if I may not get Synthesia to work with that one either.

EDIT: Just installed the USB Device Info app from the Play Store. Seems that the tablet does recognize the keyboard but for some reason Synthesia can't see it. Don't know if it's any help but here's the screenshot from the app:
Spoiler:
Image

(The picture is pretty large, didn't know how to make it smaller on my tab. You can open it in a new tab.)
A log file just in case:
Spoiler:
[INFO ] 2014-Dec-02 17:08:17 Pre-log:

[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:365: Initializing simple settings system
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SimpleSettings.cpp:206: Loading settings list.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 532 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:372: Starting Synthesia preview-10.0 - r3209
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:373: Built Nov 7 2014 05:33:52
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:378: Running on Android.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:435: Attempting to process the command line.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:467: Initializing HTTP services
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:506: Creating shared state.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'languages' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:194: Loading track settings file.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 551 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:197: Loading bookmarks2 settings file.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 55 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:201: No bookmarks found. Attempting to migrate from v1 bookmarks.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'bookmarks' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:248: Resource not found. Returning empty document.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:205: Loading saved scores file.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 4689 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:208: Loading users.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 44 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:211: Loading song progress cache.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 264 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:214: Loading devices.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 261 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:218: Loading song info.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 650 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:222: Loading song play history.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 465 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:226: Loading watched folder list.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 295 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:230: Loading local auto-saved finger list.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 58 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:234: Loading default input bindings.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'default_bindings_tablet' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/SharedState.cpp:238: Loading current input bindings.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 55 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/DeviceManager.cpp:155: Opening MIDI device (pass=0, id=0)
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/DeviceManager.cpp:155: Opening MIDI device (pass=1, id=0)
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/midi/MidiCommOut_android.cpp:59: EAS: 50727438, 1feda229-b9a8-45e9-96f4-73c0a80e7220
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/midi/MidiCommOut_android.cpp:60: channels: 2, rate: 22050, voices: 64
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'ui' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'colors' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'language' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'metadata_games' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'metadata_gmajor' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'metadata_exercises' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:203: 'metadata_classical' not found.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/UserSettings.cpp:207: File found: 179272 byte(s).
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:513: Checking if MIDI volume is muted or too quiet.
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:541: Initializing FreeImage library
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:544: Using FreeImage version 3.15.4
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:619: Setting state size: 1920x1200
[INFO ] 2014-Dec-02 17:08:17 jni/../../src/main.cpp:670: Creating startup screen.
[INFO ] 2014-Dec-02 17:08:25 jni/../../src/SharedState.cpp:291: Saving out track settings.
[INFO ] 2014-Dec-02 17:08:25 jni/../../src/SharedState.cpp:294: Saving out song bookmarks.
[INFO ] 2014-Dec-02 17:08:25 jni/../../src/SharedState.cpp:301: Saving scores.
[INFO ] 2014-Dec-02 17:08:25 jni/../../src/SharedState.cpp:304: Saving users.
[INFO ] 2014-Dec-02 17:08:25 jni/../../src/SharedState.cpp:307: Saving song progress cache.
[INFO ] 2014-Dec-02 17:08:25 jni/../../src/SharedState.cpp:310: Saving devices.
[INFO ] 2014-Dec-02 17:08:25 jni/../../src/SharedState.cpp:314: Saving song play history.
[INFO ] 2014-Dec-02 17:08:25 jni/../../src/SharedState.cpp:317: Saving auto-saved finger hints.
[INFO ] 2014-Dec-02 17:08:25 jni/../../src/SharedState.cpp:322: Saving input bindings.
Nicholas
Posts: 13135

Post by Nicholas »

It looks like the "Device Class: Vendor Specific (0xff)" line from the USB Device Info might be the culprit. Instead of reporting itself as a MIDI device, it's saying "I'm a Casio... thing". When you used your keyboard with the desktop version, did you need to install a driver from Casio to get things working?
chrisrak11
Posts: 14

Post by chrisrak11 »

Nicholas wrote:It looks like the "Device Class: Vendor Specific (0xff)" line from the USB Device Info might be the culprit. Instead of reporting itself as a MIDI device, it's saying "I'm a Casio... thing". When you used your keyboard with the desktop version, did you need to install a driver from Casio to get things working?
Yeah. I thought It was a common thing to do. I even remember installing drivers for another digital piano Roland HP305 when I tried Synthesia with it just for fun. Do keyboards and digital pianos usually work without drivers?
Nicholas
Posts: 13135

Post by Nicholas »

It depends on the keyboard. Some have an optional driver to access some of the more advanced features on the keyboard. But they'll still usually have a fall-back to a generic MIDI device if you plug it into something that can't use drivers (like iPads or Android devices).

The older Casio models tend to follow what you're running into now: driver required, no fallback. I suppose in their defense, back when the CTK-800 was created, there was no such thing as being plugged into something that can't use drivers. iPads and Android devices didn't exist yet. It was PC, Mac, or nothing.

A good workaround is to use the MIDI ports if a keyboard has them. That's a "universal" language that works everywhere. But glancing at the manual, it doesn't look like the CTK-800 has MIDI ports.

If that particular model uses anything like the generic MIDI standard, we could white-list it to also be detected as a MIDI device in the Android version of Synthesia. (No such luck on iPad.) I wonder how close their protocol is to the generic one.
chrisrak11
Posts: 14

Post by chrisrak11 »

Well. Thank you for answering all those long questions and helping to identify the problem. ;)
I assume it's the Class Compliant USB MIDI what you're talking about. Reading a bit on the Internet I found out that the new PX-850 does use it so I should be fine.
Thorsongori
Posts: 2

Post by Thorsongori »

Hi Nicholas,
i try the Beta Synthesia on a ASUS TF700T with KeyDock Device and with connected Yamaha EZ-220 per USB-Cable and at moment EVERYTHING work very fine. I hope you will finish it next time and my wife will get her IPad back ;)
I bought your Synthesia more than 4 years ago for PC ans later too for IPad Air and if i must i will buy it too for Android because your work is GREAT!!!!! So many fun with it, it is worth every cent.
Timothy
Posts: 9

Post by Timothy »

Synthesia for Android - Beta 5
  • Added in-app unlock functionality.
  • Fixed scaling on some very high resolution devices.
  • Fixed graphical corruption on Tegra 2 devices.
  • Fixed overlapping navigation buttons with devices running Android 4.3 and below.
chrisrak11 wrote:For some reason the app won't go fullscreen. Is there a way to hide the soft keys bar at the bottom without root.
The navigation buttons on devices running 4.3 and below are now faded out but never completely hidden. They should no longer be overlapping anything on the screen or make it difficult to play.
klaypigeon wrote:On a Motorolla Xoom running 4.1.2 the graphics are not working so good. Seems like some transparencies?? are not functioning or something. The main menus are just rectangles with no text.
This issue has been resolved in the new version.
Nicholas
Posts: 13135

Post by Nicholas »

Who will be the first brave soul to confirm whether the in-app unlock works?! :lol:

(Purchases made during the beta will carry over when the official version launches.)
crumbledpaper86
Posts: 2

Post by crumbledpaper86 »

So just to be clear, the Desktop software purchase is separate from the Android software purchase? Or can I active my app with the desktop purchase?
lucaboy
Posts: 1

Post by lucaboy »

Hi,i've an LG G3 (32 GB version with 3 GB RAM) with Android L,but i can't install the app beacuse the play store says that the app is not compatible with my device.How can i do?
Locked