Limitations

In spite of the amazing things this application can do, there some physical limitations on what can be done. Yet there are many ways of overcoming such limitations.

The Typing-keyboard

A big reason for being able to play chords on the numeric-keypad, and melody on the main keyboard keys, was to overcome the limitations of typical typing keyboards. It does this by requiring fewer keys to be pressed (and held down) together.

By using the chords-and-melody approach, you seldom need to exceed a single melody key, and a single numeric-keypad key pressed at the same time, so the keyboard you already have can handle it.

With most keyboards, you can play multiple melody notes at once (having multiple keys depressed simultaneously), yet the typical typing keyboard was, after all, designed so that a typist could type one character at a time. So unfortunately, there are cases where certain combinations of keys cannot be played together.

If you would like to go beyond these limitations, allowing many more keys to be pressed (and register) simultaneously, a cheap and easy way of doing this, is to plug-in an additional USB typing keyboard (one for each hand). This also gives you 'piano 4-hands' capability.

Another (better) solution is to purchase a keyboard that supports more simultaneous key-presses.

Computer gamers have dealt with this keyboard limitation for a long time, and there are a lot of keyboards manufactured for gamers, that can support our need for higher numbers of simultaneous key-presses.

For information on keyboards with this capability, click on the following link:

Keyboards With High Simultaneous Key-Press Capabilities

Keyboard-Keys Dedicated To Operating-System (Or Java) Functionality

Another keyboard limitation is the fact that there are a number of keys used for controlling the operating system, or the application, and these keys are thus not available for use in playing music.

For example, there is no performance-panel for F11, because that function key is used (in Java/Swing) for toggling between full-screen, and normal screen.

On Macintosh®, you will have to change the way the system is configured to use function-keys, in order to use the higher-numbered function-keys.

Still, in spite of the needs of the operating system and/or the Java graphical user interface, there are more than enough keys left over for playing music, giving you almost 7 octaves worth of notes.

Melodies Passing From One Keyboard-Row To Another

Another difference of using a typing keyboard, is the transition that occurs when a melody hits the end of a keyboard row, and transitions to use the next row. The application overcomes this limitation by using a zig-zag arrangement of keys, allowing you to always play the melody with one hand, with the other hand free to play chords, or manipulate MIDI controls.

Experience has shown that it is easier to deal with the opposite directions of successive keyboard rows, than the complex, two-handed fingering that is required when a tune transitions to another row, when using a strictly left-to-right arrangement.

On laptop computers, the numeric keypad (used for playing chords) occupies nearly half of the keyboard.

You could live with it by re-mapping the keyboard with shorter rows, but it is better to simply attach a full-size typing-keyboard to the laptop via a USB port. That way, you get longer keyboard rows, avoiding many cases of more-complicated fingerings required for keyboard-row transitions. It also gives you a dedicated numeric-keypad.

Note that the multiple keyboard rows situation can also be an advantage, since you can with just one hand, play high notes and low notes. Your one hand can simultaneously play the highest note on the keyboard, and the lowest note on the keyboard.

Window-Focus Using the Typing-Keyboard

When transforming a typing-keyboard to a music keyboard, one of the KeyMusician Keyboard performance panes must have focus (be highlighted on the screen) in order for your key-strokes to become musical notes. Otherwise, your key-strokes are being sent to some other program or application.

The integrated MIDI-player helps with this by automatically transferring focus to the main KeyMusician Keyboard dialog when you click the “Play” or “Resume” buttons. Likewise, the numeric-keypad / chords dialog (though you can play chords using the mouse), immediately returns focus to the performance pane of the main dialog, so no keystrokes are lost.

Latency Using Software Synthesizers

When connected to a VST instrument, a sound module, a MIDI-equipped synthesizer/piano, or a sound-card that has a hardware synthesizer (such as the Soundblaster, or Audigy sound-cards), this limitation does not exist.

If, on the other hand, you need to use software on the computer to synthesize the sound, the delay between pressing a key, and when the note sounds (called latency) can be a problem.

The Java Sound Synthesizer, and other software synthesizers, can cause problems because of this, making it harder to play a piece – especially if there is a lot of latency. Excessive latency causes you to play slower than you would otherwise play.

On Linux, there are several software synthesizers with low latency, such as Fluidsynth (Qsynth), and ZynaddsubFX. On Windows, you can use VST software instrument plug-ins that have little or no latency.

On Macintosh, the Java 1.6 “Java Sound Synthesizer” has very low latency, which is good, but you can't load modern '.sf2' soundfonts into it, which is a limitation. It also can't handle very many simultaneous instrument sounds, which limits the complexity of pieces you can play on it using the MIDI player.

A better alternative using Mac OS X, is to use VST software instrument plug-ins, which have little or no latency. There are also free software players that use soundfonts, namely “AU Lab” and “Simple Synth”. There is also a better VST instrument soundfont player (the Bismark BS-16) which can be used.

If you're using a desktop computer, you can avoid the latency problem by getting a sound-card having a hardware synthesizer, such as the Soundblaster Live, or Audigy cards, which use the emu10k1/emu10k2 synthesizer chip.

These sound-cards provide four complete hardware synthesizers, giving you the capability of playing 64 different instrument sounds simultaneously, which is nearly an entire symphony orchestra!

Unfortunately, these sound-cards cannot be used on a laptop.

Sound-font Support

On Windows®, the built-in software synthesizer uses a sound-font which is adequate, but not the best quality. Also, even if a sound-card having on-board synthesizers is used (see above), this same lesser-quality sound-font is used.

A good alternative using Windows, is to use a VST software instrument soundfont player, such as the Bismark BS-16, which has little or no latency, and can use soundfonts of your choosing.

If you have a sound-card having a hardware synthesizer, such as the Soundblaster Live, or Audigy cards (which use the emu10k1/emu10k2 synthesizer chip), you can get around this by installing the free kX Project software, which allows you to load soundfonts of your choice, which can be much better quality.

On Macintosh®, the Java Sound Synthesizer they supply does not allow you to load sound-fonts, or even to query its instrument-definitions, but it is a low-latency synthesizer, which is good, in that respect. It does have a limitation in the number of simultaneous notes it can play, but overall, it is a good, low-latency software synthesizer.

You can play the GarageBand instruments (which have little or no latency) using the KeyMusician Keyboard.

To use soundfonts, a better alternative on Mac OS X, is to use AU Lab or SimpleSynth. You can also use a VST soundfont player instrument plug-in (such as the Bismark BS-16) in GarageBand, with little or no latency.

On Linux, you have a lot of MIDI software (including sequence-editors), available for free, and Linux itself is free.

With Linux, you can also successfully use slower machines, having less memory. And you can dual-boot Linux with your other operating system.

Back to Index

Next Documentation Page