Using Chromebook For Running The KeyMusician Keyboard
We tested the KeyMusician Keyboard application, on an Acer Chromebook 15, which has an Intel processor, dual-core, with a normal speed of 1.6 gigahertz, and a maximum speed of 2.6 gigahertz. It has 4 gigabytes of RAM.
It was fast enough to render quality sound from the soundfonts used, at least while using the KeyMusician Keyboard by itself. Advanced capabilities, such as composite voices (a way we provide on Linux for doing sounds beyond what is available in soundfonts), did cause some audio-dropouts, especially when using KMK within Chromebook (option 1 below).
The CPU speed of your Chromebook is definitely something you have to consider, since the normal way of making it work on slower machines, is to use JACK (qjackctl), and in options 1 and 3 below, I could not get JACK to work with Chromebook hardware.
That means you’re limited to using PulseAudio (in options 1 & 3), so you probably need a CPU speed of at least 2 Gigahertz, to avoid audio-dropouts.
We started with the more typical installation on a Chromebook, then tried options requiring Developer Mode, and finally, even a firmware update.
The Chromebook software has improved somewhat for using the KeyMusician Keyboard on it, so we provide detailed, step-by-step instructions on doing it, in the installation instructions.
The information in this article should enable a reasonably competent Chromebook user, to install and use it, with the aid of a few Internet searches. In doing such searches, it’s helpful to include your particular Chromebook model, or you may get old information that isn’t necessarily applicable to your machine.
Beware of things you find searching, that are very old, such as 2012. Things have changed a lot since then.
Here is a summary of my testing results:
1. Installing KMK As A Linux Application Within Chromebook
You can enable the "Linux (beta)" option in the Chromebook settings, and it will install a Linux environment within your Chromebook, into which Linux applications can be installed.
I found the following web-page helpful in learning how to do that:
How to Enable Linux App Mode on Chromebook
After doing that, you can sign-in to the KMK member page, navigate to the “Installing The Application” pages, and click on the “Installing on Linux” page.
On that page, download the (Linux) Debian package of the KeyMusician Keyboard to your Downloads folder. If you double-click on that downloaded Debian package, it will install the KeyMusician Keyboard (along with its normal dependencies) into the Linux environment on your Chromebook.
You can also use Qsynth (one of the installed dependencies), configuring it to use PulseAudio, to improve KMK's performance in that environment.
The KeyMusician Keyboard, running under Linux (Beta), on a Chromebook, along with Qsynth
The problems observed in running KMK this way, were:
The graphics rendering of the KMK windows may be poor - probably enough to make it unusable. This may not be the case for all Chromebooks - especially if turning-on hardware graphics acceleration helps (it initially didn't on my Chromebook). This is a bad problem, because you can’t trust it to accurately display the notes you’re playing. In some cases, a window might be displayed with parts of it missing, which are only filled-in if you move the screen cursor over the missing areas. A ChromeOS update in mid-April, 2020, fixed this problem on my Chromebook.
System security constraints prevent use of the Help buttons. This is because KMK is not allowed to run the Internet browser to display its Help and Tutorials files. To work-around this, you would have to browse the Internet to the Help and Tutorials web-pages, on the KMK member page. In this mode, you need to find the information you’re looking for, from its index.
The KMK application can’t intelligently position the five KMK windows. You can work-around this, by manually arranging the windows after it initializes.
No text is displayed in the title-bar. Normally, the application displays useful information in the title-bars of its windows.
JACK (qjackctl) does not work within this environment, so you can't use it to reduce latency, or to connect MIDI devices.
It isn’t possible to connect a MIDI keyboard, or interface. Any external MIDI device within this environment, doesn’t appear to be supported by ChromeOS.
Running KMK in a virtual box (the Linux environment), adds latency (the delay between hitting a key, and hearing the note), to where it is barely tolerable. Excessive latency makes playing fast music phrases difficult. It also makes the software running under it to run slower, so even a 2 Gigahertz speed may not be enough to avoid audio-dropouts.
Running Qsynth in the Linux environment (configured to use PulseAudio), and configuring KMK to use Qsynth, will reduce the latency. The “Improving Your System” member pages for Linux, show you how to configure Qsynth.
Using Qsynth, means you have to first start Qsynth (using the launcher), then start KMK (using the launcher) each time you use the KMK.
2. Installing A Linux System Within Chromebook
I installed a Linux system inside ChromeOS, which can be switched-to, or back from, ChromeOS. This feature is called "crouton". To use this feature, requires that Developer Mode be turned-on. Doing this may void your Chromebook warranty.
The amount of latency observed in this mode, is normal for Linux, and is is less than (better) than on Windows. The latency is so small, that you can even use the Java Sound (Gervill) Synthesizer that comes with it, rather than having to use Qsynth. Also, it runs with the full CPU speed of the machine, so audio-dropouts are avoided, even in advanced usage, such as composite voices.
Using this option requires that you first turn-on the Linux (Beta) option in your Chromebook, because it uses that environment for its sound. If you neglect this, you may not have any sound in your Linux system installed this way.