Keyboard Simulator Benchmark

Dan Yocum


The keyboard simulator is a simple graphical representation of a piano keyboard that allows the user to press a key and play the corresponding note. The pressed note is also placed in a musical staff within the program, and the user may replay all of the notes that have been played, allowing the user to create a simplistic musical composition.

This benchmark utilizes several different interface styles. The primary function of the program is to provide both visual and audio feedback to the user that a virtual piano key has been pressed. The user may also insert a note anywhere into the staff, as well as delete old notes. These features are indicative of a direct manipulation style of interface.  The benchmark also uses several menus, which enables it to test the menu interface style. Single character commands (keyboard shortcuts) are also included for more efficient use of the program.

This benchmark is similar to many keyboard and midi simulators found on the market today. CakeWalk, a popular music composition program for Macintosh and Windows, allows the user to press virtual piano keys to compose music. The midikeys program available on IRIX (SGI) platforms is another program which provides a virtual keyboard on which the user can play.

The keyboard simulator benchmark tests the ability of the implementing toolkit to provide semantic feedback to the user in the form of polygon coloring and sound playing using a MIDI interface. The benchmark also tests the ability to directly manipulate the notes through insertion and deletion. The menus and single character commands (keyboard shortcuts) are quite typical of many commercial applications and are direct representations of the menu and single character command interface styles. Since both playing sounds and supporting undo/multiple undo are common features in many modern programs, these features were included to test the capabilities of the toolkit being used to implement the benchmark. The keyboard simulator benchmark also tests the ability of the implementing system to draw different filled and unfilled polygonal shapes.


The figure below shows a sample implementation of the keyboard simulator. 


The program has two main sections:


There are two command menus located at the top of the main window. These menus are:

Note: the keyboard shortcuts refer to a 'Meta-?' key combination, where 'Meta' is the appropriate key for the platform that the benchmark is implemented on, such as Esc, Ctrl, or Cmd, and '?' is the other key, to be pressed concurrently.


Playing a Key Playing Sounds Drawing Notes Multiple Undo Playing a Composition

Features Not Included

In order to keep the number of sounds to play to a reasonable number, the sharp/flat keys on the keyboard are not actually implemented. This restriction also eliminates some of the complicated symbols that need to be drawn in the staff. Since drawing the notes already tests the ability of the implementing system to draw polygons, adding more symbols just complicates the benchmark without adding more testing utility.

Daniel A Yocum