Updated: 20070922

MKeys

Mkeys is a set of classes that extend the programming language of SuperCollider 3 to allow for quick and easy construction of realtime performance interfaces that utilize the computer keyboard as a primary source of both synchronous and asynchronous input to control a wide range of musical posibilities. The suite of classes primarily sets up the keyboard as an input device, graphically displays the state of the keyboard, allows the user to page through layers of keyboard layouts and is written to allow for a wide range of applications based on your imagination. These classes are meant to be used by SC3 beginners as well as users with advanced ideas about interaction in computer music and are useful in rapid prototyping of instruments and performance configurations. In its simplest incarnation, MKeys can emulate a traditional keyboard to trigger notes or samples, much like a keyboard sampler, though the features of MKeys and SC3 make it well suited to serve as a platform for hyper-instrumentalism (extention of an acoustic instrument) administration or even as the core of a realtime algorithmic composition workstation.

current features:

  • Key trigger events
  • Key trigger derived sequence
  • Key Toggle derived sequence, start, pause, stop, status displayed
  • Toggle continuous event, start, stop
  • Trigger function
  • Toggle functions
  • Change mode, keyboard layer

features in development:

  • Control Model View architecture, allowing for custom GUIs (or no GUI)
  • bind and unbind keys dynamically
  • allow multiple bindings per key
  • Customizable binding behaviors
  • integrate keyup responses
  • record and playback keystroke history
  • Trigger bindings action externally (ie. from an external function or another binding)
  • global display of the number of processes running per mode
  • expand accesibilty of running processes outside MKeys framework
  • global kill of all running processes
  • key grouping, synchronous execution of asyncronous selections
  • calibration tools for external input devices (Midi, HID)

For now, the curent Beta (0.1) is available here under gpl license:

MKeys.zip