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)