Topic: Running Pianoteq on Android.

Hello,
by using GNUroot, it is possible to install a linux distribution (I used Debian, but there are others) and execute linux applications on your phone or your tablet running Android. This should not be a big surprise since Android IS linux afterall. So, since modern phones are powered by an ARM CPU usually much faster than Raspberry Pi or other single board computers. Recent phones have also support for USB MIDI devices and Pianoteq is available also for ARM systems, so I did some experiments. However, I think that it should be possible to run the same thing also with x86-android.

If you are using a phone, probably the first step is to get an USB OTG cable for connecting with your external keyboard.
I connected the keyboard with my LG G5 SE and I verified the connection with the MIDI device with FluidSynth: midi events are received correctly and notes are played, so I think that the link with hardware is ok.  If you have a tablet with builtin USB host ports, you can avoid to get this cable and just connect the MIDI keyboard in this preliminary step.

Then, you can install your linux distribution and the graphical desktop by using GNUroot. This should be quite easy because the entire process is automatic. When the process finished, I had only to write "apt-get install p7zip-full" for getting the tool for unpacking Pianoteq. You can eventually install additional packages in the same manner you will do in a linux PC. If you can, don't forget to use WIFI when APT will get the packages from the internet!

Finally, get your Pianoteq for linux, unpack it with p7zip and run it with bash.
And here, unfortunately, the problems started when I tried to run Pianoteq into this environment.
It simply writes "permission denied" into xterm, at the moment I don't understand if it happens because it wants a library not yet installed or there are other reasons.

Did somebody already tried to run Pianoteq inside android?
Are there some particular dependencies to be met for running the software on linux?
Thank you very much for your time.

Sincerely.

Re: Running Pianoteq on Android.

It's interesting to follow the topic ..

Re: Running Pianoteq on Android.

I had this on an Linux ARM build when the midi device was missing.

Re: Running Pianoteq on Android.

Since it did not work, I installed the entire lxde desktop.
But unfortunately, I still cannot run pianoteq.

Nothing happens when I double click on the executable with pcman file manager.
Launching from the terminal still prints "permission denied".
Command uname returns "arm7l" which should be 32bit and so it seems correct.
The strange thing, when I try to launch it from the terminal, is that the file does not even seem to be recognized as a compatible executable, because when I type the TAB key for autocompletation, it writes "Pianoteq 6 STAGE.lv2". "Pianoteq 6 STAGE" is skipped.
With chmod I verified that the files have all permissions.
Obviously, I'm trying the files in the "arm" directory of the evaluation copy.
libasound2 and pulseaudio are also installed.

Thank you very much.
Sincerely.

Last edited by carlo_bra (11-07-2018 09:04)

Re: Running Pianoteq on Android.

Can you post the output of "ls - l /dev/snd"
(run in terminal)?

Last edited by MrRoland (11-07-2018 09:13)

Re: Running Pianoteq on Android.

MrRoland wrote:

Can you post the output of "ls - l /dev/snd"
(run in terminal)?

This command also gives me "permission denied".
After many experiments, I'm going think that perhaps there are some privileges of the current user that are not allowed by default...

Sincerely.

Re: Running Pianoteq on Android.

Hey Carlo,
Just wanted to ask if you experimented further? I have no Android Tablet at the moment, but it would be very nice to be able to run pianoteq on such a device.
From your messages, it seems that you just don't have root privileges, doesn't seem to me like a pianoteq problem. The developers of GNUroot seem to have developed a new app : Userland. It probably won't have the best performance being a virtual machine on a tablet, but maybe you could try it?

Re: Running Pianoteq on Android.

Hello,
It also seems to me that my problems were related to some kind of problems with permissions, but unfortunately I was not able to understand them.
Now I installed this UserLAnd application, but I did not tried yet. Excuse me, but what do you mean with "virtual machine"? Is it something like QEMU?

Actually, I could see with my eyes that an entry-level phone/tablet SnapDragon 820 or 835 with DDR4 memory is incomparable to a Raspberry PI 3 and other similar low cost solutions, there is a completely different execution power between them. So, I still hope that it will arrive one day...

Re: Running Pianoteq on Android.

Hello,
I tried UserLAnd yesterday evening and something different happened.
After I have installed alsa-utils with apt-get, this time the executable STARTED!

First try: since I'm using SSH, the program printed on the console:

No display available. Use the --headless option in order to run without a GUI.

Second try: I run with the --headless and after about 3 seconds it printed:

ALSA lib seq_hw.c:466: (snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory.
Pianoteq 6 STAGE: seq.c:1153: snd_seq_nonblock: Assertion 'seq' failed.
Aborted.

I tried to access to /dev/snd with the "ls" shell command, but it refused.
It is running like if there is not a kernel module loaded, and unfortunately I could not find any useful information on the github page of the project.

I have to say that I also tried to run with VNC server in addition to SSH, I got the same message, but it can also start without the --headless option.

That's an interesting progress anyways.
If somebody has some suggestions, I can do more tests.

Sincerely.

Re: Running Pianoteq on Android.

It also looks like that the most important feature for people who wants to use UserLAnd with Pianoteq (USB Host/OTG) has been put in low priority list:

https://github.com/CypherpunkArmory/UserLAnd/issues/336

Although this is the first tool able to start the executable, it will require some time before it will able to run.
Perhaps, it will be easier that we will see Pianoteq compiled with NDK rather than glibc before this will happen, which will be the best thing however.