Jump to content

Keykit

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Uncle Roy (talk | contribs) at 22:57, 11 April 2017 (Disambiguated: RewireReWire). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

KeyKit
Developer(s)AT&T / Tim Thompson
Operating systemWindows, GNU/Linux
TypeProgramming language, Music/MIDI
LicenseFree for non-commercial use
Websitehttp://nosuch.com/keykit

KeyKit is a graphical environment and programming language for MIDI synthesis and algorithmic composition. It was originally developed by Tim Thompson and released by AT&T.

Overview

Tim Thompson is a software engineer and the originator of various software titles, including Keykit and Stevie (predecessor of the now widely distributed and popular text editor Vim). Keykit (originally named "Keynote") was developed by Thompson in his spare time while he worked for AT&T, though it was not related to his actual job there. Keynote was originally released through the AT&T Toolchest, and in 1995 was released as KeyKit with a license making it freely available for non-commercial use.

Keykit is noteworthy for its versatility and expressiveness. Complex algorthmic arrangements can be produced with as much detail and sophistication as required, and the software works on multiple platforms and operating systems. It is not dependent on peripherals or sound cards from a specific vendor. These are unique advantages over similar "music workstation" products with the same or similar functionality for algorithmic composition and computer generated music.

Language features

  • variables, functions, classes, and dynamic typing
  • supports object-oriented programming
  • always-active MIDI recording
  • multi-tasking environment
  • library functions and classes (both built-in and user-definable)
  • multi-platform multi-os and not dependent on specific peripherals

GUI features

Features:

  • GUI-based multi-track sequencer
  • pop-up context menus
  • built-in and user-definable "tools"

Limitations

  • interoperability: no support for COM/OLE, Jack, VST, ReWire
  • no support for audio processing (MIDI only)

See also