Interactivity & visualization

Keyboard input

  • Computer Keyboard Input — Demonstration of receiving computer keyboard events and using them to play notes based on the key number.

  • Notating Computer Keyboard Input — Same as Computer Keyboard Input, except that a metronome is playing back while the user plays notes with the keyboard, and the result is rendered as music notation.

  • Key Plane — Maps the computer keyboard onto a 2D grid of pitches with scamp_extensions’ KeyPlane; each key press starts a flute note whose pitch and volume come from its row and column. (needs scamp_extensions)

Mouse input

  • Mouse Input — Demonstration of receiving computer mouse events and using them to play notes based on x and y position.

  • Indispensability — Mouse position controls a rhythmic texture based on Barlow’s beat indispensability (barlicity extension). (needs scamp_extensions)

MIDI input

  • Live MIDI input and output — Demonstration of receiving and sending live midi input to and from a midi keyboard.

  • MIDI Keyboard Mapper — A script written at the request of Paul Timmermans, in which different pitches or ranges of pitches on the keyboard can be mapped to particular instruments and chords.

Responding to a GUI

  • Qt Interactive — A draggable PyQt rectangle drives live playback in a server session.

Visualization

  • Conway’s Game of Life (pygame version) — Conway’s Game of Life sonified, with a pygame window used for visualization instead of matplotlib. (needs scamp_extensions)

  • Barlicity — A large interactive piece built on harmonicity and indispensability (barlicity extension), with multidimensional-scaling visualization in Qt. (needs scamp_extensions)

  • Leaf Loops — Generative process behind Marc Evanstein’s “Leaf Loops” for violin and viola. (needs scamp_extensions)